我尝试将Trac与Git一起使用。
Trac看到票号(在变更集中它被标记为红色并链接到票证)但是没有关闭票号5.可能出错了什么?
TIA
答案 0 :(得分:0)
如果我关注documentation,您应该尝试使用closes #5
。如果仍然无效,请尝试检测post-commit-hook is correctly configured。
#XXX
是引用XXX票证的标准Trac / Wiki语法,另一方面,[YYYY]
将引用YYYY提交,即使没有提交后,它也将始终有效 - 钩被定义。
答案 1 :(得分:0)
我放弃了Trac,转而使用Redmine。它现在好一点 - 提交给定票证的Id对票证的引用,但是再次 - “修正#1”没有关闭票号1 ... Afaik Redmine不需要挂钩..
答案 2 :(得分:0)
你是如何使用trac存储库的?通常,您在要推送到的服务器上运行trac。推送后挂钩不会运行。
在这种情况下,你需要一个post-receive钩子。 我对git-plugin包中的post-receive挂钩进行了一些更改,因为它有一些bug。 (例如,你只能在trac中对一张票进行一次更改/秒,所以我必须添加一个sleep(1),因为当你推送你所有的提交时都会在同一秒内处理。你也可以提供一些工作时间)
这个post-receive钩子可以在我的github上找到:https://github.com/JensTimmerman/TRAC-SVN-to-GIT-migration/blob/master/hooks/trac-post-receive-hook.py
你必须将它安装到/path/to/your/.git/hooks/post-receive 并确保它是可执行的(linux中的chmod + x /path/to/your/.git/hooks/post-receive)并更改“TRAC_ENV ='/ home / jens / tractest /'”以指向您的trac环境。
编辑:
如果您没有在运行trac的同一服务器上托管git存储库,则可以执行拉动到临时git repo并再次使用cron作业进行一次trac使用。然后,这将再次触发真实存储库上的post-receive挂钩并更新您的trac。
我有这个:
a64609@chaos:~/git$ ls
gitcron.log realrepo syncgit.sh tmprepo
其中tmprepo只是我拉动和推送的位置,而realrepo有我的后接收挂钩。 使用syncgit.sh:
cd /home/username/git/tmprepo;
git pull;
git push real;
将tmprepo的远程“真实”设置为
a64609@chaos:~/git/tmprepo$ git remote -v show
origin https://JensTimmerman@github.com/hpcugent/easybuild.git
real ../realrepo/
并且所有内容都通过crontab条目同步(将其放在crontab -e中)
*/3 * * * * /hhome/username/git/syncgit.sh >> /home/username/git/gitcron.log 2>&1
答案 3 :(得分:0)
我遇到了同样的问题。 git CommitTicketUpdater插件似乎默认使用该术语的方括号,例如[关闭#5]另请参阅此blog entry中的commit_ticket_update_envelope
的trac.init
答案 4 :(得分:0)
如果有帮助,我用以下内容填写我的trac ini:
[票] commit_ticket_update_commands.close = close
官方文档声称如果你将'commit_ticket_update_commands.close ='留空,则提交者更新将使用一些默认关键字来决定是否必须关闭故障单,但这对我不起作用。唯一有效的方法是在该字段中显式设置一些关键字,例如(commit_ticket_update_commands.close = close)