SVN-Befehle für Zwischendurch

Ein paar kleine SVN-Befehle und One-liner für den Alltag:

Alle Beitragenden eines Repositories anzeigen lassen (sortiert nach Anzahl der Änderungen):

svn log -q | awk '/^r/ {print $3}' | sort | uniq -c | sort -rn

Alle Änderungen zwischen der aktuellen Arbeitskopie und der Head-Version anzeigen lassen. Sollte im Normalfall auch anzeigen, wer den Build kaputt gespielt hat. ;)

svn log -r BASE:HEAD

History eines Zweiges ausgehend vom Verzweigungspunkt anzeigen lassen:

svn log --stop-on-copy

Alle Änderungen innerhalb eines Zeitraums ausgeben lassen:

svn di -r{2009-10-23}:{2009-11-28}

ALLE Änderungen der lokalen Arbeitskopie rückgängig machen:

svn revert -R .

SVN-Informationen als XML ausgeben lassen, um einfacher Infos für Analysen und Statistiken zu erhalten/zu parsen:

svn log --xml

Noch was für Leute, die keine Angst vor’m Löschen von Externals haben: Alle Dateien, die mit ? gekennzeichnet sind (bei SVN-Status) einfach mal löschen:

svn st | grep ^\? | awk '{print $2}' | xargs rm

Und hier noch ein Befehl um alle neuen Dateien zum Repository hinzuzufügen

svn st|grep ^?|sed s/?//|xargs svn add $1