2010-08-20 1 views
12

Ich habe ein Subversion-Repository, an dem sich unsere Atlassian Fisheye-Instanzen wegen versehentlicher Commits und Backouts fast ersticken (d. H. Jemand hat das gesamte Repository anstatt nur/trunk und bei mehr als einer Gelegenheit getaggt). Also, was ich tun möchte, ist das Repo für größere als durchschnittliche Commits zu prüfen, und führen Sie einen Dump + laden, um die schlechten Commits mit Svndumpfilter zu entfernen. Ich habe ein kleines Problem, aber die Größe jeder Revision zu bekommen. Ich bin fast da. Ich habe die folgende bekam, die die Größe der einzelnen Revision sichtbar mit svn log mit einem Stamm der Kasse bestimmt:Gibt es eine Möglichkeit, Svn-Log auf einem gesamten Repository (nicht nur ein Checkout von Trunk) zu laufen, ohne es auschecken zu müssen?

for r in `svn log -q | grep ^r | cut -d ' ' -f 1 | tr -d r`; 
do echo "revision $r is " `svn diff -c $r | wc -c` " bytes"; 
done 

Da jedoch die schlechte Commits außerhalb des Stamm passiert ist, svn log auf dem Arbeitskopie läuft (der Stamm) listet sie nicht auf. Stattdessen brauche ich die Funktionalität von Svn Log Repository-weit zu laufen. Ich konnte das gesamte Repository auschecken, aber ich habe nicht die Tage/Wochen, um alle Tags + Zweige zu überprüfen. Kann mir hier jemand helfen?

Antwort

17

Sicher, können Sie eine URL svn log angeben:

svn log svn://server/repo 
+0

Dank Greg musste ich auch den Repo-Pfad nach dem "svn diff -c $ r" in dem obigen Befehl begraben hinzufügen, und es funktioniert perfekt. –

Verwandte Themen