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 :
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 entrante (non conflictuelle, conflictuelle pouvant être fusionnée automatiquement ou conflictuelle ne pouvant pas être fusionnée automatiquement). 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 à partir du référentiel et Remplacer et mettre à jour. Lors de la sélection de l'option Mettre à jour à partir du référentiel dans la vue Synchronisation, seules les modifications non conflictuelles sont traitées, à l'exclusion des fichiers conflictuels pouvant être fusionnés ou non automatiquement dans la vue (tous les fichiers traités correctement sont supprimés de la vue). L'option Remplacer et mettre à jour est applicable aux deux types de conflits. Après avoir sélectionné cette commande, vous êtes invité, avant une tentative de fusion, d'indiquer si vous souhaitez fusionner automatiquement le contenu ou remplacer ce dernier par le fichier du référentiel. Si vous choisissez la fusion automatique, seuls les conflits pouvant être fusionnés automatiquement sont traités et les modifications entrantes sont fusionnées automatiquement avec les modifications locales. Dans le cas contraire, tous les conflits sont traités et les ressources locales sont remplacées 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 :
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 :
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 sous-fenêtre Comparaison de la structure, 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 à partir du référentiel permet de traiter toutes les modifications entrantes non conflictuelles, à l'exclusion de toutes les autres modifications entrantes.
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.
Programmation en équipe avec CVS
Synchronisation avec un référentiel CVS
Validation
Résolution des conflits
Comparaison de ressources
Cycle de vie du contrôle des versions : ajouter et ignorer des ressources