Que signifient les codes de résultat dans SVN?


300

Que signifient les codes de résultat dans SVN? J'ai besoin d'une référence rapide.

Réponses:


518

Pour plus de détails, consultez le SVNBook: "État des fichiers et répertoires de copie de travail" .

Les statuts communs:

U : le fichier de travail a été mis à jour

G : Les modifications apportées au dépôt ont été automatiquement fusionnées dans la copie de travail

M : La copie de travail est modifiée

C : Ce fichier est en conflit avec la version du référentiel

? : Ce fichier n'est pas sous contrôle de version

! : Ce fichier est sous contrôle de version mais est manquant ou incomplet

R : Ce fichier sera ajouté au contrôle de version (après validation)

A + : Ce fichier sera déplacé (après validation)

D : Ce fichier sera supprimé (après validation)

S : cela signifie que le fichier ou le répertoire a été basculé du chemin du reste de la copie de travail (à l'aide du commutateur svn) vers une branche

I : ignoré

X : définition externe

~ : Type modifié

R : L'article a été remplacé dans votre copie de travail. Cela signifie que le fichier a été planifié pour être supprimé, puis qu'un nouveau fichier portant le même nom a été planifié pour être ajouté à sa place.

L : l'élément est verrouillé

E : L'élément existait, tel qu'il aurait été créé, par une mise à jour svn.


12
"R": ce fichier a été remplacé
manifeste le

8
Et alors E? Toute la documentation indique "Existé", ce qui n'est pas très utile.
Pops

2
+1, mais "G: les modifications apportées au dépôt ont été automatiquement fusionnées dans la copie de travail" n'est pas dans la source indiquée (plus?)
Julian

86

Notez également qu'un code de résultat dans la deuxième colonne fait référence aux propriétés du fichier. Par exemple:

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

filename.1: le fichier a été mis à jour
filename.2: une ou plusieurs propriétés du fichier (telles que svn: mots-clés) ont été mises à jour
filename.3: le fichier et ses propriétés ont été mis à jour


36

Vous pouvez toujours obtenir une liste en exécutant:

svn status --help

19

Je veux dire quelque chose sur le statut "G",

G: Les modifications apportées au dépôt ont été automatiquement fusionnées dans la copie de travail

Je pense que la définition ci-dessus n'est pas claire, elle peut générer un peu de confusion, car tous les fichiers sont automatiquement fusionnés en copie de travail, la bonne devrait être:

U = élément (U) mis à jour vers la version du référentiel

G = les changements locaux de l'élément sont (G) ed avec le référentiel

C = modifications locales de l'élément (C) infligées au référentiel

D = élément (D) supprimé de la copie de travail

A = élément (A) ajouté à la copie de travail


À propos du statut «G». J'ai eu 2 copies des modifications dans 2 répertoires différents. J'ai validé les modifications à partir d'un répertoire d'extraction et lorsque j'ai mis à jour l'autre répertoire d'extraction, il a affiché l'état «G» indiquant que les modifications dans le répertoire local avaient été fusionnées avec le référentiel.
GuruM

18

Il y a aussi un statut «E»

E = Le fichier existait avant la mise à jour

Cela peut se produire si vous avez créé manuellement un dossier qui aurait été créé en effectuant une mise à jour.


13

J'utilise généralement svn via une interface graphique, soit mon IDE ou un client. Pour cette raison, je ne me souviens jamais des codes lorsque je dois recourir à la ligne de commande.

Je trouve cette aide- mémoire d' une grande aide: Aide- mémoire de Subversion


1
Il ne répertorie pas le statut G.
Ark-kun

13

Colonnes d'état SVN

$ svn status
L index.html

La sortie de la commande est divisée en six colonnes, mais ce n'est pas évident car parfois les colonnes sont vides. Peut-être aurait-il été plus logique d'indiquer les colonnes vides avec des tirets, la façonls -l , au lieu de rien. Ensuite, par exemple, L index.htmlressemblerait à--L--- index.html , ce qui rend évident que la seule information dont nous disposons se trouve dans la troisième colonne, celle sur le verrouillage. Quoi qu'il en soit, une fois que vous savez que cela commence à avoir plus de sens.

Première colonne d'état SVN: A, D, M, R, C, X, I,?,!, ~

La première colonne indique qu'un élément a été ajouté, supprimé ou autrement modifié.

      Aucune modification.

 A    L'élément doit être ajouté.

 D    L'élément doit être supprimé.

 M    L'élément a été modifié.

 R    L'élément a été remplacé dans votre copie de travail. Cela signifie que le fichier a été planifié pour être supprimé, puis qu'un nouveau fichier portant le même nom a été planifié pour être ajouté à sa place.

 C    Le contenu (par opposition aux propriétés) de l'élément entre en conflit avec les mises à jour reçues du référentiel.

 X    L'élément est lié à une définition externe.

 I    L'élément est ignoré (par exemple avec la propriété svn: ignore).

 ?    L'élément n'est pas sous contrôle de version.

 !    L'élément est manquant (par exemple, vous l'avez déplacé ou supprimé sans utiliser svn). Cela indique également qu'un répertoire est incomplet (une extraction ou une mise à jour a été interrompue).

 ~    L'élément est versionné comme un seul type d'objet (fichier, répertoire, lien), mais a été remplacé par un autre type d'objet.

