Ошибка предварительной фиксации Apache Subversion

Я пытаюсь настроить ловушку перед фиксацией для подрывной деятельности Appache, которая будет применять стиль проверки к файлам java. Я новичок в конфигурации и хуках SVN, поэтому я использую проверенную на другом сервере ловушку, которая работает на этом другом сервере.

Однако, когда я настроил его на новую установку и при попытке зафиксировать (создать новую папку), я получаю следующую ошибку:

 A repository hook failed
svn: Commit blocked by pre-commit hook (exit code 2) with output:
/var/www/svn/mse/hooks/pre-commit: line 23: `permit-tag-write': not a valid identifier

Вот зацепка вокруг строки 22:

REPOS="$1"
TXN="$2"
SVNLOOK=/usr/bin/svnlook
JAVA=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.25.x86_64
PROJECT_NAME=mse
    permit-tag-write() 
    {
        if $SVNLOOK changed -t "$TXN" "$REPOS" | awk '{print $2}' |\
            grep -q "^tags" ; then
            /bin/echo "Cannot commit to tags" 1>&2
            exit 1
        fi
    }

person Ivo    schedule 15.11.2013    source источник


Ответы (1)


Попробуйте изменить строку #! в верхней части сценария, чтобы оболочка вызывалась как bash, а не как sh - дефисы в именах функций не допускаются в строгом режиме POSIX.

person Ian Roberts    schedule 15.11.2013
comment
Спасибо, Ян, это сработало! Не подумал бы об этом ... и я не могу поверить, что потратил на это полдня. - person Ivo; 15.11.2013