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.

Tue, 2005-10-04 14:01
( categories: )

case-insensitive.py for Windows not working

I have the same problem as the person has at
http://subversion.open.collab.net/ds/viewMessage.do?dsForumId=4&dsMessageId=1214

I am using TortoiseSVN 1.4.8 and installed all the rest required softwares as mentioned in the post instructions above.

I am new to python, hence not able to run the python hook script.

How should I validate the hook script is getting invoked?

Thanks,
Suresh Rathod.

Locales

Have you followed the thread you mentioned at subversion.open.collab.net? It tells you how to find out which locales are available on your machine, if you change the en_GB to your locale it might solve your problem.

If you do what it says in the above article from "Test by checking out a repo to two different directories" onwards you will know if it is working.