SVN Status deuxième colonne: M, C

La deuxième colonne indique l'état des propriétés d'un fichier ou d'un répertoire.

      Aucune modification.

 M    Les propriétés de cet élément ont été modifiées.

 C    Les propriétés de cet élément sont en conflit avec les mises à jour de propriétés reçues du référentiel.

SVN Status troisième colonne: L

La troisième colonne n'est remplie que si le répertoire de copie de travail est verrouillé (un nettoyage svn devrait normalement être suffisant pour l'effacer)

      L'élément n'est pas verrouillé.

 L    L'élément est verrouillé.

SVN Status quatrième colonne: +

La quatrième colonne est remplie uniquement si l'élément est planifié pour un ajout avec historique.

      Aucun historique planifié avec commit.

 +    Historique programmé avec commit.

SVN Status cinquième colonne: S

La cinquième colonne est remplie uniquement si la copie de travail de l'élément est commutée par rapport à son parent

      L'élément est un enfant de son répertoire parent.

 S    L'article est changé.

Statut SVN sixième colonne: K, O, T, B

La sixième colonne est remplie d'informations de verrouillage.

      Lorsque –show-updates est utilisé, le fichier n'est pas verrouillé. Si –show-updates n'est pas utilisé, cela signifie simplement que le fichier n'est pas verrouillé dans cette copie de travail.

 K    Le fichier est verrouillé dans cette copie de travail.

 O    Le fichier est verrouillé par un autre utilisateur ou dans une autre copie de travail. Cela n'apparaît que lorsque –show-updates est utilisé.

 T    Le fichier a été verrouillé dans cette copie de travail, mais le verrou a été volé et n'est pas valide. Le fichier est actuellement verrouillé dans le référentiel. Cela n'apparaît que lorsque –show-updates est utilisé.

 B    Le fichier a été verrouillé dans cette copie de travail, mais le verrou a été rompu et n'est pas valide. Le fichier n'est plus verrouillé Cela n'apparaît que lorsque –show-updates est utilisé.

Statut SVN septième colonne: *

Les informations obsolètes apparaissent dans la septième colonne (uniquement si vous passez le commutateur –show-updates). C'est quelque chose que les débutants de SVN s'attendent à ce que la commande fasse, ne réalisant pas qu'elle compare uniquement l'état actuel du fichier avec les informations récupérées sur le serveur lors de la dernière mise à jour.

      L'élément de votre copie de travail est à jour.

 *    Une révision plus récente de l'élément existe sur le serveur.



7

Chaque fois que vous n'avez pas accès à la documentation ( SVNBook ), tapez (Linux):

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

ou insérez la fonction suivante dans votre fichier ~ / .bashrc, comme ceci:

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

entrez la description de l'image ici


1
OMI, ce n'est pas "quand on est pressé" mais "quand on n'a pas accès à la documentation" (par exemple SVNBook).
bahrep

@bahrep merci, c'est la façon de voir les choses. Corrigé comme suggéré.
Alan
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.