目前我们使用FogBugz来跟踪问题并发现它没问题。我正在寻找其他可以让最终用户跟踪我们的案例的能力。还有一些与电子邮件有效的方法。我发现了一些支持这些功能的替代方案,但它们没有与版本控制集成。我们已经在雾bugz中获得了所有的SVN钩子并且我们使用它们 - 但我并没有真正发现它们都有用。有没有人找到一个非常好的理由需要与bug跟踪器进行版本控制集成?
答案 0 :(得分:4)
显然,这种集成不是对软件操作至关重要的。通过一些纪律,每个签到都可以手动附带一个错误号,每个错误解决方案都可以手动添加一个版本控制标记。
然而,在其他条件相同的情况下,我个人总是更喜欢自动化而不是“用户的纪律”,因为后者总是迟早会让你失望。不是因为用户是恶意的或不称职的,而仅仅是因为人们无法始终保持100%的警觉。答案 1 :(得分:1)
我发现SVN与TRAC的集成非常有帮助。通过SVN钩子,使用票号提交到存储库,在票证上插入注释,并带有指向修订号的可视化HTML表示的链接,显示插入,删除和差异。
作为一个程序员小团队的主管,我发现这是一个有用的工具,我可以进行代码审查,因此我可以验证提交是否真正解决了相关问题。我不会完全称这种集成是必不可少的,但在我的问题跟踪器上这是一个很好的免费额外的东西,我已经爱上了。
答案 2 :(得分:1)
这对我们来说绝对至关重要。
以下是我们其中一个项目(示例)的典型提交日志:
Make sure filedes is cleared in child list prior to reallocating
When p->child-filedes is > 0, the child list is active and can not
be collected.
[ Impact: Closes bug 123457 ]
注意[Impact:]行,也可能是“Relates-To”,“Caused”或其他任何内容。
这使我们可以使用简单的greps和自动脚本,允许提交的人自动关闭,甚至重新打开错误。
虽然我们通常使用Git和Mercurial,但这些钩子(几乎)可以在任何VCS上工作,特别是那些没有你需要的模块化插件的专有VCS。
如果您认为您的错误系统只是VCS的另一部分,那么很容易看出它们如何相互依赖。
其他内容,例如提取错误提交的补丁也是可能的。
答案 3 :(得分:0)
这是一个关于您的代码大小以及需要跟踪的错误数量的问题。
它对组织中的非编码人员,即经理和客户支持也非常有用。他们可以找到诸如“修复此错误的时间和地点”等问题的答案......
答案 4 :(得分:0)
我认为区分开发组织内部发现的错误是有帮助的,例如:来自同行代码审查,以及开发组织外部的测试组发现的错误。
协调版本控制与外部测试组发现的错误的(小)好处将用于历史参考。
更大的好处是协调通过对等代码审查发现的错误与版本控制 - 通过这样做,您可以证明所有代码在发布到外部测试组之前是无错误的同行评审;一个共同的要求。
仅供参考,SmartBear,Inc。的Code Collaborator处理得非常好。
答案 5 :(得分:0)
我发现版本控制集成在维护和管理项目的多个版本(稳定,开发主干等)方面非常有用。
使用版本控制集成和编码器的一些规则来引用提交中的错误票证(或者一些预先提交挂钩以强制要求票证引用)使我们能够快速轻松地生成修复所需的变更集列表任何给定的bug。这在将修复程序合并到代码的各种稳定分支中时非常有用。
这不是必需品,但它确实使发布管理更容易。
我已经使用SVN + Trac和Atlassian的Jira产品和Fisheye SVN插件,并且发现这两种工具都非常好。 Trac似乎更简单,但非常容易使用。在我看来,Jira有着更好的外观和感觉以及更多的花里胡哨,但有时几乎是太多了。