Возможно, вы захотите проверить этот ответ, чтобы увидеть, поможет ли он решить вашу проблему:
Если это не поможет, попробуйте войти в файл. Так как он работает нормально, когда вы используете SVN, но не работает для Trac, возможно, это какая-то ошибка конфигурации. Как только вы действительно сможете просмотреть сообщение об ошибке, его будет легче исправить. Для начала попробуйте изменить на:
Python "%~dp0\trac-post-commit-hook" -p "%TRAC_ENV%" -r "%REV%" 2>&1 1>>c:\temp\trachook.log
в вашем файле cmd. Это должно отправить и stdout, и stderr сообщения в файл \ temp \ trachook.log.
РЕДАКТИРОВАТЬ: Извините, пропустил сообщение об ошибке вы уже отправили. Похоже, что он не получает правильное значение options.project
, и его можно установить равным None, когда его следует установить в TRAC_ENV
из опции -p
Вы уверены, что запускаете его с этой опцией после того, как переименуете его в .py и запустите? Если это так, попробуйте изменить этот файл и записать значение options.project
после анализа аргументов. Попробуйте отследить, почему он не установлен.
РЕДАКТИРОВАТЬ: Кстати, строка ошибки:
File "trac-post-commit-hook.py", line 104, in <module>
os.environ{'PYTHON_EGG_CACHE'] = os.path.join(options.project, '.egg-cache')
Я не вижу ссылки на это в ссылке на post-commit-hook. Вы добавили это? Или ссылка неправильная? Кроме того, в этой строке есть синтаксическая ошибка: фигурная скобка '{' должна быть квадратной скобкой '['. Но я думаю, что ошибка на самом деле происходит до этого, в os.path.join (options.project - None). Попробуйте поставить строку перед этим:
print 'options.project is set to: ', options.project
и посмотрите, что получится.