Я не очень хорошо знаком с внешними программами, но если вы хотите создать скрипт ловушки перед фиксацией, это довольно простой код, но его сложно отладить.
Ваша ловушка перед фиксацией принимает два параметра: $ ARGV [0] = путь к хранилищу, $ ARGV [1] = транзакция фиксируется.
Ваш скрипт-хук будет использовать svnlook, что-то вроде
svnlook dirs-changed -r $ARGV[0] -t $ARGV[1]
И вернуть (отрицательное?) Состояние выхода, если svnlook вернул, что инструменты (или что-либо, начиная с инструментов) изменились.
Все, что вы печатаете в STDERR, отображается клиенту как сообщение об ошибке.
Вы бы поместили этот скрипт в свой репозиторий под хуками, назовите его «pre-commit», сделайте его исполняемым
Обязательно ознакомьтесь с документацией svnlook , так как я собираюсь использовать память здесь