Unter folgendem Link findet Ihr die GIT Quickreferenz für SVN Umsteiger.
Kategorie: Versionierung
In verteilten Systemen kommt es des öfteren vor, das unterschiedliche SVN Versionen zum Einsatz kommen.
Wenn euer SVN diese Meldung ausgibt:
svn: This client is too old to work with working copy 'xyz'. You need to get a newer Subversion client, or to downgrade this working copy. See http://subversion.tigris.org/faq.html#working-copy-format-change for details.
kann das Python Script change-svn-wc-format eine SVN WorkingCopy in ein bestimmtes anderes SVN Versionsformat wechseln.
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
Folgender Kommandozeilen Befehl löscht alle .svn Verzeichnisse in einem Ordner.
Im Detail sucht das Kommando find
im aktuellen Ordner (.) rekursiv
nach Verzeichnissen (-type d)
mit dem Namen .svn (-name .svn)
und piped (|) diese Liste
nach xargs,
welches dann an erster Stelle (-0) der Liste
mit der Löschoperation (rm -rf) beginnt.
find . -type d -name .svn -print0 | xargs -0 rm -rf
die SVN Quickreferenz als PDF
…für alle die mal eben schnell SVN Kommandos nachsehen wollen.
© by Tobias Zeising (tobias.zeising@aditu.de | http://www.aditu.de)