Используя Mercurial, как я могу измерить индивидуальный вклад? - PullRequest
15 голосов
/ 11 декабря 2010

Моя команда использует Mercurial, и я хотел бы знать относительный вклад каждого члена команды.Я знаю, что мы не можем измерить производительность по строкам кода, но я хотел бы посмотреть, внес ли каждый человек, по крайней мере, что-то , даже если это позже было перезаписано другими.Итак, я не просто хочу увидеть, кто отвечает за текущую версию (а-ля Mercurial), но сделать это рекурсивно через все ревизии, в идеале с выводом, который можно легко визуализировать или выгрузить в электронную таблицу.

Любые советы?

Ответы [ 2 ]

22 голосов
/ 11 декабря 2010

Для этого есть расширение, названное churn, оно связано с Mercurial, но не включается автоматически.Вы можете найти более подробную информацию здесь: ChurnExtension .

В вашем файле mercurial.ini в разделе [extensions] добавьте следующее:

[extensions]
churn=

Затем кпосмотрите на отток вашего хранилища, просто сделайте:

hg churn

Это выведет что-то вроде этого (это для проекта Noda-Time ):

[C:\Dev\VS.NET\Noda-Time-docs] :hg churn
skeet@pobox.com              296444 *************************************************************************************************************
james.keesey@gmail.com       203877 ***************************************************************************
James Keesey                  80466 ******************************
dmitry.bulavin@gmail.com      25552 *********
Dmitry Bullavin               17657 ******
martinho.fernandes@gmail.com  16325 ******
Dmitry Bulavin                 4273 **
james.keesey                   2650 *
matt.scharley                   768
configurator                    450
lasse@vkarlsen.no                64
TeamCity@Nordrassil               2
8 голосов
/ 01 февраля 2011

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 строк изменений.Это не передает хорошую картину.

...