我已经安装了带有 mod_wgsi 的 trac 0.11.6 stable 并在我的 windows server 2008 上的 apache 服务器上运行。当我通过 TSVN 提交时,trac-post-commit-hook 不会更新并发送电子邮件通知。但是,如果我使用 Windows 命令行运行:Python trac-post-commit-hook -p C:/trac -r 97 从我的窗口命令行运行,它会更新我的票证并发送电子邮件。有人建议可能是windows禁止发送邮件导致脚本fai在更新票证上起作用,在命令行上,它找到了合适的环境变量并且它起作用了。我注释掉了从 trac-post-commit-script 发送电子邮件部分,它仍然没有更新 trac 票。也没有错误信息。以下是关于我的 trac 环境的一些信息: C:\trac C:\Phyton26 C:\Python26\Scripts C:\src\ C:\src\genshi C:\src\trac C:\src\xmlrpcplug C:
REPOS="$1"
REV="$2"
call %~dp0\trac-post-commit-hook.cmd %1 %2
trac-post-commit-hook.cmd:
@ECHO OFF
SET TRAC_ENV=C:\trac
SET PYTHON_PATH=C:\Python26
SET TRAC_PATH=C:\trac
IF NOT EXIST %TRAC_ENV% GOTO :EOF
set PATH=%PYTHON_PATH%;%PATH%
set PYTHONPATH=%TRAC_PATH%;%PYTHONPATH%
SET REV=%2
for /F %%A in ('svnlook author -r %REV% %1') do set AUTHOR=%%A
for /F "delims==" %%B in ('svnlook log -r %REV% %1') do set LOG=%%B
Python "%~dp0\trac-post-commit-hook" -p "%TRAC_ENV%" -r "%REV%" 2>&1 1>>c:/temp/trachook.log
我翻了trac debug一,如果有帮助找出问题,调试代码的最后一部分是:
2010-01-08 14:56:23,474 Trac[svn_fs] DEBUG: Subversion bindings imported
2010-01-08 14:56:23,479 Trac[cache] INFO: repos rev [150] != cached rev [149]
2010-01-08 14:56:23,483 Trac[cache] INFO: Trying to sync revision [150]
2010-01-08 14:56:23,486 Trac[cache] DEBUG: Caching node change in [150]: (u'trunk/wwwroot/Default.aspx', 'file', 'edit', u'trunk/wwwroot/Default.aspx', 149)
谢谢你的帮助琳达