Liste aller Benutzer, die sich an einem SVN-Repository beteiligt haben

Liste aller Benutzer, die sich an einem SVN-Repository beteiligt haben

Für ein bestimmtes SVN-Repository muss ich eine Liste aller Benutzer erstellen, die jemals etwas in dieses Repository übertragen haben. Dieses Repository ist nicht das einzige auf dem SVN-Server, aber die Liste sollte auf dieses Repository beschränkt sein.

Antwort1

Als ich begann, meine Python-Analyse umzuschreiben, fiel mir eine viel bessere Möglichkeit ein, Ihre Anfrage zu erfüllen (ich analysierte Namen und Daten der Einreichungen, um das Verhältnis von Einreichungen am Wochenende zu Einreichungen an Wochentagen zu berechnen und zu sehen, wer kein Leben hatte!).

Schauen Sie sich das Repository an, gehen Sie dann dorthin und führen Sie Folgendes aus:

svn log | grep '^r[0-9]' | awk '{print $3}' | sort | uniq

Dadurch wird eine Liste aller Änderungen abgerufen, die festgeschrieben wurden, nach den Zeilen gesucht, die mit der Revision und der Nummer ( r[12341] | author | date-and-stuff...) beginnen, das dritte Feld (Autor) gedruckt, die Autoren sortiert und Duplikate entfernt.

Antwort2

Leichte Form der @DrummerB-Antwort für Benutzernamen mit Leerzeichen, kombiniert mit der Einfachheit von @vgm64

svn log -q | gawk -F "|" '/^r[0-9]/ { print $2 }' | sort -u

Antwort3

Die Antwort von vgm64 ist gut, funktioniert aber nicht gut mit Namen, die Leerzeichen enthalten. Ich habe sie geändert, sodass sie funktioniert:

svn log | grep '^r\do*' | sed 's_^r[0-9]* | \([^|]*\) | .*$_\1_g' | sort | uniq

Antwort4

Win-PowerShell-Version der Antwort von @Albirew:

svn log -q | Select-String "^r" | ForEach-Object {
    $parts = $_ -split '\|'
    $author = $parts[1].Trim()
    "$author = $author <$author>"
} | Sort-Object -Unique > Authors.txt

verwandte Informationen