Community
Participate
Working Groups
Imagine you have a UML model that contains a class that is present in one or several UML diagrams. If in a branch, you delete this class while in another you rename it, you create a conflict. When merging these 2 branches, a conflict will be detected by EMFCompare and the rest of the model will be pre-merged. Which means that the graphical representation of the class will be removed, whereas the user may decide to restore it while managing the conflict. The user will not be able to restore the graphical representation though, since it won't be accessible in the compare editor. One way to solve this would be to add graphical changes to any conflict that involves their semantic element if there is such a conflict. This need to be thoroughly examined though, it's just a first idea.
Created attachment 256010 [details] Test case to produce the issue Checkout branch "side" (you should already be on it with the attached file) and merge with "other". There should be a delete/rename conflict on a class. You can reject the deletion, however there's no way to restore the associated graphical representation that's been removed by pre-merge.
We investigate this by proposing a preference to not perform pre-merge in case of conflict, and just the relevant resources as conflicting. That way, users should be able to manualy resolve the conflicts, and once it's done they can accept all non-conflicting differences.