如何跟踪共享代码库中的代码更改?

时间:2010-02-24 05:24:00

标签: version-control project-management cvs post-commit

我很想听听其他人如何理解/审核其他团队成员对版本控制系统所做的代码更改。

您需要采取哪些流程来确保所有需要了解修订的人都会收到通知?

这个系统对你(和你的团队)的效果如何?

仅供参考,我们目前使用我们自己开发的ant构建脚本来检查CVS中的代码,并每隔15分钟将其推送到我们所有的测试机器上。我们编写所有解释的基于Web的代码。系统的“构建”很少失败,我们的测试代码至少需要花费几个小时才能运行,因此我们无法在每次提交后运行它。

5 个答案:

答案 0 :(得分:0)

当前系统

我公司目前最依赖人与人之间的沟通。提交代码的人员有责任确保在签入代码之前对其进行审核。

在刻录一次之后,我们通过CVS commit hook为我们拥有的最重要(“核心”)文件添加了额外的代码审核流程。当有人更改标有包含@core的注释的文件时,会向负责该文件的团队发送一封电子邮件,并且提交者需要将代码与另一个成员一起审核。此电子邮件每2小时发送一次,直到我们的错误跟踪软件中标记为已完成。

人们通常每天早上更新他们的源代码,并希望最近的变化都不会破坏他们。

需要通过电子邮件列表向所有人宣布对代码库的广泛更改。


流程崩溃的地方

  1. 当人们将错误引入系统时,很难知道最近哪些文件被更改了。 (我们使用几乎所有解释的代码,因此阻止构建不会被编译器捕获)
  2. 如果无法轻松访问提交消息/文件流,则很难确切知道人们正在触摸哪些文件。 (有没有人在CVS中有一个很好的工具,他们实际上每天都在使用它?)

答案 1 :(得分:-1)

CruiseControl.NET提供了在将更改签入源控件存储库时向开发人员广播电子邮件的功能。

虽然我的偏好是“拉”而不是“推”解决方案,开发人员可以通过网站查看更改集/签到。

答案 2 :(得分:-1)

一般情况下,在我们的系统中,我们不会跟踪其他人所做的更改,只会检查文件冲突或利益,我们会检查其他人的提交。

对于代码审核,我们有单独的系统(CodeStriker),它会在提交时提出自动代码审核请求。

我们使用SVN,您可以使用post-commit挂钩来提出任何此类通知。

您也可以使用SVN Notifier

我们确实配置了CCNet,这会在提交时引发通过/失败通知。

答案 3 :(得分:-1)

我不知道你正在使用什么平台,但最简单的方法是获取CruiseControl,Hudson或类似的东西,只需将地址提供给代码中有兴趣的人(阅读:intrest)。当您使用这样的构建系统时,签入变为公共,构建变为公共,因此,成功和失败是公开的。无论您正在寻找什么样的情况;你可以做一些事情:

  • 随时更改。
  • 允许有兴趣的人士参与
  • 允许感兴趣的各方负责沟通个别代码更改
  • 提供构建的RSS链接
  • 构建发生时提供电子邮件

这对我的团队以及我们与之互动的团队非常有用,因为它允许每个人都在同一页面上,而不会浪费时间将细微的细节传达给可能会或可能不理解的感兴趣的一方(阅读:关心你刚刚提交的更新。

答案 4 :(得分:-1)

我们在CVS / SVN存储库上使用FishEye。它是一个商业工具,但它值得每一分钱,因为它在我们的代码库中添加了非常好的搜索和跟踪功能:

  • 它对CVS提交进行分组(如果您使用相同的提交注释一次提交几个文件,它将是FishEye中的一个更改集)。这些变更集构成了代码审查的起点。
  • 可配置为启用手表。之后,每个开发人员都可以在感兴趣的文件夹或文件上设置监视,并立即(或每天)发送有关其中的更改的电子邮件。

此外,我们使用Hudson作为持续集成系统。在我们安装Chuch Norris plugin之后,每个人都努力不破坏构建:)