【问题标题】:How to get Trac (CommitTicketUpdater) w/Mercurial to close|resolve tickets on commit?如何让 Trac (CommitTicketUpdater) w/Mercurial 关闭|在提交时解决票证?
【发布时间】:2011-07-01 11:01:53
【问题描述】:

我的快速问题是这样的: 一切似乎都在工作,除了 Trac 票证在提交时没有得到状态更新。更改集注释已附加到工单,但工单本身并未得到解决


我刚刚完成了这个设置:

  • Windows 7 x64
  • IIS 7.5
  • isapi-wsgi 0.4.2
  • Python27 32
  • Mercurial 1.8
  • 跟踪 0.12

我已经运行 Trac 并与 repo 链接(我可以查看变更集、浏览等)
我使用 AD 进行身份验证,所以我所有的用户名都是这种格式:MYDOMAIN\bbarker

按照说明 here 设置 CommitTicketUpdater

当我提交新代码并链接到工单时:

$ hg commit -m "[fixes #1] - blah blah blah..."
$ hg push

Trac 将变更集附加到工单:

由 MYDOMAIN\bbarker 在 5 秒前更改
在 [29283792837498273948729374]:
[修复 #1] - 等等等等……

(上面的 #1 是票证的链接)
但票证状态永远不会更新,没有不管我怎么尝试。
我还需要做些什么才能使其正常工作吗?

下面是我的设置的 sn-ps


trac.ini

[组件]
traceext.hg.* = 启用
tracopt.ticket.commit_updater.* = 启用
tracopt.ticket.commit_updater.committicketreferencemacro = 启用
tracopt.ticket.commit_updater.committicketupdater = 启用

[汞]
node_format = 短
show_rev = 是的

[门票]
...
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

[跟踪] ... repository_dir = C:\repositories\project
repository_sync_per_request = 默认
repository_type = hg

.hg/hgrc

[挂钩]
;如果 mercurial-plugin 安装在 Trac 插件目录中
提交 = python:C:\Trac\hooks.py:add_changesets
changegroup = python:C:\Trac\hooks.py:add_changesets

[trac]
环境 = C:\Trac\tracproject
trac-admin = C:\Python27\Scripts\trac-admin.exe

【问题讨论】:

  • 几年前与 Trac 苦苦挣扎了整整一个月后,我发现让 Trac 正常工作的最佳方法是改用 Redmine。 ;)

标签: python mercurial trac


【解决方案1】:

呸!明白了……

在“T”之后,Trac 网站的指示是我的错误。
好吧,我猜。

基本上,我已经从上面的站点将它复制到了我的 trac.ini 文件中:

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

阅读以下内容,我只是假设将 commit_ticket_update_commands.close 保留为空值将假定为默认值。
这实际上将默认值覆盖为空值,这解释了为什么所有命令都不起作用,但我的提交消息仍被附加到相应的票证上。

因此,只需删除或注释掉 .ini 中的那一行即可解决我的问题
(或者,没有覆盖默认值)

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

所以经过一些调试、测试、网络搜索之后,我真的只需要重新查看 Trac 提供的说明。现在回想起来很明显:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-11
    • 1970-01-01
    相关资源
    最近更新 更多