随笔-6  评论-2  文章-0  trackbacks-0

Using check-case-insensitive.py on Windows

Do not use this script anymore, use case-insensitive.py which is far more efficient.

Get these files:

Then:

  • Install Subversion 1.2.3
  • Install Python 2.3.5
  • Unzip svn-win32-1.2.3_py.zip
  • Copy the unzipped directory svn-win32-1.2.3 to inside directory C:\Python23\Lib\site-packages\
  • Copy all DLLS from C:\Program Files\Subversion\bin\*.dll to C:\Python23\Lib\site-packages\svn-win32-1.2.3\python\libsvn\
  • Copy the file check-case-insensitive.py to directory c:\svnrepo\hooks\
  • Edit definition of SVNLIB_DIR in file check-case-insensitive.py to
    SVNLIB_DIR = r"C:/Python23/Lib/site-packages/svn-win32-1.2.3/python/"
  • Add/Create the file c:\svnrepo\hooks\pre-commit.bat containing these lines:
    c:\python23\python c:\svnrepo\hooks\check-case-insensitive.py %1 %2
        if errorlevel 1 goto :ERROR
        exit 0
        :ERROR
        echo Error found in commit 1>&2
        exit 1
        

Test by checking out a repo to two different directories

Create, add, and commit a file with an UPPERCASE name in first directory

Create, add, and commit a file with a lowercase name in second directory

The second commit will fail with this message:

Adding         sales\sale1.cpp
Transmitting file data .svn: Commit failed (details follow):
svn: 'pre-commit' hook failed with error output:
Case conflict: svnrepo/acme/trunk/sales/sale1.cpp
Error found in commit

Delete the UPPERCASE file with an "svn rm svn://.." command

The second commit can now go through

Thanks to xnooby for working this out and posting these instructions to the mailing list.

posted on 2008-09-02 18:31 vls 阅读(248) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: