
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