Diese Dokumentation wurde zur Beschreibung der Serie 1.6.x von 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 status (stat, st) — Ausgabe des Zustands von Dateien und Verzeichnissen der Arbeitskopie.

Aufruf

svn status [PATH...]

Beschreibung

Gibt den Zustand von Dateien und Verzeichnissen der Arbeitskopie aus. Ohne Argumente werden nur lokal geänderte Objekte ausgegeben (ohne Zugriff auf das Projektarchiv). Mit --show-updates (-u) werden Informationen über die Arbeitsrevision und in Bezug auf den Server nicht mehr aktuelle Revisionen angezeigt. Mit --verbose (-u) werden vollständige Revisionsinformationen für jedes Objekt ausgegeben. Mit --quiet (-u) wird nur eine Zusammenfassung über lokal geänderte Objekte ausgegeben.

Die ersten sieben Spalten der Ausgabe sind jeweils ein Zeichen breit und beinhalten Informationen über einen unterschiedlichen Aspekt jedes Objektes der Arbeitskopie.

Die erste Spalte gibt Auskunft darüber, ob ein Objekt hinzugefügt, gelöscht oder anderweitig geändert wurde:

' '

Keine Änderungen.

'A'

Objekt ist zum Hinzufügen vorgemerkt.

'D'

Objekt ist zum Löschen vorgemerkt.

'M'

Objekt wurde geändert.

'R'

Objekt wurde in Ihrer Arbeitskopie ersetzt. Das bedeutet, dass die Datei zum Löschen und an deren Stelle eine neue Datei gleichen Namens zum Hinzufügen vorgemerkt wurde.

'C'

Der Inhalt (im Gegensatz zu den Eigenschaften) des Objektes steht in Konflikt mit dem aktualisierten Inhalt aus dem Projektarchiv.

'X'

Objekt ist aufgrund einer externals-Definition vorhanden.

'I'

Objekt wird ignoriert (d.h., durch die Eigenschaft svn:ignore ).

'?'

Objekt ist nicht unter Versionskontrolle.

'!'

Objekt wird vermisst (d.h., Sie haben es verschoben oder gelöscht, ohne svn zu verwenden). Das deutet auch darauf hin, dass ein Verzeichnis unvollständig ist (ein Checkout oder eine Aktualisierung wurde unterbrochen).

'~'

Objekt ist als eine bestimmte Objektart versioniert (Datei, Verzeichnis, Link), wurde jedoch durch eine andere Objektart ersetzt.

Die zweite Spalte gibt Auskunft über die Eigenschaften einer Datei oder eines Verzeichnisses:

' '

Keine Änderungen.

'M'

Eigenschaften dieses Objektes wurden geändert.

'C'

Eigenschaften dieses Objektes stehen in Konflikt mit Eigenschafts-Aktualisierungen aus dem Projektarchiv.

Die dritte Spalte wird nur gefüllt, falls das Verzeichnis der Arbeitskopie gesperrt ist (siehe „Manchmal müssen Sie einfach nur aufräumen“):

' '

Objekt ist nicht gesperrt.

'L'

Objekt ist gesperrt.

Die vierte Spalte wird nur gefüllt, falls das Objekt zum Hinzufügen samt Geschichte vorgemerkt ist:

' '

Geschichte soll nicht übergeben werden.

'+'

Geschichte soll übergeben werden.

Die fünfte Spalte wird nur gefüllt, falls das Objekt relativ zu seinem Elternobjekt auf einem anderen Zweig liegt (siehe „Zweige durchlaufen“):

' '

Objekt ist Kind des Elternverzeichnisses.

'S'

Objekt kommt von einem anderen Zweig.

Die sechste Spalte wird mit Informationen zu Sperren gefüllt:

' '

Falls --show-updates (-u) verwendet wird, ist die Datei nicht gesperrt. Falls --show-updates (-u) nicht verwendet wird, bedeutet es lediglich, dass die Datei nicht in der Arbeitskopie gesperrt ist.

K

Datei ist in dieser Arbeitskopie gesperrt.

O

