我的团队正在使用 Mercurial,我想知道每个团队成员的相对贡献。我知道我们不能通过代码行来衡量生产力,但我想看看每个人是否至少贡献了一些东西,即使它后来被其他人覆盖。所以,我不只是想看看谁负责当前版本(a la Mercurial 注释),而是通过所有修订递归地执行此操作,理想情况下,输出可以轻松可视化或转储到电子表格中。
有小费吗?
我的团队正在使用 Mercurial,我想知道每个团队成员的相对贡献。我知道我们不能通过代码行来衡量生产力,但我想看看每个人是否至少贡献了一些东西,即使它后来被其他人覆盖。所以,我不只是想看看谁负责当前版本(a la Mercurial 注释),而是通过所有修订递归地执行此操作,理想情况下,输出可以轻松可视化或转储到电子表格中。
有小费吗?
有一个专门用于此的扩展,名为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
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 行更改。这并没有传达出好的画面。