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