Используя Mercurial, как я могу измерить индивидуальные вклады?


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

Какие-нибудь советы?

2 15

2 ответа:

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

В вашем ртутном.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

Отток делает свою работу, но обратите внимание, что если пользователь перемещает файлы много, у него будет огромное количество измененных строк. Я только что сделал тест, Вот результаты:

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