This text is a work in progress—highly subject to change—and may not accurately describe any released version of the Apache™ Subversion® software. Bookmarking or otherwise referring others to this page is probably not such a smart idea. Please visit http://www.svnbook.com/ for stable versions of this book.
Subversion essaie de dissiper la confusion qui règne entre les commandes cvs status et cvs update.
La commande cvs status a deux
objectifs : d'abord, lister pour l'utilisateur les
modifications locales de la version de travail et, ensuite,
indiquer à l'utilisateur quels fichiers ne sont plus à jour.
Malheureusement, en raison de l'affichage peu lisible de la
commande cvs status
, beaucoup
d'utilisateurs de CVS n'utilisent plus cette commande. À la place,
ils ont pris l'habitude de lancer cvs update
ou cvs -n update
pour visualiser leurs
changements rapidement. Si les utilisateurs oublient d'utiliser
l'option -n
, cela a pour effet de bord de
fusionner des changements du dépôt qu'ils ne sont pas forcément
prêts à prendre en compte.
Subversion supprime ce cafouillage en facilitant la lecture de svn status à la fois pour les humains et pour les programmes d'analyse de texte. De plus, svn update n'affiche que les informations relatives aux fichiers qui ont été mis à jour côté dépôt, pas les modifications locales.
La commande svn status liste tous les fichiers qui ont des modifications locales. Par défaut, le dépôt n'est pas contacté. Bien que cette sous-commande accepte un bon nombre d'options, voici les plus utilisées :
-u
contacte le dépôt pour déterminer et lister les informations de mise à jour ;
-v
liste tous les éléments suivis en versions ;
-N
exécution non récursive (ne pas descendre dans les sous-répertoires).
La commande svn status possède deux formats de sortie. Dans le mode « court », mode par défaut, les modifications locales sont présentées comme ceci :
$ svn status M machin.c M truc/bidule.c
Si vous spécifiez l'option --show-updates
(-u
), un format d'affichage plus long est
utilisé :
$ svn status -u M 1047 machin.c * 1045 tetes.html * dessin.png M 1050 truc/bidule.c État par rapport à la révision 1066
Dans ce cas, deux nouvelles colonnes font leur apparition.
La deuxième colonne contient une astérisque si le fichier ou le
répertoire n'est plus à jour. La troisième colonne contient le
numéro de révision de la copie de travail pour l'élément
considéré. Dans l'exemple précédent, l'astérisque indique que
tetes.html
serait modifié lors d'une mise à
jour et que dessin.png
est un nouveau
fichier dans le dépôt (l'absence d'un numéro de révision pour
dessin.png
indique qu'il n'existe pas encore
dans la copie de travail locale).
Pour une présentation plus détaillée de svn status, avec l'explication des codes de statut vus dans l'exemple précédent, lisez la section intitulée « Vue d'ensemble des changements effectués ».
La commande svn update met à jour votre copie de travail et n'affiche que les informations relatives aux fichiers qui ont été mis à jour.
Subversion combine les codes CVS P
et
U
dans le seul code U
.
Quand une fusion ou un conflit apparaît, Subversion se contente
d'afficher G
ou C
, plutôt
qu'une phrase complète, pour indiquer ce qui se passe.
Pour plus d'informations sur svn update, reportez-vous à la section intitulée « Mise à jour de la copie de travail ».