2010-07-21 9 views

Antwort

13

Verwenden Sie die SVN-Dumps verpflichtet:

svn log -v --xml > logfile.log 

Dann können Sie entweder selbst tun das Data-Mining oder StatSVN verwenden.

Eine andere Option, die nur Shell-Befehle verwendet (und eigentlich ein bisschen nett ist), ist detailliert in this blog post.

6

Sie könnten StatSVN verwenden. Aber was willst du erreichen? commit count muss nicht irgendetwas sagen!

Denken Sie daran.

+1

Nicht an einem einzigen Tag oder Woche, aber große Unterschiede in der Anzahl der Commits zwischen Entwicklern, die im Laufe der Zeit an mehr oder weniger ähnlichen Projekten arbeiten (sagen wir Tagesdurchschnitt über ein Jahr) könnten uns etwas sagen. –

+3

Ich stimme nicht zu und ich denke, das ist vergleichbar mit dem Zählen der Zeilen, die jemand bearbeitet hat, die auch nicht genau ist.Zum Beispiel kann ich eine 1-Zeilen-Bearbeitung mit 1 Commit machen, die Stunden dauerte, um sie zu finden, und die mehr Einfluss hat als die Hunderten von Zeilen mit Dutzenden von Commits, die jemand anderes eines Tages gemacht hat. Wenn diese beiden Personen bei beiden Arten von Arbeit jeweils besser sind und sie beide oft machen, wäre die Beurteilung der Commit-Zahl keine genaue Darstellung von "wer mehr arbeitet". –

2

PanBI unterstützt auch Subversion analysis, eine davon ist die Anzahl der Commits pro Entwickler über einen Zeitraum. Sie können sehen, was es in wenigen Minuten in der screencast tut.

Es gibt drei Stufen:

  1. die PanBI ausschüttbaren
  2. setzen die Subversion URL in panbi.conf.xml
  3. laufen die "run-all-keine-Sorgen" entpacken .bat oder. sh script

Haftungsausschluss: es ist mein eigenes Projekt.

1

Sie können einen Post-Commit-Hook (Trigger) auf dem Server verwenden. Innerhalb des Auslösers können Sie Informationen in eine Datenbank oder in eine CSV-Datei schreiben, die später verarbeitet werden kann.

44

Dies ergibt ein schnelles Histogramm durch Einträge aus dem Protokoll in xml zählen:

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> 

kann auf einem sed Befehl tack Dinge zu bereinigen, aber das ist beantwortet die Frage gepostet ..

+0

Ich weiß, das ist wirklich alt, aber ich hatte Probleme bei der Ausführung dieses Befehls in ** Windows ** mit ** CYGWIN **: Die Korrektur stellt sicher, dass Ihr cygwin/bin-Pfad vor dem Pfad von system32 in ** PATH ** erscheint Variable. Als MSDOS hat es eigene ** SORT ** -Befehl. – ksrb

+0

2. Ändern der ** '** zu ** "** in Grep' ' 3. Ändern von sortieren $ * nur sortieren – ksrb

+0

So würde es aussehen: ** Svn log -v --xml | grep "" | sortieren | uniq -c | sort -rn ** – ksrb

0

Verwenden SVN log

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

Für Datumsbereich

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

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

und öffnen Sie die Datei in notepad++. Das Suchwerkzeug eine Zählung Taste hat. Suchen Sie nach Autorenname oder Autorid und verwenden Sie die Schaltfläche "Anzahl", um die Anzahl der Commits durch die Person zu ermitteln.

PS: Dies kann aus den Fenstern ausgeführt werden Eingabeaufforderung, aber Sie müssen '\' vor '{' hinzuzufügen. ie: svn log -v --xml http://repo.abc/xyz -r \{2016-01-30}:\{2016-05-30} > logfile.xml

Verwandte Themen