Frage

Was bedeuten die Ergebniscodes in SVN?Ich brauche eine kurze Referenz.

War es hilfreich?

Lösung

Weitere Details finden Sie im SVNBook: „Status der Arbeitskopiedateien und Verzeichnisse“.

Die allgemeinen Status:

U:Arbeitsdatei wurde aktualisiert

G:Änderungen am Repo wurden automatisch in die Arbeitskopie eingefügt

M:Arbeitskopie wird geändert

C:Diese Datei steht in Konflikt mit der Version im Repo

?:Diese Datei unterliegt keiner Versionskontrolle

!:Diese Datei unterliegt der Versionskontrolle, fehlt jedoch oder ist unvollständig

A:Diese Datei wird zur Versionskontrolle hinzugefügt (nach dem Festschreiben).

A+:Diese Datei wird verschoben (nach dem Festschreiben)

D:Diese Datei wird gelöscht (nach dem Festschreiben)

S:Dies bedeutet, dass die Datei oder das Verzeichnis vom Pfad des Restes der Arbeitskopie (mit SVN -Switch) auf eine Zweigstelle umgestellt wurden

ICH:Ignoriert

X:Externe Definition

~:Typ geändert

R:Das Element wurde in Ihrer Arbeitskopie ersetzt.Dies bedeutet, dass die Datei zum Löschen geplant war und anschließend eine neue Datei mit demselben Namen zum Hinzufügen an ihrer Stelle geplant wurde.

L :Artikel ist gesperrt

E:Das Element existierte so, wie es durch ein SVN-Update erstellt worden wäre.

Andere Tipps

Beachten Sie außerdem, dass sich ein Ergebniscode in der zweiten Spalte auf die Eigenschaften der Datei bezieht.Zum Beispiel:

U   filename.1
 U  filename.2  
UU  filename.3

Dateiname.1:Die Datei wurde aktualisiert
Dateiname.2:Eine oder mehrere Eigenschaften der Datei (z. B. svn:keywords) wurden aktualisiert
Dateiname.3:Sowohl die Datei als auch ihre Eigenschaften wurden aktualisiert

Sie können jederzeit eine Liste erhalten, indem Sie Folgendes ausführen:

svn status --help

Es gibt auch einen „E“-Status

E = Datei existierte vor dem Update

Dies kann passieren, wenn Sie manuell einen Ordner erstellt haben, der bei einem Update erstellt worden wäre.

Ich möchte etwas zum „G“-Status sagen,

G:Änderungen am Repo wurden automatisch in die Arbeitskopie eingefügt

Ich denke, die obige Definition ist nicht klar, sie kann ein wenig Verwirrung stiften, da alle Dateien automatisch in der Arbeitskopie zusammengeführt werden. Die richtige sollte lauten:

U = Element (U)aktualisiert auf Repository-Version

G = lokale Änderungen des Elements, die mit dem Repository verknüpft sind

C = lokale Änderungen des Elements (C), die mit dem Repository in Konflikt stehen

D = Element (D) aus der Arbeitskopie gelöscht

A = Element (A) zur Arbeitskopie hinzugefügt

Normalerweise verwende ich SVN über eine GUI, entweder meine IDE oder einen Client.Aus diesem Grund kann ich mich nie an die Codes erinnern, wenn ich auf die Befehlszeile zurückgreifen muss.

Ich finde diesen Spickzettel eine große Hilfe:Subversion-Spickzettel

Werfen Sie einen Blick in die Referenz zum Subversion-Buch: „Status der Arbeitskopiedateien und Verzeichnisse“

Sehr empfehlenswert für alle, die so ziemlich alles mit SVN machen.

SVN-Statusspalten

$ svn status
L index.html

Die Ausgabe des Befehls ist in sechs Spalten aufgeteilt, was jedoch nicht offensichtlich ist, da die Spalten manchmal leer sind.Vielleicht wäre es übrigens sinnvoller gewesen, die leeren Spalten mit Bindestrichen zu kennzeichnen ls -l tut, statt nichts.Dann z.B. L index.html würde aussehen wie --L--- index.html, was deutlich macht, dass die einzigen Informationen, die wir haben, in der dritten Spalte diejenige über das Sperren sind.Wie auch immer, sobald man weiß, dass es mehr Sinn ergibt.

SVN-Status erste Spalte:A, D, M, R, C, X, I, ?, !, ~

