2010-07-21 14 views

risposta

13

Utilizzare lo SVN discariche:

svn log -v --xml > logfile.log 

allora si può fare il data mining da soli, o utilizzare StatSVN.

Un'altra opzione, che utilizza solo comandi di shell (ed è in realtà un po 'carina), è dettagliata in this blog post.

6

È possibile utilizzare StatSVN. Ma cosa vuoi ottenere? il conteggio dei commit non ha bisogno di dire nulla!

Tienilo a mente.

+1

Non in un solo giorno o settimana, ma enormi differenze nel numero di commit tra sviluppatori che lavorano su progetti più o meno simili nel tempo (diciamo la media giornaliera in un anno) potrebbero dirci qualcosa. –

+3

Non sono d'accordo e penso che questo sia simile al conteggio delle righe che qualcuno ha modificato e che non è preciso.Ad esempio, posso apportare una modifica a 1 riga con 1 commit che ha richiesto ore per essere trovato e che ha un impatto maggiore delle centinaia di righe con dozzine di commit eseguiti da qualcun altro un giorno. Se queste 2 persone sono migliori rispettivamente in entrambi i tipi di lavoro e le fanno entrambe spesso, solo giudicare sul conteggio degli impegni non sarebbe una rappresentazione accurata di "chi lavora di più". –

2

PanBI supporta anche Subversion analysis, uno dei quali è il numero di commit per sviluppatore in un periodo di tempo. Puoi vedere cosa fa in pochi minuti nello screencast.

ci sono 3 passi:

  1. decomprimere il PanBI distribuibile
  2. impostare l'URL sovversione a panbi.conf.xml
  3. eseguire "run-all-no-preoccupazioni" bat o. sh script

Disclaimer: è il mio progetto.

1

È possibile utilizzare un hook post-commit (trigger) sul server. All'interno del trigger è possibile scrivere informazioni in un database o in un file CSV che può essere elaborato successivamente.

44

Questo dà un rapido istogramma contando le voci dal registro in xml:

svn log -v --xml | grep '<author.*/author>' | sort $* | uniq -c | sort -rn 

    1841 <author>joe</author><br> 
    735 <author>jimbob</author><br> 
    129 <author>sally</author><br> 
    32 <author>mike</author> 

Può virare su un comando sed per pulire le cose di più, ma questo risponde alla domanda pubblicata ..

+0

So che è molto vecchio ma ho avuto problemi con questo comando in ** Windows ** usando ** CYGWIN **: la correzione sta facendo in modo che il percorso cygwin/bin appaia davanti al percorso system32 in ** PATH ** variabile. Come MSDOS ha il proprio comando ** SORT **. – ksrb

+0

2. cambiando il ** '** a ** "** in grep' ' 3. cambiando l'ordinamento $ * al solo ordinamento – ksrb

+0

Quindi sarebbe simile a questo: ** svn log -v --xml | grep "" | ordina | uniq -c | ordina -rn ** – ksrb

0

Usa SVN log

svn log -v --xml url > logfile.xml 

Per intervallo di date

svn log -v --xml <url> -r {2016-01-30}:{2016-05-30} > logfile.xml 

esempio: svn log -v --xml http://repo.abc/xyz -r {2016-01-30}:{2016-05-30} > logfile.xml

e quindi aprire il file in notepad++. Lo strumento Trova dispone di un pulsante conteggio . Trova per authorname o authorid e usa il pulsante count per trovare il numero di commit da parte della persona.

PS: Questo può essere eseguito dal prompt dei comandi di Windows, ma è necessario aggiungere '\' prima di '{'. es .: svn log -v --xml http://repo.abc/xyz -r \{2016-01-30}:\{2016-05-30} > logfile.xml

Problemi correlati