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?