2012-12-19 36 views
11

在我们的团队中,我们为每个提交实践代码审查。我的意思是本地代码审查,当审查者坐在你身边。使用Subversion(我们使用TortoiseSVN的),我们用来分拣组变化是这样的:Mercurial知识库中的代码审查工具

enter image description here

现在我们使用的水银(通过TortoiseHG)。 TortoiseHG不支持在工作目录中对分组进行修改。

本地提交有点帮助,但仍然有一个问题与审查一堆本地提交。没有办法“标记”(例如,使用复选框)已经审查过的文件。

有没有解决这个问题的工具?另外,阅读Mercurial的代码审查经验将会非常有趣。

回答

4

我们利用Atlassian工具Crucible这是迄今为止最好的公关工具之一,并且与所有其他Atlassian工具混合使用,这是它的最佳选择。对于一个小团队来说,这可能会很便宜,对于大型企业来说,这个价格也相当便宜

尽管将您的更改推送到受监控的回购库,但这种方法仍然有效。我们有效地使用持续集成和构建以禁用每天晚上推送代码,以便我们可以尽早并快速地进行同行评审和合并。

虽然我们将配对程序并检查肩部变化或吸引人,但我们可以使用IDE(IntelliJ IDEA)或DiffMerge来查看计算机上的更改。这不是一个真正的公关工具,它是一个diff/merge工具,我们也用于合并,但DiffMerge和Crucible的混合使得我们的敏捷过程非常顺利。

我希望能帮到一些。

+0

似乎像Crucible或ReviewBoard这样的工具对我们来说太强大了。无论如何,谢谢你的答案! – Kirill

-2

有很多代码审查工具可以处理这个 - 一些免费的;一些支付。做一个“同行代码审查”的搜索,你会看到他们。我会选择一些可以让你报告工作流程,发现的错误,审查时间等的信息。这些信息对于提高开发人员和开发团队的性能非常有用。

+6

有些链接可能会有所帮助。有什么你有经验,你可以推荐? – davidmc24

5

我看到在水银执行代码审查至少有两种方法| TortoiseHG:

  • 没有第三方工具
  • 使用附加产品

内部代码审查

只有Mercurial及其命名的分支在这种情况下使用。初步工作流程和协议 *默认分支是仅合并分支。所有的开发发生在单独的(个人功能 - ?)分支机构; *只有受信任的QA才有权限合并为默认值;

它是如何工作

  1. 当DEV想显示从分支功能来QA了一些变更,他推的问题(hg push -b)分支以QA(或QA拉分支)
  2. 每个审核变更(或审查所有包)后,整个分支合并为默认(或任何其他“主线”分支)和默认推到“权威资源库”,从“接受改变”可以通过其他开发人员拉

代码审查与外部工具

ReviewBoard

TortoiseHG从2.0有ReviewBoard对话,集成到工作台UI。您可以下载,安装,配置ReviewBoard(请注意 - Django的)或登录到RBCommons(托管ReviewBoard),并按照本small HowTo为了得到TortoiseHG和ReviewBoard整合

Assembla,到位桶

后使用分叉回购和拉取请求,您也可以使用CodeReview(在某种程度上)

5

如果您使用Mercurial + Visual Studio开发,我可以推荐Review Assistant

我们将它用于我们公司的代码审查。我们主要进行提交后代码审查。

另外,您可以设置与TortoiseHG的集成。

0

需要一种方法让本地团队中的开发人员能够打包更改并发送给他们进行审阅。这里是揭幕战:

开发答: hg diff > uncommited.patch

开发B: hg patch --no-commit uncommited.patch