martinto in subversion

Approved by: dlr

In r23892 the check-case-insensitive.* hook scripts were removed.

* www/tools_contrib.html

Indicate that the hook script has been

removed from trunk.

Remove deprecated scripts and improve documentation for replacement







Add usage instructions for Unix like and Windows systems.

* contrib/hook-scripts/

Output the 'clash' text as utf-8, previously ascii was used and

non-ascii characters in files names caused the error message at the

subversion client to read 'svn: General svn error from server'.

Non ascii names such as Àbc.txt and àbc.txt are now displayed at

the client when they clash.

* contrib/hook-scripts/README


dir_delta requires char * arguments, it could be passed a Python unicode

string which caused an exception to be thrown.

* _print_tree

UTF-8 encode rootpath parameter to dir_delta.

Pre-commit hook that stops case insensitive collisions.

This script can be called from a pre-commit hook on either Windows or

a Unix like operating system. It implements the checks required to

ensure that the repository acts in a way which is compatible with a

case insensitive file system.

When a file is added this script checks the file tree in the

repository for files which would be the same name on a case

insensitive file system and rejects the commit if there is a match.

* tools/hook-scripts/

Added new script.

* tools/hook-scripts/

Added 'deprecated' comment.

* tools/hook-scripts/README:

Updated script descriptions.

Fix a bug in the pre-commit hook script that is prevents case collisions,

which would allow a transaction to add 2 files which collide within a single


Patch by: Michael Brouwer <>

* contrib/hook-scripts/

(%newtree): New hash which tracks the case folded adds within the


($lcnewfile): New scalar to cache case folded version of the current file.

(global scope): Add a check to see if the case folded current file is

already in the transaction.

* contrib/hook-scripts/

Move the stuff which needs to be configured nearer

the top of the script.

Attempt to get UTF-8 character checks to work with

some success.