trac-post-commit-hook不会更新trac票证

时间:2010-01-08 20:02:32

标签: svn trac post-commit

我已经在我的Windows Server 2008上的apache服务器上运行了mod_wgsi安装了trac 0.11.6 stable。当我通过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 \元史 C:\ SRC \ TRAC C:\ SRC \ xmlrpcplug C:\ SRC \垃圾邮件过滤器 我的存储库本地是在E盘上 E:\ myrepository 这是我的post-commit.bat

REPOS="$1"
REV="$2"
call %~dp0\trac-post-commit-hook.cmd %1 %2

TRAC-提交后-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调试了一个,如果有任何帮助来识别问题,调试代码的最后一部分是:

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)

感谢您的帮助 林达

2 个答案:

答案 0 :(得分:1)

在将VisualSVN服务器升级到最新版本时,我的体验完全相同。从1.1到2.1,他们将服务登录的用户更改为NETWORK SERVICE。我通过为Trac项目和SVN存储库目录设置此用户的正确访问权限来解决我的问题。

;-D汉斯

答案 1 :(得分:0)

好吧,我不知道这个问题,但我可以告诉你,看起来你的Trac< - > SVN设置几乎不同步了。尝试从命令行执行强制重新同步,看看是否解析了它的一部分。这样做:

trac-admin resync

...作为适当的用户,看看是否解决了不同步的问题。