It is a question about your code size, and how many bugs you need to track.
And it is also really useful for non coders in the organisation i.e. managers and customer support. They can find answers to questions like "When and where was this bug fixed"...
Clearly, this kind of integration is not something that is essential to the operation of the software. With a bit of discipline every check-in can be accompanied with a bug number manually, and every bug resolution can manually have a version control tag added to it.
All else being equal however, I personally will always prefer automation over 'discipline of the users', because the latter will always sooner or later let you down from time to time. Not because the users are malicious or incompetent, but simply because people cannot be 100% alert all of the time.
I find the integration of SVN with TRAC very helpful. Through SVN hooks, commits to the repository with a ticket number insert a comment on the ticket with a link to a nice visual HTML representation of the revision number, showing inserts, deletes, and diffs.
As a supervisor over a small team of programmers, I find this as a helpful tool for me to do code reviews, so I can verify that the commit truly addresses the associated issue. I wouldn't exactly call this integration essential, but it was a nice free extra on my issue tracker that I've grown to love.
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 ]
Here is a typical commit log for one of our projects (sample):
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 ]
Note the [ Impact: ] line, which could also be "Relates-To", "Caused" or any number of other things.
This lets us use simple greps and automated scripts allowing the person committing to automatically close, or even re-open a bug.
Though we typically use Git and Mercurial, these sort of hooks would work on (almost) any VCS, especially proprietary ones that do not feature some modular plug-in that you need.
If you think of your bug system as just another part of your VCS, its really easy to see how they depend upon each-other.
Other stuff, such as fetching patches submitted with bugs is possible, too.
I have found version control integration to be extremely helpful in maintaining and managing multiple versions (stable, development trunk, etc.) of a project.
Using the version control integration and a bit of discipline from coders to reference bug tickets in commits (or some pre-commit hooks to forcibly require ticket references) has allowed us to quickly and easily generate lists of changesets that are required to fix any given bug. This is instrumental when merging the fixes into various stable branches of the code.
It's not a necessity, but it certainly makes life easier for release management.
I've used SVN + Trac and Atlassian's Jira product with Fisheye SVN plugin and have found both tools to be very good. Trac seems to be a bit simpler, but very easy to use. Jira, in my opinion, had a nicer look and feel and quite a few more bells and whistles, but was almost too much at times.
仅供参考,SmartBear, Inc. 的 Code Collaborator 很好地处理了这个问题。
I think it's helpful to distinguish between bugs found internal to the development organization, e.g. from peer code review, versus bugs found by a test group that is external to the development organization.
The (small) benefit to coordinating version control with bugs found by an external test group would be for historical reference.
The larger benefit is in coordinating bugs found via peer code review with version control -- by doing so you can certify that all code is peer review bug free before releasing it to external test groups; a common requirement.
FYI, Code Collaborator from SmartBear, Inc. handles this nicely.
发布评论
评论(6)
这是一个关于代码大小以及需要跟踪多少错误的问题。
它对于组织中的非编码人员(即经理和客户支持)也非常有用。 他们可以找到诸如“此错误何时何地修复”等问题的答案......
It is a question about your code size, and how many bugs you need to track.
And it is also really useful for non coders in the organisation i.e. managers and customer support. They can find answers to questions like "When and where was this bug fixed"...
显然,这种集成对于软件的运行来说并不是必需的。 通过一点纪律,每次签入都可以手动附上错误编号,并且每个错误解决方案都可以手动添加版本控制标签。
然而,在其他条件相同的情况下,我个人总是更喜欢自动化而不是“用户纪律”,因为后者迟早总会不时地让你失望。 并不是因为用户恶意或无能,而是因为人们无法始终保持 100% 的警觉。
Clearly, this kind of integration is not something that is essential to the operation of the software. With a bit of discipline every check-in can be accompanied with a bug number manually, and every bug resolution can manually have a version control tag added to it.
All else being equal however, I personally will always prefer automation over 'discipline of the users', because the latter will always sooner or later let you down from time to time. Not because the users are malicious or incompetent, but simply because people cannot be 100% alert all of the time.
我发现 SVN 与 TRAC 的集成非常有帮助。 通过 SVN 挂钩,使用票证号提交到存储库,在票证上插入一条注释,其中包含指向修订号的可视化 HTML 表示的链接,显示插入、删除和差异。
作为一个程序员小团队的主管,我发现这对我进行代码审查来说是一个有用的工具,因此我可以验证提交是否真正解决了相关问题。 我并不认为这种集成是必要的,但它是我的问题跟踪器上一个很好的免费附加功能,我已经越来越喜欢它了。
I find the integration of SVN with TRAC very helpful. Through SVN hooks, commits to the repository with a ticket number insert a comment on the ticket with a link to a nice visual HTML representation of the revision number, showing inserts, deletes, and diffs.
As a supervisor over a small team of programmers, I find this as a helpful tool for me to do code reviews, so I can verify that the commit truly addresses the associated issue. I wouldn't exactly call this integration essential, but it was a nice free extra on my issue tracker that I've grown to love.
这对我们来说绝对至关重要。
这是我们的一个项目(示例)的典型提交日志:
请注意 [ Impact: ] 行,它也可能是“Relates-To”、“Caused”或任意数量的其他内容。
这让我们可以使用简单的 grep 和自动化脚本,允许提交者自动关闭,甚至重新打开错误。
虽然我们通常使用 Git 和 Mercurial,但这些类型的挂钩可以在(几乎)任何 VCS 上运行,特别是那些不具备您需要的某些模块化插件的专有 VCS。
如果您将 bug 系统视为 VCS 的另一部分,那么很容易看出它们如何相互依赖。
其他的事情,比如获取带有错误提交的补丁也是可能的。
It is absolutely critical for us.
Here is a typical commit log for one of our projects (sample):
Note the [ Impact: ] line, which could also be "Relates-To", "Caused" or any number of other things.
This lets us use simple greps and automated scripts allowing the person committing to automatically close, or even re-open a bug.
Though we typically use Git and Mercurial, these sort of hooks would work on (almost) any VCS, especially proprietary ones that do not feature some modular plug-in that you need.
If you think of your bug system as just another part of your VCS, its really easy to see how they depend upon each-other.
Other stuff, such as fetching patches submitted with bugs is possible, too.
我发现版本控制集成对于维护和管理项目的多个版本(稳定版本、开发主干等)非常有帮助。
使用版本控制集成和编码人员的一些纪律来在提交中引用错误票证(或一些预提交挂钩强制要求票证引用)使我们能够快速轻松地生成修复任何给定错误所需的变更集列表。 当将修复程序合并到代码的各个稳定分支时,这非常有用。
这不是必需的,但它确实使发布管理的工作变得更轻松。
我使用过 SVN + Trac 和 Atlassian 的 Jira 产品以及 Fisheye SVN 插件,发现这两种工具都非常好。 Trac看起来简单一点,但是非常好用。 在我看来,Jira 有更好的外观和感觉,还有更多的花哨功能,但有时几乎太多了。
I have found version control integration to be extremely helpful in maintaining and managing multiple versions (stable, development trunk, etc.) of a project.
Using the version control integration and a bit of discipline from coders to reference bug tickets in commits (or some pre-commit hooks to forcibly require ticket references) has allowed us to quickly and easily generate lists of changesets that are required to fix any given bug. This is instrumental when merging the fixes into various stable branches of the code.
It's not a necessity, but it certainly makes life easier for release management.
I've used SVN + Trac and Atlassian's Jira product with Fisheye SVN plugin and have found both tools to be very good. Trac seems to be a bit simpler, but very easy to use. Jira, in my opinion, had a nicer look and feel and quite a few more bells and whistles, but was almost too much at times.
我认为区分开发组织内部发现的错误(例如来自同行代码审查的错误)与开发组织外部测试组发现的错误是有帮助的。
协调版本控制与外部测试组发现的错误的(小)好处将可供历史参考。
更大的好处是通过版本控制协调通过同行代码审查发现的错误——通过这样做,您可以在将所有代码发布到外部测试组之前证明所有代码都没有同行审查错误; 一个共同的要求。
仅供参考,SmartBear, Inc. 的 Code Collaborator 很好地处理了这个问题。
I think it's helpful to distinguish between bugs found internal to the development organization, e.g. from peer code review, versus bugs found by a test group that is external to the development organization.
The (small) benefit to coordinating version control with bugs found by an external test group would be for historical reference.
The larger benefit is in coordinating bugs found via peer code review with version control -- by doing so you can certify that all code is peer review bug free before releasing it to external test groups; a common requirement.
FYI, Code Collaborator from SmartBear, Inc. handles this nicely.