Die Datei ist entweder durch einen anderen Benutzer oder in einer anderen Arbeitskopie gesperrt. Das erscheint nur, falls --show-updates (-u) verwendet wird.

T

Die Datei war in dieser Arbeitskopie gesperrt worden, die Sperre wurde jedoch gestohlen und ist ungültig. Die Datei ist momentan im Projektarchiv gesperrt. Das erscheint nur, falls --show-updates (-u) verwendet wird.

B

Die Datei war in dieser Arbeitskopie gesperrt worden, die Sperre wurde jedoch aufgebrochen und ist ungültig. Die Datei ist nicht mehr gesperrt. Das erscheint nur, falls --show-updates (-u) verwendet wird.

Die siebte Spalte ist nur dann belegt, falls das Objekt das Opfer eines Baumkonfliktes ist:

' '

Objekt ist nicht das Opfer eines Baumkonfliktes.

'C'

Objekt ist das Opfer eines Baumkonfliktes.

Die achte Spalte ist immer leer.

Aktualitätsinformation erscheint in der neunten Spalte (nur wenn Sie die Option --show-updates (-u) angeben):

' '

Das Objekt in Ihrer Arbeitskopie ist aktuell.

'*'

Auf dem Server ist eine neuere Revision verfügbar.

Die übrigen Felder haben eine variable Breite und werden durch Leerzeichen begrenzt. Das nächste Feld gibt die Arbeitsrevision an, falls die Option --show-updates (-u) oder --verbose (-v) angegeben wird.

Falls die Option --verbose (-v) angegeben wird, folgt die letzte übergebene Revision und der Autor derselben.

Der Pfad der Arbeitskopie ist stets das letzte Feld, so dass es auch Leerzeichen enthalten kann.

Optionen

--changelist ARG
--depth ARG
--ignore-externals
--incremental
--no-ignore
--quiet (-q)
--show-updates (-u)
--verbose (-v)
--xml

Beispiele

Auf diese Weise lässt sich am einfachsten herausfinden, welche Änderungen Sie in der Arbeitskopie gemacht haben:

$ svn status wc
 M      wc/bar.c
A  +    wc/qax.c

Falls Sie herausfinden möchten, welche Dateien Ihrer Arbeitskopie nicht mehr aktuell sind, geben Sie die Option --show-updates (-u) mit (es werden keine Änderungen an der Arbeitskopie vorgenommen). Hier können Sie sehen, dass sich wc/foo.c seit unserer letzten Aktualisierung im Projektarchiv geändert hat:

$ svn status -u wc
 M            965    wc/bar.c
        *     965    wc/foo.c
A  +          965    wc/qax.c

Status bezogen auf Revision:    981
[Anmerkung] Anmerkung

--show-updates (-u) fügt nur Objekten ein Sternchen hinzu, falls sie nicht mehr aktuell sind (d.h., Objekte die aus dem Projektarchiv beim nächsten svn update aktualisiert würden). --show-updates (-u) veranlasst die Ausgabe nicht, die Projektarchiv-Revision des Objektes anzuzeigen (Sie können die Revisionsnummer im Projektarchiv jedoch sehen, indem Sie die Option --verbose (-v) angeben).

Die umfangreichste Information bekommen Sie wie folgt:

$ svn status -u -v wc
 M            965       938 sally        wc/bar.c
        *     965       922 harry        wc/foo.c
A  +          965       687 harry        wc/qax.c
              965       687 harry        wc/zig.c

Status bezogen auf Revision:   981

Schließlich können Sie die Ausgabe von svn status mit der Option --xml im XML-Format erhalten:

$ svn status --xml wc
<?xml version="1.0"?>
<status>
<target
   path="wc">
<entry
   path="qax.c">
<wc-status
   props="none"
   item="added"
   revision="0">
</wc-status>
</entry>
<entry
   path="bar.c">
<wc-status
   props="normal"
   item="modified"
   revision="965">
<commit
   revision="965">
<author>sally</author>
<date>2008-05-28T06:35:53.048870Z</date>
</commit>
</wc-status>
</entry>
</target>
</status>

Für wesentlich mehr Beispiele von svn status, siehe „Verschaffen Sie sich einen Überblick über Ihre Änderungen“.