Windows Server 2008 の apache サーバーで実行する mod_wgsi を使用して、trac 0.11.6 安定版をインストールしました。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
トラックポストコミットフック.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
問題を特定する助けがあれば、デバッグコードの最後の部分は次のとおりです。
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)
助けてくれてありがとうリンダ