Que signifient les codes de résultat dans SVN?

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

271
svn
demandé sur Pops 2008-08-05 13:11:54

9 réponses

Pour plus de détails, voir le SVNBook: "Statut des fichiers et répertoires de copie de travail".

Les statuts communs:

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

G : les modifications sur le repo 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 repo

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

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

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

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

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

S : cela signifie que le fichier ou le répertoire a été basculé du chemin du reste de la copie de travail (en utilisant svn switch) vers un branche

J': 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é programmé pour la suppression, puis un nouveau fichier avec le même nom a été programmé pour l'ajout à sa place.

L : Élément est verrouillé

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

475
répondu Polsonby 2015-03-11 12:29:13

Notez Également qu'un code de résultat dans la deuxième colonne indique les propriétés du fichier. Par exemple:

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

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

80
répondu Matt Miller 2008-08-16 23:49:25

Vous pouvez toujours obtenir une liste en exécutant:

svn status --help
32
répondu Taryn East 2011-05-17 08:50:32

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.

18
répondu Jono D 2012-05-23 00:46:15

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

G: les modifications sur le repo 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 dans la copie de travail, le bon devrait être:

U = point (U)pdated à la version du dépôt

G = les modifications locales de l'élément mer (G) ed avec le référentiel

C = élément local modifications (C)onflicted avec le référentiel

D = point (D)eleted à partir de la copie de travail

A = point (A)dded à la copie de travail

17
répondu Elie Xu 2012-05-10 02:31:04

J'utilise habituellement svn via une interface graphique, soit mon IDE, soit un client. Pour cette raison, Je ne me souviens jamais des codes quand je dois recourir à la ligne de commande.

Je trouve cette feuille de triche d'une grande aide: Feuille De Triche Subversion

12
répondu UberAlex 2013-01-28 04:32:59

Jetez un oeil dans la référence du livre Subversion: "Statut des fichiers et répertoires de copie de travail"

Fortement recommandé pour tous ceux qui font à peu près n'importe quoi avec SVN.

11
répondu Carl Russmann 2016-01-13 11:21:21

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

7
répondu Alan 2016-01-14 13:21:22

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 qu'il aurait été plus logique d'indiquer les colonnes vides avec des tirets, comme le fait ls -l, au lieu de rien. Ensuite, par exemple, L index.html ressemblerait à --L--- index.html, ce qui rend évident que la seule information que nous avons est dans la troisième colonne celle sur le verrouillage. Quoi qu'il en soit, une fois que vous savez qu'il commence à faire plus sens.

Svn Status première colonne: A, D, M, R, C, X, i,?, !, ~

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

    Aucune modification.

 A  L'article est prévu pour L'ajout.

 D  L'élément est prévu pour la suppression.

 M  L'article a été modifié.

 R  L'article a été remplacé dans votre copie de travail. Cela signifie que le fichier a été planifié pour la suppression, puis un nouveau fichier avec le même nom était prévu pour l'ajout à sa place.

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

 X  Item 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 commande ou une mise à jour a été interrompue).

 ~  Item est versionné comme un type d'objet (fichier, répertoire, lien), mais a été remplacé par un type d'objet différent.

État SVN 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és.

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

Statut SVN troisième colonne: L

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

    L'article n'est pas verrouillé.

 L  L'article est verrouillé.

État SVN quatrième colonne: +

La quatrième colonne est remplie seulement si l'élément est prévue pour l'outre-avec-histoire.

    Pas de historique programmé avec commit.

 +  historique programmé avec commit.

Statut SVN cinquième colonne: S

La cinquième colonne n'est remplie que 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 commuté.

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

La sixième colonne est remplie avec des informations de verrouillage.

    Quand –afficher-des mises à jour est utilisée, 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. Ceci apparaît seulement lorsque –afficher-des mises à jour est utilisé.-

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

État 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 gens qui sont nouveaux dans SVN attendent de la commande, sans s'en rendre compte, ne font que comparer l'état actuel du fichier avec quelles informations il a extraites du serveur lors de la dernière mise à jour.

    L'article dans votre copie de travail est à jour.

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

7
répondu Spyryto 2017-04-28 09:30:07