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.
svn update (up) — Mettre à jour la copie de travail.
svn update [CHEMIN...]
svn update actualise la copie de travail par
rapport au dépôt. Si aucune révision n'est spécifiée, elle actualise
par rapport à la révision HEAD
. Sinon, elle
synchronise la copie de travail à la révision spécifiée par l'option
--revision
. La procédure de synchronisation suivie
par svn update inclut la suppression des verrous
dépassés (voir la section intitulée « Parfois, il suffit de faire le ménage ») trouvés dans la
copie de travail.
Pour chaque élément mis à jour, elle affiche une ligne avec un caractère indiquant l'action effectuée. Ces caractères ont la signification suivante :
A
Ajouté.
B
Verrou cassé (troisième colonne seulement — broken en anglais).
D
Effacé (deleted en anglais).
U
Mis à jour (Updated en anglais).
C
En conflit.
G
Fusionné (merged en anglais).
E
Existant.
Un caractère dans la première colonne signifie une mise à jour du fichier existant, alors que les mises à jour des propriétés de fichiers apparaissent dans la deuxième colonne. Les informations de verrouillage sont affichées dans la troisième colonne.
Comme pour la plupart des sous-commandes, vous pouvez limiter le
périmètre d'action de l'opération de mise à jour à une profondeur de
l'arborescence en utilisant l'option --depth
. De la
même manière, vous pouvez utiliser l'option
--set-depth
pour définir un nouveau niveau de
récursion associé à la cible de mise à jour.
Récupèrer les modifications apportées au dépôt depuis la dernière mise à jour :
$ svn update A nouveau-rep/toggle.c A nouveau-rep/disclose.c A nouveau-rep/launch.c D nouveau-rep/LISEZ-MOI Actualisé à la révision 32.
Vous pouvez aussi « mettre à jour » votre copie de travail vers une vieille révision (Subversion ne connait pas le concept de fichier « sticky » défini dans CVS ; reportez-vous à Annexe B, Guide Subversion à l'usage des utilisateurs de CVS) :
$ svn update -r30 A nouveau-rep/LISEZ-MOI D nouveau-rep/toggle.c D nouveau-rep/disclose.c D nouveau-rep/launch.c U machin.c Actualisé à la révision 30.
Astuce | |
---|---|
Si vous voulez examiner un seul fichier dans une révision antérieure, vous pouvez préférer l'utilisation de svn cat — cela ne modifiera pas votre copie de travail. |
svn update constitue le premier mécanisme
pour configurer des copies de travail à répertoires clairsemés. Quand
vous l'utilisez avec l'option --set-depth
, la mise
à jour omet ou réintègre individuellement les membres de la copie de
travail en modifiant leur profondeur associée vers la profondeur
spécifiée (en allant chercher l'information dans le dépôt si
nécessaire). Reportez-vous à la section intitulée « Répertoires clairsemés » pour plus d'informations sur les répertoires clairsemés.
Vous pouvez mettre à jour plusieurs cibles avec une seule commande, Subversion omet silencieusement les cibles qui ne sont pas suivies en versions et, depuis Subversion 1.7, inclut un résumé de la mise à jour qu'il vient d'effectuer :
$ cd mes-projets $ svn update * Mise à jour de 'calc' : U bouton.c U entier.c À la révision 394. Skipped 'tempfile.tmp' Mise à jour de 'paint' : A palettes.c U brushes.c À la révision 60. Mise à jour de 'ziptastic' : À la révision 43. Résumé des mises à jour : 'calc' actualisé à la révision 394. 'paint' actualisé à la révision 60. 'zipstatic' actualisé à la révision 43. Résumé des conflits : Skipped paths: 1 $