13 Stimmen

Gibt es eine Möglichkeit, svn log über ein ganzes Repository laufen zu lassen (nicht nur ein Checkout von trunk), ohne es auschecken zu müssen?

Ich habe ein Subversion-Repository, das unsere Atlassian Fisheye-Instanzen aufgrund einiger versehentlicher Commits und Backouts (d.h. jemand hat das gesamte Repository markiert, anstatt nur /trunk, und das bei mehr als einer Gelegenheit) fast erstickt. Ich möchte also das Repository auf überdurchschnittlich große Commits überprüfen und einen Dump+Load durchführen, um die schlechten Commits mit svndumpfilter zu entfernen. Ich habe allerdings ein paar Probleme, die Größe der einzelnen Revisionen zu ermitteln. Ich bin fast am Ziel. Ich habe das Folgende, das die Größe jeder Revision bestimmt, die mit svn log bei einem Trunk-Checkout sichtbar ist:

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 die fehlerhaften Übertragungen jedoch außerhalb des Stammes stattfanden, werden sie bei der Ausführung von svn log auf der Arbeitskopie (des Stammes) nicht aufgeführt. Stattdessen brauche ich die Funktionalität von svn log, um das gesamte Repository zu überprüfen. Ich KÖNNTE das gesamte Repository auschecken, aber ich habe nicht die Tage/Wochen, die nötig sind, um alle Tags+Branches auszuchecken. Kann mir hier jemand helfen?

20voto

Greg Hewgill Punkte 882617

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

svn log svn://server/repo

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X