Résolution des conflits

Lors de la mise à jour ou de la validation, vous risquez de rencontrer des conflits. Un conflit se produit lorsque vous avez modifié en local une ressource pour laquelle une révision plus récente est disponible dans la branche du référentiel. La branche contient notamment une révision plus récente que la révision de base de votre ressource. Dans ce cas, vous pouvez effectuer l'une des opérations suivantes :

La plupart du temps, vous effectuerez une fusion (choix 3), étant donné que les deux autres choix entraînent des pertes de travail.

Fusion manuelle des modifications

La vue Synchronisation désigne les ressources en conflit avec la branche. Pour une ressource en conflit donnée, vous fusionnerez généralement vos modifications avec les modifications de la ressource de la branche.

Par exemple, supposons que vous et un autre membre de l'équipe avez modifié la même page html. Lorsque vous ouvrez cette ressource dans la vue Synchronisation, une comparaison entre la ressource locale et la révision de la branche s'affiche. En analysant et fusionnant individuellement chaque modification, vous pouvez décider pour chacune si vous acceptez la modification entrante, la rejetez ou la fusionnez avec vos modifications locales. Une fois la fusion terminée, vous sauvegardez vos modifications. Votre ressource locale est donc remplacée par le résultat de la fusion. Vous pouvez ensuite valider la ressource obtenue par cette fusion.

Conseil : Lors de la fusion des modifications, il convient généralement de distinguer les fichiers dont la fusion est terminée. Après avoir fusionné un fichier, vous pouvez sélectionner Marquer comme fusionné dans le menu contextuel. Cela remplace l'état conflictuel du fichier par une modification sortante.

Vous pouvez fusionner des différences dans la vue Synchronisation sur deux niveaux :

Fusion automatique des modifications

Il est également possible de fusionner automatiquement les fusions. Pour une ressource marquée comme ASCII, lorsque vous sélectionnez Equipe > Mettre à jour, les différences avec la ressource de la branche sont automatiquement fusionnées dans votre ressource locale. Cette opération fonctionne correctement si aucune ligne ne comporte des des modifications conflictuelles. Dans le cas contraire, CVS insère un marquage spécial dans le fichier pour indiquer les lignes qui n'ont pas pu être fusionnées.

La mise à jour à partir de la vue Synchronisation est un peu différente. Dans le cas d'un conflit, l'option de mise à jour ne traite que les fichiers qui ne contiennent pas de conflit. Les fichiers qui contiennent des conflits sont ignorés et conservés dans la vue Synchronisation comme étant des conflits.

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

Tâches connexes
Synchronisation avec le référentiel
Mise à jour
Validation
Fusion à partir d'une branche
Comparaison de ressources
Fusion des modifications dans l'éditeur de comparaison

Référence connexe
www.cvshome.org : Mise à jour d'un fichier
www.cvshome.org : Exemples de conflits
Editeur de comparaison