我在服务器上完成了Trac和SVN设置。我使用post commit hook和post-revprop-change hook集成了SVN-Trac。当我执行提交时,我可以看到trac上的时间线得到更新,但相应的故障单没有更新任何评论或更改状态。我曾尝试在google和stackoverflow上查找此类问题,但几乎所有这些都在linux / unix环境中都有权限问题,这很可能不是我的情况。显然我在我的Windows环境中没有任何权限问题,因为我正在使用我的登录名运行trac和svn。
请查看下面提到的设置详情:
服务器操作系统:Windows 2008 R2
- 使用以下方法安装Wandisco SVN服务器:WANdiscoSubversion_1.7.8-2.exe
- Python 2.7.5(32位)
- Trac 1.0.1
我需要集成SVN-Trac,以便SVN使用traclink提交更新trac票证状态和注释。
为实现这一目标,我在SVN中设置了提交后挂钩,如Trac文档中所述:http://trac.edgewall.org/wiki/TracRepositoryAdmin#ExplicitSync和http://trac.edgewall.org/wiki/CommitTicketUpdater。
我做了以下更改:
通过trac网络界面启用提交票据更新程序 - > admin - >插件。
根据上面提到的trac上CommitTicketUpdater的文档,我在[components]部分的trac_env / conf / trac.ini下的trac.ini中另外添加了以下行。 tracopt.ticket.commit_updater.committicketreferencemacro =启用 tracopt.ticket.commit_updater.committicketupdater = enabled
配置提交更新程序插件,将以下内容添加到trac.ini文件的[ticket]部分
[票] commit_ticket_update_envelope = []
commit_ticket_update_commands.close =关闭关闭修复修复修复
commit_ticket_update_commands.refs =地址引用引用参见
commit_ticket_update_check_perms = true
commit_ticket_update_notify = true
我还创建了post-commit.bat和post-revprop-change.bat ,并将其添加到我的svn存储库中的hooks文件夹中。请在下面找到脚本代码:
-commit.bat交
@echo off
::
:: Trac-SVN post commit hook for explicit synchronisation
::
setlocal
set REPOS=%1
set REV=%2
C:\Python27\Scripts\trac-admin.exe C:\apps\new changeset added "%REPOS%" "%REV%"
post-revprop-change.bat
@echo off
::
:: Trac-SVN post revprop change hook
::
setlocal
set REPOS=%1
set REV=%2
C:\Python27\Scripts\trac-admin.exe C:\apps\new changeset modified "%REPOS%" "%REV%"
我也尝试检查trac.log(在Debug级别设置),但没有任何相关内容登录。
我还打印了post commit hook中的值,它们看起来很好。
有人可以帮我解决上述问题吗?
谢谢!
此致
Sowmya Dass
答案 0 :(得分:0)
用于调用提交挂钩的用户应该获得必要的权限(可能是TICKET _...)。
如果您不关心权限检查,您也可以使用[trac] commit_ticket_update_check_perms = false
(如上面已经评论的RjOllos)。