Mettre à jour votre copie de travail avec les changements des autres

Figure 4.11. la boîte de dialogue de progression montrant une mise à jour terminée

la boîte de dialogue de progression montrant une mise à jour terminée


Périodiquement, vous devriez vous assurer que les modifications des autres sont répercutés dans votre copie de travail. Le processus d'obtention des changements du serveur vers votre copie locale s'appelle la mise à jour. La mise à jour peut être faite sur des fichiers seuls, un jeu de fichiers sélectionnés, ou récursivement sur des hiérarchies de répertoire entières. Pour mettre à jour, sélectionnez les fichiers et/ou les répertoires de votre choix, faites un clic droit et choisissez TortoiseSVNMettre à jour dans le menu contextuel de l'explorateur. Une fenêtre apparaîtra montrant la progression de la mise à jour. Les changements faits par les autres seront fusionnés avec vos fichiers, en gardant les changements que vous pourriez avoir faits aux mêmes fichiers. Le dépôt n'est pas affecté par une mise à jour.

La boîte de dialogue de progression utilise un code couleur pour mettre en évidence les diverses actions de la mise à jour

Pourpre

Nouvel élément ajouté à votre CdT.

Rouge foncé

Élément redondant supprimé de votre CdT, ou élément manquant remplacé dans votre CdT.

Vert

Changements du dépôt fusionnés avec vos changements locaux avec succès.

Rouge clair

Changements du dépôt fusionnés avec des changements locaux, aboutissant à des conflits que vous devez résoudre.

Noir

Élément inchangé dans votre CdT mis à jour par une version plus récente du dépôt.

C'est la combinaison de couleur par défaut, mais vous pouvez personnaliser ces couleurs en utilisant la boîte de dialogue de configuration. Lisez la section intitulée « Configuration des couleurs de TortoiseSVN » pour plus d'informations.

Si vous avez des conflits pendant une mise à jour (cela peut arriver si d'autres ont changé les mêmes lignes dans le même fichier que vous et que ces changements ne correspondent pas) alors la boîte de dialogue montre ces conflits en rouge. Vous pouvez double-cliquer sur ces lignes afin démarrer l'outil externe de fusion pour résoudre les conflits.

Quand la mise à jour est terminée, la boîte de dialogue de progression affiche sous la liste des fichiers un résumé du nombre d'éléments mis à jour, ajoutés, supprimés, en conflit, etc. Ce résumé d'information peut être copié dans le presse-papiers en utilisant Ctrl+C.

The standard Update command has no options and just updates your working copy to the HEAD revision of the repository, which is the most common use case. If you want more control over the update process, you should use TortoiseSVNUpdate to Revision... instead. This allows you to update your working copy to a specific revision, not only to the most recent one. Suppose your working copy is at revision 100, but you want it to reflect the state which it had in revision 50 - then simply update to revision 50.

In the same dialog you can also choose the depth at which to update the current folder. The terms used are described in la section intitulée « Profondeur d'extraction ». The default depth is Working copy, which preserves the existing depth setting. You can also set the depth sticky which means subsequent updates will use that new depth, i.e. that depth is then used as the default depth.

Pour rendre plus facile d'inclure ou d'exclure des éléments spécifiques du checkout, cliquez sur le bouton Choisir les éléments ... . Il ouvre une nouvelle boîte de dialogue où vous pouvez cocher tous les éléments que vous voulez dans votre copie de travail et décochez toutes les éléments que vous ne voulez pas.

Vous pouvez également choisir d'ignorer tout des projets externes dans la mise à jour (à savoir les projets référencés à l'aide svn: externals ).

Attention

Si vous mettez à jour un fichier ou un dossier à une révision spécifique, vous ne devriez pas le modifier. Vous obtiendriez des messages d'erreurs de péremption quand vous essayerez de les livrer ! Si vous voulez annuler les changements d'un fichier et recommencer d'une révision précédente, vous pouvez revenir à une révision précédente à partir de la boîte de dialogue de journal de révision. Jetez un coup d'œil à la section intitulée « Annuler des révisions dans le dépôt » pour avoir plus d'instructions et des méthodes alternatives.

Mettre à jour à la révision peut être utile de temps à autre pour voir à quoi ressemblait votre projet à un certain moment. Mais en général, mettre à jour seulement certains fichiers à une révision précédente n'est pas une bonne idée car votre copie de travail est alors dans un état incohérent. Si le fichier que vous mettez à jour a été renommé, vous pouvez même le voir disparaître de votre copie de travail parce qu'aucun fichier de ce nom n'a existé dans la révision précédente. Remarquez également que l'élément aura une icône de recouvrement normale (verte), ce qui le rend complètement indistinct des autres fichiers qui sont à jour.

Si vous voulez simplement une copie locale d'une version ancienne d'un fichier, il est mieux d'utiliser la commande Menu ContextuelSauver la révision dans... depuis la fenêtre de commentaire de ce fichier.

Plusieurs fichiers / répertoires

Si vous choisissez plusieurs fichiers et plusieurs dossiers dans l'explorateur et sélectionnez ensuite Mettre à jour, tous ces fichiers/dossiers sont mis à jour un par un. TortoiseSVN s'assure que tous les fichiers/dossiers qui sont du même dépôt sont mis à jour à la même révision exacte ! Même si une autre livraison se produit entre ces mises à jour.