在我以前的工作场所中,我们使用Gerrit作为git的代码审查工具,在基于Web的界面上共享和审查彼此的修改,并在合并之前提供反馈和改进代码的机会。支持在将代码合并到master分支之前/不合并之前检查代码(并拒绝代码)。还有其他支持预提交/合并审查的代码审查工具吗?

(请不要约束您对git的回答,我也会对其他版本控制系统的代码审查工具感兴趣例如Mercurial或Subversion。)

评论

对于任何使用托管服务而非工具的人,我们使用bitbucket.org,它具有出色的代码查看和讨论功能,拉取请求等。最初,我也更倾向于使用工具而非服务,但过来。当然,如果您使用托管SCC,则使用它们提供的任何内容都是一个非常简单的选择。

#1 楼

除了Gerrit和GitLab(见下文)外,我从未使用过任何代码审查工具,但以下是我所了解的(所有这些都是Git的,因为这是我所知道的,但有些可以与其他版本控制系统一起使用) ):



Phabricator具有许多软件工程功能,并且代码审查就是其中之一。它似乎还具有比Gerrit更好的界面,并且它是PHP而不是Java / GWT的事实意味着,构建和测试您自己的修改可能更容易。请参阅https://secure.phabricator.com/D8141以获取示例审查任务。

Gitlab是开源的Github克隆。将其用作代码审查工具的方式是让每个开发人员创建一个fork,在该fork上工作,然后提交Merge Request。

Barkeep比上面的其他选项简单得多,因为它只是一个查看工具,没有任何其他功能。它也是后提交的,而不是预提交的,尽管它的目的像预提交工具一样进行审查(而不是像大多数其他后提交工具一样进行审核)。

ReviewBoard是最后一个我对它一无所知,但是除了它存在以外,我对此一无所知。

Wikimedia的工具比较包含许多关于这些选项的信息。

#2 楼

我一直将TortoiseHg用于Windows上的通用GUI需求,它具有非常好的预提交/合并支持。您可以始终在更改集视图中右键单击Working Directory,然后选择“父级差异”以在打开之前打开当前存储库中所有更改的选定差异工具。您还可以在合并之前选择任何变更集和Diff to Local(合并到本地),以查看将要发生的情况。相同的奇偶校验级别。 Git从Mercurial那里一直感到笨拙和不自然,所以我从来没有用它来建立合适的工作流程。和Git

#3 楼

Deveo支持对Git和Mercurial进行合并前代码审查。 Subversion支持将在稍后提供。以下博客文章分别描述了Git和Mercurial的工作流程。 Mercurial帖子中附有工作流的视频。

(免责声明:我在Deveo工作)

#4 楼

看起来Collaborator可以通过以下方式做到这一点:


Subversion,但是它涉及使用Subversion服务器挂钩。
Git使用Git服务器挂钩。
Perforce使用服务器触发器。

我只使用了它与Accurev的“集成”功能,因此团队需要更多的力量来执行此操作。