保护代码存储库免受破坏或错误提交的方法?

时间:2010-12-14 20:07:22

标签: svn unit-testing git version-control cvs

您是如何尝试保护源代码存储库免受引入错误或中断构建的提交的影响?似乎在提交时进行强制回归测试可以大大有助于防止错误蔓延到多个开发人员所处理的项目中。但是,大多数常见的代码版本控制工具都不提供此领域的任何功能。

这是我尝试过的一种方法。我创建了subversion预提交钩子来生成项目的副本,其中包含挂起的提交更改,然后它在此副本上运行语法检查和单元测试。如果任何测试失败,则提交将被语法检查器或单元测试的结果拒绝,以向开发者提交反馈。如果语法检查器和单元测试通过,则会接受commit。它起作用了,但权衡的是它使提交真的很慢。如果代码版本控制软件提供了更好的集成来促进这一点,除了在预提交上运行外部程序,我认为速度可以提高。

我正在寻找您用来实现这一目标的方法,想一想为什么这是一个好的或坏的想法,或者使用代码版本控制工具的经验,这些工具为代码检查中的回归测试/构建测试提供支持。另外承诺的速度对你有多重要?

1 个答案:

答案 0 :(得分:6)

您应该使用某种形式的Continuous Integration,其中环境正在使用Hudson,CruiseControl或其他tool来促进此行为。