16

我的团队正在使用 Mercurial,我想知道每个团队成员的相对贡献。我知道我们不能通过代码行来衡量生产力,但我想看看每个人是否至少贡献了一些东西,即使它后来被其他人覆盖。所以,我不只是想看看谁负责当前版本(a la Mercurial 注释),而是通过所有修订递归地执行此操作,理想情况下,输出可以轻松可视化或转储到电子表格中。

有小费吗?

4

2 回答 2

23

有一个专门用于此的扩展,名为churn,它与 Mercurial 捆绑在一起,但不会自动启用。您可以在此处找到更多信息:ChurnExtension

在您的 mercurial.ini 文件中,向该[extensions]部分添加以下内容:

[扩展]
流失=

然后查看存储库的流失情况,只需执行以下操作:

汞流失

这将输出如下内容(这是针对Noda-Time 项目的):

[C:\Dev\VS.NET\Noda-Time-docs] :hg churn
skeet@pobox.com 296444 ************************************************ ****************************************************** ***************
james.keesey@gmail.com 203877 ****************************************** ************************************
詹姆斯·基西 80466 ******************************
dmitry.bulavin@gmail.com 25552 *********
德米特里·布拉文 17657 ******
martinho.fernandes@gmail.com 16325 ******
德米特里·布拉文 4273 **
詹姆斯·基西 2650 *
第768章
配置器 450
lasse@vkarlsen.no 64
TeamCity@Nordrassil 2
于 2010-12-11T16:49:31.490 回答
9

Churn 完成了这项工作,但请注意,如果用户移动文件很多,他将有大量更改的行。我刚刚做了一个测试,结果如下:

C:\Projects\personal\test>hg churn
darius.damalakas@gmail.com     10 *****************************************

C:\Projects\personal\test>hg mv a.a b.b
moving a.a to b.b

C:\Projects\personal\test>hg commit -m "moving 10 lines to another location"
b.b
committed changeset 1:c54200557152

C:\Projects\personal\test>hg churn
darius.damalakas@gmail.com     30 *****************************************

请注意,我只创建了 10 行,但为了移动文件,我得到了 20 行更改。这并没有传达出好的画面。

于 2011-02-01T18:02:15.310 回答