2010-12-11 15 views
15

Il mio team utilizza Mercurial e vorrei conoscere i contributi relativi di ciascun membro del team. So che non siamo in grado di misurare la produttività per linee di codice, ma vorrei vedere se almeno ogni persona ha contribuito con , anche se è stato sovrascritto da altri in seguito. Quindi, non voglio solo vedere chi è responsabile per la versione corrente (un'annotazione la Mercurial), ma per farlo in modo ricorsivo attraverso tutte le revisioni, idealmente con l'output che può essere facilmente visualizzato o scaricato in un foglio di calcolo.Usando Mercurial, come posso misurare i singoli contributi?

Qualche consiglio?

risposta

22

C'è un'estensione esattamente per questa, denominata churn, è in bundle con Mercurial, ma non è abilitata automaticamente. Puoi trovare maggiori informazioni qui: ChurnExtension.

Nel file mercurial.ini, alla sezione [extensions], aggiungere il seguente:

 
[extensions] 
churn= 

Poi a guardare il tasso di abbandono del repository, basta fare:

 
hg churn 

Questa uscita volontà qualcosa di simile (questo è per la 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

È interessante notare che elenca alcuni utenti due volte, tuttavia potrebbero aver cambiato il loro nome. +1 comunque, bello sapere –

+1

Elenca per nome univoco, ei nomi sono tutti unici. Tuttavia, è possibile fornire un file alias che rinomina alcuni nomi, in particolare per combattere questo problema. –

+0

Praticamente esattamente quello che stavo cercando. Grazie! – Paul

8

C hurn fa il lavoro, ma nota che se un utente sposta molto file, avrà enormi quantità di linee cambiate. Ho appena fatto un test, ecco i risultati:

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 ***************************************** 

Nota che ho creato solo 10 linee, ma per spostare un file ho avuto 20 cambi di line. Ciò non trasmette una buona immagine.

+0

Questo è probabilmente più adatto come un breve commento alla risposta di Lasse. – Zero3

Problemi correlati