Mise à jour

Lorsque vous travaillez sur un projet du plan de travail, il se peut que d'autres membres de votre équipe valident des modification dans la copie du projet dans le référentiel. Pour obtenir ces modifications, vous pouvez "mettre à jour" le plan de travail de sorte qu'il corresponde à l'état de la branche. Les modifications affichées sont spécifiques à la branche que le projet du plan de travail est configuré pour partager. Vous pouvez définir le moment de la mise à jour.

La commande de mise à jour peut être émise à partir des deux emplacements suivants : le menu Equipe > Mettre à jour, ou la vue Synchronisation. Pour comprendre la différence entre ces deux commandes, il est important de connaître les trois différents types de modifications entrantes.

Lors de la sélection de Equipe > Mettre à jour, le contenu des ressources locales est mis à jour avec des modifications entrantes de tous les trois types ci-dessus. En ce qui concerne les modifications non conflictuelles et pouvant être fusionnées automatiquement, aucune autre intervention n'est requise (pour les conflits pouvant être fusionnés automatiquement, la ressource locale modifiée est placée dans un fichier dont le préfixe est ".#", uniquement dans le cas où la fusion automatique ne correspondrait pas à ce que souhaitait l'utilisateur). Cependant, pour les conflits ne pouvant pas être fusionnés automatiquement, ceux-ci sont fusionnés avec la ressource locale à l'aide d'un texte de marquage spécifique CVS (pour les fichiers ASCII) ou la ressource locale modifiée est placée dans un fichier dont le préfixe est ".#" (pour les fichiers binaires). Cela correspond au comportement de la ligne de commande CVS et peut être problématique une fois associé au mécanisme de compilation automatique d'Eclipse. De même, il est généralement souhaitable de déterminer les modifications entrantes avant de mettre à jour des ressources locales. Ces problèmes peuvent être traités par la vue Synchronisation.

Pour ouvrir la vue Synchronisation en mode entrant, procédez comme suit :

  1. Dans une des vues de navigation, sélectionnez les ressources que vous souhaitez mettre à jour.
  2. Dans le menu en incrustation des ressources sélectionnées, choisissez Equipe > Synchroniser avec le référentiel. La vue Synchronisation s'affiche.
  3. Dans la barre d'outils de la vue Synchronisation, cliquez sur le bouton Mode entrant pour écarter toutes les ressources modifiées (modifications sortantes) du plan de travail dont vous disposez.

En mode entrant, les modifications qui ont été validées dans la branche depuis la dernière mise à jour s'affichent. La vue indique le type de chaque modification entrant. Il existe deux options de mise à jour (disponibles à partir du menu contextuel d'une ressource dans la vue) permettant de gérer les différents types de conflits : Mettre à jour et Remplacer et mettre à jour. Lors de la sélection de l'option Mettre à jour dans la vue Synchronisation, toutes les modifications conflictuelles entrantes et pouvant être fusionnées automatiquement sont traitées, alors que les conflits qui ne peuvent pas être fusionnés automatiquement ne sont pas mis à jour (tous les fichiers traités correctement sont supprimés de la vue). L'option Remplacer et mettre à jour s'applique aux conflits et remplace les ressources locales par le contenu distant. Ce comportement de "remplacement" est rarement souhaitable. Une alternative est décrite ultérieurement.

Pour mettre à jour les fichiers non conflictuels et pouvant être fusionnés automatiquement, procédez comme suit :

  1. La sous-fenêtre Comparaison de la structure, située dans la partie supérieure de la vue Synchronisation, contient la hiérarchie des ressources comportant des modifications entrantes.
  2. Sélectionnez tous les fichiers conflictuels et choisissez Mettre à jour dans le menu en incrustation. Les ressources sélectionnées qui correspondent à des modifications entrantes ou à des conflits pouvant être fusionnés automatiquement sont alors mises à jour et supprimées de la vue. Les conflits dont le contenu ne peut pas être fusionné automatiquement sont conservés dans la vue.

Si le plan de travail local contient des modifications sortantes qui ne peuvent pas être fusionnées automatiquement avec des modifications entrantes de la branche, vous pouvez, au lieu de Remplacer et mettre à jour, fusionner manuellement les différences dans le plan de travail, de la manière suivante :

  1. Dans la sous-fenêtre Comparaison de la structure, si la liste de ressources (représentée par des flèches rouges) contient un conflit, ouvrez-le (en cliquant deux fois dessus ou en sélectionnant Ouvrir dans l'éditeur de comparaison dans le menu contextuel).
  2. Dans la zone Comparaison de texte de l'éditeur de comparaison, les données du plan de travail local sont présentées à gauche et celle de la branche du référentiel à droite. Examinez les différences entre les deux.
  3. Utilisez la zone de comparaison de texte pour fusionner les modifications. Vous pouvez copier des modifications à partir de la révision de référentiel du fichier vers la copie de plan de travail du fichier et sauvegarder le fichier fusionné du plan de travail (à l'aide du menu en incrustation de la sous-fenêtre de gauche).
  4. Une fois que vous êtes invité à fusionner les modifications distantes avec un fichier local, choisissez Marquer comme fusionné dans le menu en incrustation de la vue Synchronisation. Cela marque le fichier local comme ayant été mis à jour et permet la validation de vos modifications.

Remarque : Le contenu du référentiel n'est pas modifié lors de la mise à jour. Lorsque vous acceptez les modifications entrantes, ces dernières sont intégrées à votre plan de travail. Le référentiel n'est modifié que si vous validez des modifications sortantes.

Conseil : Dans la vue Synchronisation, la sélection d'un ancêtre d'un ensemble de modifications entrantes permet d'exécuter l'opération sur tous les enfants appropriés. Par exemple, la sélection du dossier situé au sommet de la hiérarchie et de l'option Mettre à jour permet de traiter toutes les modifications conflictuelles entrantes et pouvant être fusionnées automatiquement et laissera toutes les autres modifications entrantes non traitées.

Avertissement : Le comportement de l'option Remplacer et mettre à jour décrite ci-dessus ne s'applique qu'au mode entrant de la vue Synchronisation. En mode entrant/sortant de la vue, le comportement des modifications entrantes et des conflits est identique, mais l'option retourne les modifications sortantes au contenu quel qu'il soit du référentiel. Soyez extrêmement prudent lors de l'utilisation de cette option en mode entrant/sortant.

Concepts connexes
Programmation en équipe avec CVS
Synchronisation avec un référentiel CVS

Tâches connexes
Validation
Résolution des conflits
Comparaison de ressources
Cycle de vie du contrôle des versions : ajouter et ignorer des ressources

Références connexes
CVS
Vue Synchronisation