Bug跟踪器与Git集成的设置?

36

我知道可以通过hack Trac并使用Git hooks来完成其中大部分操作,但我想知道是否有现成的解决方案。

从提交信息中评论(并关闭)工单会很好,特别是如果diff与评论/关闭备注一起显示。

sha1哈希值应该自动链接到gitweb/cigt/custom Git浏览器。

我尝试了Trac的GitPlugin,但代码浏览器非常慢...有没有其他替代方案?


无论选择哪种跟踪器,您都可能最终需要Git钩子来在推送时更新跟踪器。 - tishma
我建议使用www.assembla.com - 它具有强大的git+bugtracker集成功能,而且还有自定义的服务器端钩子,允许您添加自己的钩子并使集成更加强大,无需在所有开发者机器上分发钩子。 - Titas
11个回答

20

Redmine可以完成你的一些要求。 集成只能单向进行,必须在提交消息中引用问题,然后这些数据将在redmine中可用。

然后,数据可在两个视图中使用。 缺陷显示将包括匹配的提交列表。 存储库显示将提交链接到缺陷显示页面。

Redmine为每个项目保留本地(裸)存储库。 这可以是主要存储库或远程镜像。 更新时,redmine解析提交消息并更新更改集、问题的内部交叉引用表。

如果redmine存储库仅用作镜像,则需要更新它。 可以通过cron或外部挂钩进行更新。 我们使用redmine github插件和github post-receive hook来使redmine与主要github存储库保持同步。

它可以运行,但有些笨重。


17

3
这很无用,因为它使用gitweb或github存储库。 - Phillip Whelan
1
尝试了这个,配置了 gitweb,最终通过 gitweb HTML 解析达到了集成的目的,但是这种方式存在变化的风险。总结来说,为了使 Mantis 集成正常工作,您必须具有特定的 git/gitweb 版本和配置,以避免解析器混淆。这是一个不太好的选择,特别是因为 gitweb 还提供更不易改变的 feeds。 - tishma
1
@tishma。你应该在http://noswap.com/mantis/my_view_page.php上提交一个错误报告,或者更好的方式是在https://github.com/mantisbt-plugins/source-integration上做出贡献。 - Robert Munteanu

8

还有一个名为GitZilla的工具(我是作者)。


2

1
这已经被停用了。新的插件在http://trac-hacks.org/wiki/GitPlugin,但至少对我来说,在Trac 0.12上它并不工作得很好。 - Macha
是的,而且它真的很慢 - 我正在寻找另一个解决方案... - Andreas Rehm

2

是的,我一直在寻找类似的东西!虽然redmine没有文档,但唯一我知道的功能是,如果你附加一个破折号(#)和一个问题编号,你就会得到指向该问题的链接。

例如:

$ git commit -a -m '#45 makes earth rotate in reverse!'

将会在存储库中可见,并且数字将链接到问题#45!

我真的希望能够让提交与特定问题相关联,以便将提交消息附加到问题上。

是的,关闭,修复等等都很好!

我已经浏览了一段时间的git-hooks或redmine中的这些功能,但运气不太好!(他们的文档很糟糕!)

有人在此主题上发布一些更新吗?


实际上,默认情况下,"#45" 是不够的 - 它需要一个关键字 refs - "refs #45",但是它可以配置为在没有关键字的情况下工作。 - tishma

1

1

https://bitbucket.org - 从技术上讲,它是一个分布式版本控制服务,但它完全集成了问题跟踪功能。而且对于小团队来说,它的服务真的是免费的(对于教育机构的人员来说,服务更是无限免费)。


0

Assembla提供了一个免费的私人git代码库和一个集成的缺陷跟踪系统——您可以通过提交消息直接更改问题状态或跟踪时间。他们还提供自定义服务器端钩子——允许您编写自己的逻辑,然后使用它——从拒绝不符合您某些规则的提交到在收到提交后启动CI构建等任何操作都可以实现。


0

请查看此链接这里。 它提供了有关如何使用Git集成Rational Team Concert的教程。它将提供一些基本信息,可用于将Git与其他广泛的产品集成。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接