2010-12-11 11 views
15

Mein Team verwendet Mercurial, und ich möchte die relativen Beiträge von jedem Teammitglied wissen. Ich weiß, dass wir die Produktivität nicht anhand von Codezeilen messen können, aber ich würde gerne sehen, ob jede Person wenigstens etwas beigetragen hat, auch wenn es später von anderen überschrieben wurde. Ich möchte also nicht nur sehen, wer für die aktuelle Version verantwortlich ist (a la Mercurial Annotate), sondern dies rekursiv in allen Revisionen tun, idealerweise mit einer Ausgabe, die einfach visualisiert oder in eine Tabelle ausgegeben werden kann.Mit Mercurial, wie kann ich individuelle Beiträge messen?

Irgendwelche Tipps?

Antwort

22

Es gibt genau dafür eine Erweiterung namens churn, die mit Mercurial gebündelt, aber nicht automatisch aktiviert ist. Weitere Informationen finden Sie hier: ChurnExtension.

In Ihrem Mercurial.ini Datei, auf die [extensions] Abschnitt, fügen Sie folgendes:

 
[extensions] 
churn= 

Dann am Abwanderungs Ihres Repository zu suchen, tun gerade:

 
hg churn 

Dies wird ausgegeben so etwas wie dieses (dies ist für die Noda-Time project):

 
[C:\Dev\VS.NET\Noda-Time-docs] :hg churn 
[email protected]    296444 ************************************************************************************************************* 
[email protected]  203877 *************************************************************************** 
James Keesey     80466 ****************************** 
[email protected]  25552 ********* 
Dmitry Bullavin    17657 ****** 
[email protected] 16325 ****** 
Dmitry Bulavin     4273 ** 
james.keesey     2650 * 
matt.scharley     768 
configurator     450 
[email protected]    64 
[email protected]    2 
+0

Es ist eine interessante Sache, dass es einige Benutzer zweimal auflistet, jedoch möglicherweise ihre Namen geändert haben. +1 egal, schön zu wissen –

+1

Es listet per eindeutigen Namen, und die Namen sind alle einzigartig. Sie können jedoch eine Alias-Datei angeben, die einige Namen umbenennt, um dieses Problem zu beheben. –

+0

Ziemlich genau das, was ich gesucht habe. Vielen Dank! – Paul

8

C hurn macht den Job, aber beachten Sie, dass wenn ein Benutzer Dateien viel bewegt, er riesige Mengen an geänderten Zeilen haben wird. Ich habe gerade einen Test, hier sind die Ergebnisse:

C:\Projects\personal\test>hg churn 
[email protected]  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 
[email protected]  30 ***************************************** 

Bitte beachte, dass ich nur 10 Zeilen erstellt haben, aber zum Bewegen einer Datei, die ich mit 20 Zeilen Änderungen bekam. Das vermittelt kein gutes Bild.

+0

Dies ist wahrscheinlich besser als kurzer Kommentar zu Lasses Antwort geeignet. – Zero3