Die erste Spalte gibt an, dass ein Element hinzugefügt, gelöscht oder anderweitig geändert wurde.

    Keine Änderungen.

 A  Der Artikel soll hinzugefügt werden.

 D  Das Element soll gelöscht werden.

 M  Artikel wurde geändert.

 R  Das Element wurde in Ihrer Arbeitskopie ersetzt.Dies bedeutet, dass die Datei zum Löschen geplant war und anschließend eine neue Datei mit demselben Namen zum Hinzufügen an ihrer Stelle geplant wurde.

 C  Der Inhalt (im Gegensatz zu den Eigenschaften) des Elements steht in Konflikt mit vom Repository empfangenen Aktualisierungen.

 X  Das Element ist mit einer externen Definition verknüpft.

 I  Element wird ignoriert (z. B.mit der Eigenschaft svn:ignore).

 ?  Das Element unterliegt keiner Versionskontrolle.

 !  Artikel fehlt (z.B.Sie haben es verschoben oder gelöscht, ohne SVN zu verwenden).Dies weist auch darauf hin, dass ein Verzeichnis unvollständig ist (ein Auschecken oder Aktualisieren wurde unterbrochen).

 ~  Das Element ist als ein Objekttyp (Datei, Verzeichnis, Link) versioniert, wurde jedoch durch einen anderen Objekttyp ersetzt.

Zweite Spalte des SVN-Status:M, C

Die zweite Spalte gibt Auskunft über den Status der Eigenschaften einer Datei oder eines Verzeichnisses.

    Keine Änderungen.

 M  Die Eigenschaften dieses Elements wurden geändert.

 C  Die Eigenschaften dieses Elements stehen im Konflikt mit den vom Repository empfangenen Eigenschaftsaktualisierungen.

SVN-Status dritte Spalte:L

Die dritte Spalte wird nur ausgefüllt, wenn das Verzeichnis der Arbeitskopie gesperrt ist (eine SVN-Bereinigung sollte normalerweise ausreichen, um es zu löschen).

    Artikel ist nicht gesperrt.

 L  Artikel ist gesperrt.

Vierte Spalte des SVN-Status:+

Die vierte Spalte wird nur ausgefüllt, wenn das Element für das Hinzufügen mit Verlauf geplant ist.

    Kein Verlauf mit Commit geplant.

 +  Mit Commit geplanter Verlauf.

Fünfte Spalte des SVN-Status:S

Die fünfte Spalte wird nur ausgefüllt, wenn die Arbeitskopie des Elements relativ zu seiner übergeordneten Kopie vertauscht wird

    Das Element ist ein untergeordnetes Element seines übergeordneten Verzeichnisses.

 S  Artikel wird gewechselt.

Sechste Spalte des SVN-Status:K, O, T, B

Die sechste Spalte wird mit Sperrinformationen gefüllt.

    Wenn –show-updates verwendet wird, ist die Datei nicht gesperrt.Wenn –show-updates nicht verwendet wird, bedeutet dies lediglich, dass die Datei nicht in dieser Arbeitskopie gesperrt ist.

 K  Die Datei ist in dieser Arbeitskopie gesperrt.

 O  Die Datei ist entweder von einem anderen Benutzer oder in einer anderen Arbeitskopie gesperrt.Dies erscheint nur, wenn –show-updates verwendet wird.

 T  Die Datei wurde in dieser Arbeitskopie gesperrt, die Sperre wurde jedoch gestohlen und ist ungültig.Die Datei ist derzeit im Repository gesperrt.Dies erscheint nur, wenn –show-updates verwendet wird.-

 B  Die Datei wurde in dieser Arbeitskopie gesperrt, die Sperre wurde jedoch aufgehoben und ist ungültig.Die Datei ist nicht mehr gesperrt. Dies erscheint nur, wenn –show-updates verwendet wird.

SVN-Status, siebte Spalte:*

Die veralteten Informationen werden in der siebten Spalte angezeigt (nur wenn Sie den Schalter –show-updates übergeben).Dies ist etwas, was SVN-Neulinge von dem Befehl erwarten, ohne zu wissen, dass er nur den aktuellen Status der Datei mit den Informationen vergleicht, die er bei der letzten Aktualisierung vom Server abgerufen hat.

    Das Element in Ihrer Arbeitskopie ist aktuell.

 *  Auf dem Server ist eine neuere Revision des Elements vorhanden.

Wenn Sie keinen Zugriff auf die Dokumentation haben (SVNBook), Typ (Linux):

svn help status | grep \'\?\'
svn help status | grep \'\!\'
svn help status | grep \'\YOUR_SYMBOL_HERE\'

oder fügen Sie die folgende Funktion in Ihre ~/.bashrc-Datei ein, etwa so:

svncode() {
  symbol=$1
  [ $symbol ] &&  svn help status | grep \'$(echo $symbol)\' || \
  echo "usage: svncode <symbol>"
}

enter image description here

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top