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.

Nom

svn update (up) — Mettre à jour la copie de travail.

Synopsis

svn update [CHEMIN...]

Description

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.

Options

Exemples

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] 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
$