如何让Trac(CommitTicketUpdater)与Mercurial关闭|解析提交时的票证?

时间:2011-06-30 19:01:49

标签: python mercurial trac

我的快速问题是: 除了Trac票证在提交时没有获得状态更新外,一切似乎都在起作用。更改集注释附加到故障单,但故障单本身未解析


我刚刚完成了这个设置:

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

我已经让Trac运行并与回购链接(我可以查看更改集,浏览等) 我正在使用AD进行身份验证,所以我的所有用户名都采用以下格式: MYDOMAIN \ bbarker

按照 here 的说明设置 CommitTicketUpdater

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

  

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

Trac将更改集附加到故障单:

  

5秒前被MYDOMAIN \ bbarker改变了     在[29283792837498273948729374]中:
    [修复#1] - 等等等等......

#1 ,上面是该票证的链接)
但无论我尝试什么,机票状态都不会更新 我还需要做些什么才能让它发挥作用吗?

下面的

是我设置的摘要


trac.ini

  

[组成]
  tracext.hg。* =启用
  tracopt.ticket.commit_updater。* =启用
  tracopt.ticket.commit_updater.committicketreferencemacro =启用
  tracopt.ticket.commit_updater.committicketupdater = enabled

     

[氢化]
  node_format =短
  show_rev = yes

     

[票]
  ...
  commit_ticket_update_envelope = []
  commit_ticket_update_commands.close =
  commit_ticket_update_commands.refs =< ALL>
  commit_ticket_update_check_perms = true
  commit_ticket_update_notify = true

     

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

.hg / hgrc

  

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

     

[TRAC]
  env = C:\ Trac \ tracproject
  trac-admin = C:\ Python27 \ Scripts \ trac-admin.exe

1 个答案:

答案 0 :(得分:4)

唷!得到了......

关注到'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提供的说明。现在回顾它很明显:)