2010-04-22 6 views

Antwort

6

Ich glaube nicht, dass SVN hat eingebaute Unterstützung für diese Funktion, aber man konnte ein kleines Skript schreiben

svn log --xml 

In den Verzeichnissen von was auch immer repos laufen Sie testen wollen, dann analysieren und wähle nur die Einträge aus, die von einem bestimmten Benutzer gemacht wurden.

+0

Wo mache ich das, im Verzeichnis des Repos auf dem Server? Z.B. das Verzeichnis, das conf, dav, db, format, hooks, locks enthält. Wenn ja, sagt svn: '.' ist keine Arbeitskopie –

+0

Nein, Sie werden es auf einem Client tun wollen. svn co http://url.com/svn/thing; CD Sache; svn log --xml – Allyn

+0

Dann würde das nicht angezeigt, wenn ein anderer Benutzer es überprüft? Grundsätzlich möchte ich wissen, wer sich ein bestimmtes Repo anschaut. –

2

I zweite Allyn's answer, aber eine Ergänzung: Wenn Sie unter Windows sind, können Sie mit TortoiseSVN die Ausgabe filtern, einschließlich der Möglichkeit, nach Benutzernamen zu filtern.

9

Hier ist ein kleiner Hack, der GNUs sed verwendet, um einen regulären Ausdruck gegen die Protokollausgabe des Befehls svn auszuführen. Ändern Sie Benutzername dem Benutzernamen benötigen Sie

svn log | sed -n '/| username |/,/-----$/ p' 

Um eine Liste Ihrer Ordner aus einem WebDAV-Config (ich war auf einem Ubuntu-Box zum Zeitpunkt des Schreibens) versuchen, so etwas wie dieses ....

grep SVNPath /etc/apache2/mods-available/dav_svn.conf | grep -v \# | sed 's/^\s*SVNPath //' 

Dies greps einmal für die Zeile, zweimal, um kommentierte Zeilen zu entfernen, und filtert das Schlüsselwort SVNPath und die zugehörigen Leerzeichen. Ihre Ergebnisse sind Repo-Ordner. Wenn Sie also den Befehl svn verwenden wollen, fügen Sie folgende Datei hinzu: //

Verwandte Themen