Arbeitsabläufe
Import
- svn import
Checkt unversionierte Dateien in ein Repository ein, z.B.:
$ svn import vs.policy https://dev.veit-schiele.de/svn/vs.policy -m 'Initial import'
Siehe auch: Produkt importieren
Änderungen durchführen
- svn add
fügt Dateien, Verzeichnisse und symbolische Links hinzu, z.B.:
$ svn add vs/policy/migrations A vs/policy/migrations A vs/policy/migrations/configure.zcml A vs/policy/migrations/__init__.py A vs/policy/migrations/v1_1
- svn delete
löscht ein Objekt aus der Arbeitskopie oder einem Repository, z.B.:
$ svn delete vs/policy/migrations/v1_1 $ svn delete https://dev.veit-schiele.de/svn/vs.policy/trunk/vs/policy/migrations
Alternative Namen: del, remove, rm
- svn copy
kopiert eine Datei oder ein Verzeichnis in ein Arbeitskopie oder ein Repository, z.B.:
$ svn copy /home/veit/myproject/src/vs.policy/vs/plicy/setuphandlers.py vs/plicy/ $ svn copy https://dev.veit-schiele.de/svn/vs.policy/trunk https://dev.veit-schiele.de/svn/vs.policy/tags/1.1
Alternative Namen: cp
- svn move
verschiebt eine Datei oder ein Verzeichnis in einer Arbeitskopie oder einem Repository, z.B.:
$ svn move vs.policy/vs/plicy/migrations/v1_1 vs.policy/vs/plicy/migrations/v1_1_1 $ svn move https://dev.veit-schiele.de/svn/vs.policy/tags/1.1 https://dev.veit-schiele.de/svn/vs.policy/tags/1.1.1
Alternative Namen: mv, rename, ren
Änderungen überprüfen
- svn status
gibt den Status der Dateien und Verzeichnisse in der Arbeitskopie aus, z.B.:
$ svn status M vs.policy.egg-info/PKG-INFO M setup.py
L Gesperrt M Verändert X Externe Definition ? Wird nicht von svn verwaltet ! Ist svn bekannt, jedoch fehlerhaft oder unvollständig ~ Versioniert als Datei/Verzeichnis/Link, aber jetzt von anderem Typ I Soll von svn ignoriert werden A Soll hinzugefügt werden A + Hinzugefügt (History vom Ursprungsort übernommen) M + Hinzugefügt (History vom Ursprungsort übernommen) und lokale Änderungen D Soll gelöscht werden C Konflikte durch ein Update R Soll ersetzt werden S Wurde auf einen Branch umgestellt - svn log
zeigt Ihnen für jede Revision die Protokollmeldung, Datum, Autor und Pfade der geänderten Dateien, z.B.:
Zeige die Meldung des letzten Commits:
$ svn log -r HEAD
Zeige alle Protokolle des Arbeitsverzeichnisses seit der letzten Aktualisierung:
$ svn log -r BASE:HEAD
- svn diff
zeigt Ihnen die Details einer bestimmten Änderung, z.B.:
Zeige die letzte Änderung, die für setuphandlers.py eingecheckt wurde:
$ svn diff -r PREV:COMMITTED setuphandlers.py
Zeige die Änderungen der Arbeitskopie zur aktuellen Version im Repository:
$ svn diff -r HEAD
Vergleiche die unveränderte Version von setuphandlers.py mit mit der letzten Version im Repository:
$ svn diff -r BASE:HEAD setuphandlers.py
- svn cat
- zeigt eine Datei in einer bestimmten Revision.
- svn list
- zeigt für eine bestimmte Revision die Liste aller Dateien in einem Verzeichnis.
Änderungen rückgängig machen
Lokale Änderungen rückgängig machen
- svn revert
macht alle lokalen Änderungen rückgängig, z.B.:
$ svn revert vs/policy/setuphandlers.py Reverted vs/policy/setuphandlers.py
Falls Sie für ein Verzeichnis mit allen darin enthaltenen Objekten zur BASE-Revision zurückkehren möchten, geben Sie die Option -R an:
$ svn revert -R vs/policy/migrations Reverted vs/policy/migrations
Checkins rückgängig machen
Subversion ab Version 1.4 enthält für merge die Option -c, mit der sich eine einzelne Version rückgängig machen lässt. Um z.B. die Revision 1678 rückgängig zu machen, kann einfach folgendes eingegeben werden:
$ svn merge -c -1678
Arbeitskopie aktualisieren
- svn update
Wenn der Server Änderungen an die Arbeitskopie sendet, wird neben jedem betroffenen Objekt ein Buchstabe angezeigt, z.B.:
Nehme die letzte Änderung von setuphandlers.py zurück, wobei die Arbeitsrevision von setuphandlers.py verringert wird:
$ svn update -r PREV setuphandlers.py
U
Updated
A
Added
D
Deleted
R
Replaced
G
Merged
C
Conflict
- svn resolve
löst Konflikte in Arbeitskopie-Dateien oder -Verzeichnissen, z.B.:
$ svn update Conflict discovered in 'setuphandlers.py' Select: (p) postpone, (df) diff-full, (e) edit, (h) help for more options: p C setuphandlers.py Updated to revision 78. $ svn resolve --accept mine-full setuphandlers.pyKonflikte werden hier nicht semantisch aufgelöst, sondern durch die in --accept angegebene Version:
- base
- löst den Konflikt, indem die Datei der BASE-Revision verwendet wird bevor Sie die Arbeitskopie aktualisiert haben.
- working
- wird verwendet, wenn Sie den Konflikt manuell aufgelöst haben, womit die Version ausgeählt wird, die sich aktuell in Ihrer Arbeitskopie befindet.
- mine-full
- löst den Konflikt auf indem die Version verwendet wird, die sich unmittelbar vor dem Ausführen von svn update in Ihrem Arbeitsverzeichnis befunden hat.
- theirs-foll
- löst den Konflikt, indem alle betroffenen Dateien durch die Version auf dem Server ersetzt werden.
Änderungen freigeben
- svn commit
checkt Änderungen Ihrer Arbeitskopie in das Repository ein, z.B.:
$ svn commit -m 'Added portlets' Sending a Transmitting file data . Committed revision 5.
