Diese Dokumentation wurde zur Beschreibung der Serie 1.7.x von Apache™ Subversion® erstellt. Falls Sie eine unterschiedliche Version von Subversion einsetzen, sei Ihnen dringend angeraten, bei http://www.svnbook.com/ vorbeizuschauen und stattdessen die zu Ihrer Version von Subversion passende Version dieser Dokumentation heranzzuiehen.

Name

svn update (up) — Aktualisieren Ihrer Arbeitskopie.

Aufruf

svn update [PATH...]

Beschreibung

svn update holt Änderungen aus dem Projektarchiv in Ihre Arbeitskopie. Falls keine Revision angegeben ist, wird Ihre Arbeitskopie relativ zur Revision HEAD aktualisiert. Ansonsten wird Ihre Arbeitskopie mit der Revision synchronisiert, die bei der Option --revision (-r) angegeben ist. Während der Synchronisierung entfernt svn update auch veraltete Sperren (siehe „Manchmal müssen Sie einfach nur aufräumen“) aus der Arbeitskopie.

Für jedes aktualisierte Objekt wird eine Zeile ausgegeben, die mit einem Zeichen beginnt, das Auskunft über die vorgenommene Aktion gibt. Die Zeichen haben die folgende Bedeutung:

A

Hinzugefügt

B

Aufgebrochene Sperre (nur in der dritten Spalte)

D

Gelöscht

U

Aktualisiert

C

In Konflikt

G

Zusammengeführt

E

Existierte

Ein Zeichen in der ersten Spalte zeigt eine Aktualisierung für die eigentliche Datei an, während Aktualisierungen für die Eigenschaften einer Datei in der zweiten Zeile angezeigt werden. Informationen zu Sperren werden in der dritten Spalte ausgegeben.

Wie bei den meisten Unterbefehlen können Sie den Wirkbereich des Umschaltbefehls mit der Option --depth auf einen bestimmten Baum beschränken. Alternativ können Sie die Option --set-depth verwenden, um eine neue Wirktiefe für das Umschaltziel in der Arbeitskopie festzulegen.

Optionen

Beispiele

Abholen der Änderungen seit Ihrer letzten Aktualisierung aus dem Projektarchiv:

$ svn update
Updating '.':
A    newdir/toggle.c
A    newdir/disclose.c
A    newdir/launch.c
D    newdir/README 
Aktualisiert zu Revision 32.

Sie können Ihre Arbeitskopie mit update auch auf eine ältere Revision aktualisieren (Subversion kennt keine klebrigen Dateien wie CVS; siehe Anhang B, Subversion für CVS-Benutzer):

$ svn update -r30
Updating '.':
A    newdir/README
D    newdir/toggle.c
D    newdir/disclose.c
D    newdir/launch.c
U    foo.c 
Aktualisiert zu Revision 30.
[Tipp] Tipp

Falls Sie eine ältere Revision einer einzelnen Datei untersuchen möchten, verwenden Sie stattdessen besser svn cat – hierdurch wird Ihre Arbeitskopie nicht verändert.

svn update ist ebenfalls das Mittel der Wahl bei der Einrichtung von Arbeitskopien mit teilweisen Checkouts. Wird der Befehl mit der Option --set-depth aufgerufen, lässt die Aktualisierung individuelle Elemente aus oder fügt sie hinzu, indem die verzeichnete Tiefe aus ihrer Umgebung auf die von Ihnen angegebene Tiefe angepasst wird (wobei nötigenfalls Informationen aus dem Projektarchiv abgerufen wird). Mehr zu teilweise ausgecheckten Verzeichnissen unter „Verzeichnis-Teilbäume“.

Mit einem einzelnen Aufruf können Sie mehrere Ziele aktualisieren, und Subversion wird nicht nur höflich unversionierte Zielobjekte überspringen, die Sie ihm geben, sondern beinhaltet seit Subversion 1.7 auch eine abschließende Zusammenfassung aller durchgeführten Aktualisierungen:

$ cd my-projects
$ svn update *
Updating 'calc':
U    button.c
U    integer.c 
Aktualisiert zu Revision 394.
Skipped 'tempfile.tmp'
Überspringe »tempfile.tmp«
Updating 'paint':
A    palettes.c
U    brushes.c 
Aktualisiert zu Revision 394.
Updating 'ziptastic': 
Revision 43.
Summary of updates:
  Updated 'calc' to r394.
  Updated 'paint' to r60.
  Updated 'ziptastic' to r43.  
Konfliktübersicht: 
  Übersprungene Pfade: 1
$