我发现了许多代码审查工具:
但没有发现,这将直接连接到版本控制系统。
由于我希望代码评审过程是必需的,所以没有人可以将任何一行未经评审的代码推送到掌握中,因此我需要我的版本控制系统拒绝所有尚未检查的修订推送。
有什么工具可以做到吗?或者有什么简单的方法去做呢?
发布于 2012-03-18 03:04:24
除了大型遗留系统外,我已经完全从CVS转移到GIT,在这些系统中,迁移成本并不值得。这在很大程度上是工具支持和工作流程改进的结果。实际上,CVS的开发在很久以前就停止了,对现代功能的第三方工具支持紧随其后,您总是必须用CVS来定位您自己的定制系统,而使用GIT、Mecurial等,有很多现成的东西只是起作用(只要您想要像chan工具那样做的话)。
我们使用的CVS系统围绕工作流和Config管理有大量的自定义代码。这些都是多年的开发努力,因为CVS本身并没有削减它。实际上,我们直接使用的唯一cvs命令是“cvs签出”。缺乏工具支持,如你所要求的是一个很大的准备行动。
根据您的周遭情况,是否可以将所有开发人员工作流程迁移到GIT,使用Gerrit进行代码评审,然后将评审代码推送到CVS回购系统?
发布于 2012-03-17 22:11:02
我不熟悉其他工具,但是Facebook通过安装预提交(SVN)或预接收(Git)钩子来实现Phabricator。Phabricator附带了一些示例钩子操作:
然而,这些钩子的开源版本(尤其是Git钩子)的形状并不好(大多数OS Phabricator用户在GitHub上托管,在那里您无法安装预接收钩子,而Facebook的内部钩子更复杂,因此我们没有太多的请求来更新/改进它们),所以它们现在更像模板而不是工作解决方案。
这些钩子也不仅仅是要求代码检查:它们阻止提交,从而引发lint错误,从而(例如)拒绝引入语法错误的更改。(这通常发生在Facebook上。)
通常,使用任何代码审查工具,您都应该能够编写一个相当简单的钩子来验证评审(您可以查阅VCS关于钩子的文档以获得详细信息),因此您最好选择基于其他特性的审查工具,然后在不附带任何内容的情况下连接集成。
https://softwareengineering.stackexchange.com/questions/140222
复制相似问题