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.

Distinction entre les commandes status et update

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.

Status

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 ».

Update

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 ».