svn status — Ausgabe des Zustands von Dateien und Verzeichnissen der Arbeitskopie.
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
werden
Informationen über die Arbeitsrevision und in Bezug auf
den Server nicht mehr aktuelle Revisionen angezeigt. Mit
--verbose
werden vollständige
Revisionsinformationen für jedes Objekt ausgegeben. Mit
--quiet
wird nur eine Zusammenfassung
über lokal geänderte Objekte ausgegeben.
Die ersten sechs Spalten der Ausgabe sind jeweils ein Zeichen breit und beinhalten Informationen über bestimmte Aspekte 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
verwendet
wird, ist die Datei nicht gesperrt. Falls
--show-updates
nicht verwendet wird, bedeutet
es lediglich, dass die Datei nicht in der
Arbeitskopie gesperrt ist.
Datei ist in dieser Arbeitskopie gesperrt.
Die Datei ist entweder durch einen anderen
Benutzer oder in einer anderen Arbeitskopie
gesperrt. Das erscheint nur, falls
--show-updates
verwendet wird.
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
verwendet
wird.
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
verwendet
wird.
Aktualitätsinformation erscheint in der siebten Spalte
(nur wenn Sie die Option --show-updates
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 getrennt. Das nächste Feld gibt
die Arbeitsrevision an, falls die Option
--show-updates
oder
--verbose
angegeben wird.
Falls die Option --verbose
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.
--changelist ARG --depth ARG --ignore-externals --incremental --no-ignore --quiet (-q) --show-updates (-u) --verbose (-v) --xml
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
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 --show-updates wc M 965 wc/bar.c * 965 wc/foo.c A + 965 wc/qax.c Status bezogen auf Revision: 981
Anmerkung | |
---|---|
|
Die umfangreichste Information bekommen Sie wie folgt:
$ svn status --show-updates --verbose 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“.