Вы поместили этот скрипт в папку \ hooks ?Если да, я подозреваю, что в указанном сценарии отсутствует настройка среды (поскольку хуки выполняются в чистой среде).Из SVN book :
Из соображений безопасности в хранилище Subversion выполняются программы-перехватчики с пустой средой, то есть переменные среды вообще не задаются, даже $ PATH (или% PATH%, под Windows).Из-за этого многие администраторы сбиты с толку, когда их хук-программа работает нормально вручную, но не работает при запуске Subversion.Обязательно установите все необходимые переменные среды в вашей подключаемой программе и / или используйте абсолютные пути к программам.
Попробуйте сначала запустить только с эхом, чтобы убедиться, что он вообще вызывается сервером:
@echo off
setlocal
echo Commit stopped 1>&2
exit 1
Если это работает, попробуйте добавить это в начало этого пакета:
rem Add path to Subversion executable
set path=%path%;c:\Program Files\Subversion\bin
Кстати, я также нашел соответствующую статью здесь (содержит такжепример перехвата предварительной фиксации).
Обновление
Вы также можете попробовать решение этой же проблемы здесь: Перехватчики SVN Pre Commit *
Update2
Я думаю, что вы испортили клиентские хуки с серверными .Первый вызывается клиентом SVN, поэтому передаваемые параметры и способы интерпретации результатов полностью зависят от клиента.Я предполагаю, что хуки TortoiseSVN не предназначены для отклонения коммитов (т. Е. Уровень ошибки не проверяется), но могут использоваться для интеграции с другими системами.Смотрите также пример здесь .Чтобы действительно отклонить коммиты - вам нужно добавить эти хуки на сервере SVN.