You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by "Oefelein, Martina" <Ma...@dionex.com> on 2007/03/15 15:46:03 UTC
check-case-insensitive.py: Adding to large folders takes a long time
Hi
I have a problem with the check-case-insensitive.py pre-commit hook script on Windows. Adding a folder to the root of the repository or to a large folder (like the root folder of our main project) takes a long time (I stopped it after over an hour).
We are normally the repository over http. I made a test using the file: protocol and pressed Ctrl+C after a while to get this python traceback:
----------
E:\SvnRepos\Chromeleon>svn mkdir file:///E:/SvnRepos/Playground/test -m "test"
svn: 'pre-commit' hook failed with error output:
Traceback (most recent call last):
File "E:\ServerTools\check-case-insensitive.py", line 305, in ?
core.run_app(CheckCase, os.path.normpath(sys.argv[1]), sys.argv[2])
File "E:\Python24\Lib\site-packages\svn\core.py", line 217, in run_app
return apply(func, (_core.application_pool,) + args, kw)
File "E:\ServerTools\check-case-insensitive.py", line 232, in __init__
tree = self.look.cmd_tree(changedroot)
File "E:\ServerTools\check-case-insensitive.py", line 92, in cmd_tree
return self._print_tree(Editor, rootpath, base_rev=0)
File "E:\ServerTools\check-case-insensitive.py", line 126, in _print_tree
e_ptr, e_baton, authz_cb, 0, 1, 0, 0, self.pool)
File "E:\Python24\Lib\site-packages\libsvn\repos.py", line 223, in svn_repos_dir_delta
return apply(_repos.svn_repos_dir_delta, args)
File "E:\Python24\Lib\site-packages\svn\delta.py", line 57, in apply_textdelta
def apply_textdelta(self, file_baton, base_checksum):
KeyboardInterrupt
Error found in commit
----------
I think this is a bug, as only a single folder name has to be checked, but the hook script is apparently walking a large tree (entire repository).
Our environment:
Server:
Apache/2.0.59 (Win32) SVN/1.4.0 DAV/2
SVN version 1.4.0 (r21228)
check-case-insensitive.py r21262 (current)
Clients
svn, version 1.4.0 (r21228)
svn, version 1.4.2 (r22196)
TortoiseSVN 1.4.3, Build 8645
Repository:
5.02 GB
241439 files
120696 revisions
7 folders in the repository root.
pre-commit.bat:
----------
E:\Python24\python E:\ServerTools\check-case-insensitive.py %1 %2
if errorlevel 1 goto :ERROR
E:\Python24\python E:\ServerTools\log-filter.py -t %2 %1
if errorlevel 1 goto :ERROR
exit 0
:ERROR
echo Error found in commit 1>&2
exit 1
----------
ciao
Martina
RE: check-case-insensitive.py: Adding to large folders takes a longtime
Posted by "Oefelein, Martina" <Ma...@dionex.com>.
Hi Nathan,
Thanks. I'll check it out.
For now, I worked around it by temporarily disabling the hook while adding the folder.
"Large folder" meant that I saw it on the root folder and on a folder which contains over 90% of all files in the repository.
ciao
Martina
-----Original Message-----
From: Nathan Kidd [mailto:nathan-svn@spicycrypto.ca]
Sent: Thursday, March 15, 2007 5:14 PM
To: users@subversion.tigris.org
Subject: Re: check-case-insensitive.py: Adding to large folders takes a longtime
Oefelein, Martina wrote:
> I have a problem with the check-case-insensitive.py pre-commit hook
> script on Windows. Adding a folder to the root of the repository or to a
> large folder (like the root folder of our main project) takes a long
> time (I stopped it after over an hour).
I'm not sure what "large" means in this context, but the last time I
tried check-case-insensitive.py it had serious performance problems
because it was doing a recursive svnlook from the base-most modified URL.
Try case-insensitive.py instead -- performance is much better.
http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/case-insensitive.py
-Nathan
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: check-case-insensitive.py: Adding to large folders takes a long time
Posted by Erik Huelsmann <eh...@gmail.com>.
On 3/16/07, Martin Tomes <li...@tomes.org> wrote:
> Nathan Kidd wrote:
> > Oefelein, Martina wrote:
> >> I have a problem with the check-case-insensitive.py pre-commit hook
> >> script on Windows. Adding a folder to the root of the repository or to
> >> a large folder (like the root folder of our main project) takes a long
> >> time (I stopped it after over an hour).
>
> Is it time to remove check-case-insensitive.py from contrib? I wrote it
> and I feel embarrassed that it is still in the repository!
Martin,
Please send your proposal to the dev@ list and which alternatives
there are now (and why they are better!).
I'm sure we will remove it in favor of a better solution.
bye,
Erik.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: check-case-insensitive.py: Adding to large folders takes a long
time
Posted by Martin Tomes <li...@tomes.org>.
Nathan Kidd wrote:
> Oefelein, Martina wrote:
>> I have a problem with the check-case-insensitive.py pre-commit hook
>> script on Windows. Adding a folder to the root of the repository or to
>> a large folder (like the root folder of our main project) takes a long
>> time (I stopped it after over an hour).
Is it time to remove check-case-insensitive.py from contrib? I wrote it
and I feel embarrassed that it is still in the repository!
--
Martin Tomes
echo 'martin at tomes x org x uk'\
| sed -e 's/ x /\./g' -e 's/ at /@/'
Visit http://www.subversionary.org/
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: check-case-insensitive.py: Adding to large folders takes a long
time
Posted by Nathan Kidd <na...@spicycrypto.ca>.
Oefelein, Martina wrote:
> I have a problem with the check-case-insensitive.py pre-commit hook
> script on Windows. Adding a folder to the root of the repository or to a
> large folder (like the root folder of our main project) takes a long
> time (I stopped it after over an hour).
I'm not sure what "large" means in this context, but the last time I
tried check-case-insensitive.py it had serious performance problems
because it was doing a recursive svnlook from the base-most modified URL.
Try case-insensitive.py instead -- performance is much better.
http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/case-insensitive.py
-Nathan
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org