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.