These are scripts that might be useful to run from repository hooks.
Your Mileage May Vary.

   1. check-case-insensitive.pl
      Superceded by check-case-insensitive.py.

   2. check-case-insensitive.py
      This script makes your repository case insensitive.  It checks if a file
      with the same name but different case already exists in the repository
      and possibly aborts the commit.  This version of the script uses the
      Python language bindings.

   3. check-mime-type.pl
      Force the svn:mime-type and - in case of text files - svn:eol-style
      properties to be in place.

   4. commit-block-joke.pl
      Prevents some committers from committing certain revisions.

   5. pre-commit-check.py
      Template for writing pre-commit checks with the python bindings.


$Id$
