Résoudre les conflits de fusion

Supposons que vous travailliez sur un modèle. Si vous apportez une modification alors que quelqu’un d’autre a également apporté des changements, il y a de fortes chances que vous provoquez un conflit de fusion.

Gaphor s’efforce de réduire au maximum les modifications apportées à un modèle : tous les éléments sont stockés dans le même ordre. Cependant, étant donné qu’un modèle Gaphor est un graphe persistant d’objets, la fusion des modifications n’est pas aussi simple qu’ouvrir un éditeur de texte.

Depuis Gaphor 2.18, Gaphor est également capable de fusionner des modèles. Une fois qu’un conflit de fusion a été détecté (c’est-à-dire lorsque le fichier de modèle contient les marqueurs de résolution de conflit git <<<<<<<, =======, et >>>>>>>), Gaphor offrira l’option d’ouvrir le modèle actuel, le modèle entrant ou de fusionner les changements manuellement via l’éditeur de fusion.

Une boîte de dialogue montrant des options sur la façon de traiter un conflit de fusion

Si vous choisissez Ouvrir l’éditeur de fusion, les deux modèles seront chargés. Le modèle actuel reste tel quel. En outre, les modifications apportées au modèle entrant sont calculées. Ces modifications sont stockées en tant qu’objets pending change (changement en attente) dans le modèle.

Astuce

Les modifications en attente font partie du modèle, vous pouvez enregistrer le modèle avec les modifications et les résoudre ultérieurement.

L’éditeur de fusion s’affiche à droite, remplaçant l’éditeur de propriétés (normal).

La fenêtre principale de Gaphor, avec l'éditeur de fusion à droite

Les actions de fusion sont regroupées par diagramme, dans la mesure du possible. Lorsque vous appliquez une modification, toutes les modifications répertoriées comme enfants sont également appliquées. Une fois la modification appliquée, il n’est plus possible de l’annuler qu’en rétablissant la modification précédente (appuyez sur Undo).

Note

L’éditeur de fusion remplace l’éditeur de propriétés tant que des modifications sont en cours dans le modèle.

Une bonne pratique consiste à résoudre le conflit de fusion avant de poursuivre la modélisation.

Lorsque tous les conflits ont été résolus, appuyez sur Resolve pour terminer la résolution des conflits de fusion.