Dieser Text befindet sich gegenwärtig in Bearbeitung, unterliegt ständigen Änderungen und kann dadurch nicht stets akkurat irgendeine freigegebene Version der Software Apache™ Subversion® beschreiben. Das Speichern dieser Seite als Lesezeichen oder andere auf diese Seite zu verweisen, ist keine so gute Idee. Besuchen Sie http://www.svnbook.com/, um stabile Versionen dieses Buchs zu erhalten.

Unterscheidung zwischen Status und Update

Subversion versucht, einen großen Teil der Verwirrung zu beseitigen, die hinsichtlich der Befehle cvs status und cvs update besteht.

Der Befehl cvs status erfüllt zwei Zwecke: dem Benutzer alle lokalen Änderungen in der Arbeitskopie zu zeigen und welche Dateien nicht mehr aktuell sind. Bedingt durch die schwer lesbare Ausgabe des CVS-Befehls status, verzichten viele CVS-Benutzer ganz auf die Vorteile dieses Befehls. Stattdessen haben sie sich angewöhnt, cvs update oder cvs -n update aufzurufen, um schnell ihre Änderungen zu sehen. Falls Benutzer die Option -n vergessen, hat das den Nebeneffekt, dass Projektarchiv-Änderungen hineingebracht werden könnten, um die sie sich momentan noch nicht kümmern können.

Subversion räumt mit diesem Durcheinander auf, indem es die Ausgabe von svn status leicht lesbar für Menschen und Parser macht. Außerdem gibt svn update nur Informationen über Dateien aus, die aktualisiert werden, jedoch nicht über lokale Änderungen.

Status

svn status gibt alle Dateien aus, an denen lokale Änderungen vorgenommen wurden. Standardmäßig wird kein Kontakt zum Projektarchiv hergestellt. Obwohl dieser Unterbefehl eine stattliche Anzahl an Optionen versteht, sind die folgenden die meistbenutzten:

-u

Verbindung zum Projektarchiv aufnehmen, um Informationen über nicht mehr Aktuelles zu ermitteln und dann anzuzeigen.

-v

Alle versionskontrollierten Einträge anzeigen.

-N

Nicht rekursiv ausführen (nicht in Unterverzeichnisse gehen).

Der Befehl svn status besitzt zwei Ausgabeformate. Im standardmäßigen Kurzformat sehen lokale Änderungen so aus:

$ svn status
M       foo.c
M       bar/baz.c

Falls Sie die Option --show-updates (-u) angeben, wird ein umfangreicheres Ausgabeformat verwendet:

$ svn status -u
M             1047   foo.c
        *     1045   faces.html
        *            bloo.png
M             1050   bar/baz.c 
Status bezogen auf Revision:   1066

In diesem Fall tauchen zwei neue Spalten auf. Die zweite Spalte beinhaltet ein Sternchen, falls die Datei oder das Verzeichnis nicht mehr aktuell ist. Die dritte Spalte zeigt die Revisionsnummer des Objektes in der Arbeitskopie an. Im vorangegangenen Beispiel zeigt das Sternchen an, dass das Objekt faces.html beim Aktualisieren verändert würde, und dass bloo.png eine dem Projektarchiv hinzugefügte neue Datei ist. (Die Abwesenheit einer Revisionsnummer neben bloo.png bedeutet, dass die Datei noch nicht in der Arbeitskopie vorhanden ist.)

Für eine tiefer gehende Erörterung von svn status, darunter eine Erklärung der Status-Codes aus dem obigen Beispiel, siehe „Verschaffen Sie sich einen Überblick über Ihre Änderungen“.

Update

svn update aktualisiert Ihre Arbeitskopie und gibt nur Informationen über Dateien aus, die aktualisiert werden.

Subversion hat den Code P und U von CVS zu U vereinfacht. Wenn eine Zusammenführung stattfindet oder ein Konflikt auftritt, gibt Subversion einfach G oder C aus, statt einen ganzen Satz darüber zu verlieren.

Für eine detailliertere Erörterung von svn update, siehe „Aktualisieren Sie Ihre Arbeitskopie“.