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


Vous devriez vous assurer régulièrement que les changements 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. Vous pouvez mettre à jour des fichiers seuls, un jeu de fichiers sélectionnés, ou des hiérarchies entières de répertoires de manière récursive. 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 couleurs 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.

La commande Mettre à jour standard n'a pas d'options et se contente de mettre à jour votre copie de travail à la révision "HEAD" du dépôt, ce qui est le cas d'utilisation le plus fréquent. Si vous voulez un contrôle plus précis du processus de mise à jour, il faut utiliser TortoiseSVNMettre à jour à la révision... à la place. Cela vous permet de mettre à jour votre copie de travail à une révision spécifique, pas nécessairement la plus récente. Si votre copie de travail est à la révision 100, mais que vous voulez qu'elle reflète l'état qu'elle avait à la révision 50, alors mettez simplement à jour à la révision 50.

Dans la même boîte de dialogue vous pouvez également choisir la profondeur à laquelle mettre à jour le dossier courant. Les termes utilisés sont décrits dans la section intitulée « Profondeur d'extraction ». La profondeur par défaut est Copie de travail, qui préserve le paramétrage de profondeur existant. Vous pouvez également positionner la profondeur à persistante, ce qui signifie que les mises à jour suivantes utiliseront cette nouvelle profondeur, autrement dit que cette profondeur devient la nouvelle profondeur par défaut.

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

Vous pouvez également choisir d'ignorer ou non les projets externes dans la mise à jour (c'est-à-dire les projets référencés avec svn:externals).

Attention

Si vous mettez à jour un fichier ou un dossier à une révision spécifique, vous ne devriez pas le modifier. Vous obtiendrez des messages d'erreur de péremption si vous essayez de les livrer ! Si vous voulez annuler les changements d'un fichier et recommencer à partir 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, ne mettre à jour que quelques 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'existait dans la révision précédente. Remarquez également que l'élément aura une icône superposée normale (verte), ce qui le rend complètement indiscernable des autres fichiers qui sont à jour.

Si vous voulez simplement une copie locale d'une version ancienne d'un fichier, il vaut mieux utiliser la commande Menu contextuelEnregistrer la révision sous... depuis la boîte de dialogue de journal de ce fichier.

Plusieurs fichiers/répertoires

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