[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

check-case-insensitive.py: Adding to large folders takes a long time

From: Oefelein, Martina <Martina.Oefelein_at_dionex.com>
Date: 2007-03-15 16:46:03 CET

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
Received on Thu Mar 15 16:46:38 2007

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.