Trac + SVN: почему не работает фиксация после коммита?

Я хочу использовать стандартный Trac post-commit-hook для SVN.

Я использую Trac 0.11.4 и скачал этот хук с их сайта. Я положил это в /usr/local/bin/ а также chmod +x'редактировать. post-commit зацепить /var/svn/myrepo/hooks/ выглядит так же, как советует Trac Guide:

#!/bin/sh
REPOS="$1"
REV="$2"
TRAC_ENV="/var/trac/mytracenv"
/usr/bin/python /usr/local/bin/trac-post-commit-hook -p "$TRAC_ENV" -r "$REV"

Каталог среды Trac /var/trac/mytracenv доступно для записи пользователям Subversion. Я работаю автономно svnserveнет апача.

Если я бегу/usr/bin/python /usr/local/bin/trac-post-commit-hook -p /var/trac/mytracenv -r <somerev>вручную, как пользователь Subversion, работает как надо. Однако, если я делаю коммит (используя TortoiseSVN), он говорит:

Error post-commit hook failed (exit code 255) with no output.

В чем проблема?

3 ответа

Решение

Я предполагаю, что проблема связана с разрешением. Убедитесь, что оба post-commit сценарий и rac-post-commit-hook иметь надлежащие привилегии. Если это работает для вас с помощью командной строки, попробуйте сделать это как пользователь, который запускает демон svn (sudo -u svnuser [cmd]).

Я мог бы решить аналогичную проблему год назад, добавив в оба сценария "chmod o+x".

Давайте установим -x в скрипте для устранения неполадок.

Дважды проверьте переменные среды; одна из самых распространенных причин не имеет $PATH вы ожидаете.

Другие вопросы по тегам