Für ein bestimmtes SVN-Repository muss eine Liste aller Benutzer erstellt werden, die jemals etwas für dieses Repository festgelegt haben. Dieses Repository ist nicht das einzige auf dem SVN-Server, aber die Liste sollte auf dieses Repository beschränkt sein.
user-accounts
svn
repository
user12889
quelle
quelle
svn log
die Benutzer analysieren , die Änderungen festgeschrieben haben? Oder ist das Auschecken des Repos keine Option?Antworten:
Während ich anfing, mein Python-Parsing neu zu schreiben, erkannte ich einen viel besseren Weg, um das zu tun, was Sie gefragt haben (ich analysierte Namen und Übermittlungsdaten, um die Übermittlungsverhältnisse zwischen Wochenende und Wochentag zu berechnen, um zu sehen, wer kein Leben hatte!).
Schauen Sie sich das Repo an, gehen Sie dorthin und führen Sie Folgendes aus:
svn log | grep '^r[0-9]' | awk '{print $3}' | sort | uniq
Dadurch wird eine Liste aller festgeschriebenen Änderungen angezeigt, nach den Zeilen gesucht, die mit der Revision und Nummer beginnen (
r[12341] | author | date-and-stuff...
), das dritte Feld (Autor) ausgedruckt, die Autoren sortiert und Duplikate entfernt.quelle
(no author)
), wird durch Hinzufügen von-F ' [|] '
zu awk der gesamte Name erfasst :svn log | grep '^r[0-9]' | awk -F ' [|] ' '{print $2}' | sort | uniq
.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
quelle
Die Antwort von vgm64 ist gut, funktioniert aber nicht gut mit Namen, die Leerzeichen enthalten. Ich habe es geändert, also:
quelle
Ich weiß, dass dieser Thread alt ist, aber da dort einige Tutorials zum Konvertieren von SVN in Git verlinkt sind, füge ich einen Befehl hinzu, der eine Authors.txt-Datei generiert:
Wenn es sich um eine importierte SVN handelt oder wenn Sie auf den
Not a working copy
Fehler stoßen , können Sie den lokalen Pfad zum SVN-Ordner angeben, indem Siefile:///tmp/svn-repo
nach hinzufügensvn log -q
quelle