Bug 475587 - Pre-merge on Papyrus models may delete representations of deleted elements with no way of restoring them
Summary: Pre-merge on Papyrus models may delete representations of deleted elements wi...
Status: ASSIGNED
Alias: None
Product: EMFCompare
Classification: Modeling
Component: Core (show other bugs)
Version: 3.0.1   Edit
Hardware: PC Windows NT
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: EMF Compare CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 479205
Blocks:
  Show dependency tree
 
Reported: 2015-08-21 09:19 EDT by Laurent Delaigue CLA
Modified: 2016-04-22 09:19 EDT (History)
3 users (show)

See Also:


Attachments
Test case to produce the issue (39.72 KB, application/x-zip-compressed)
2015-08-21 09:36 EDT, Laurent Delaigue CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Laurent Delaigue CLA 2015-08-21 09:19:00 EDT
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.
Comment 1 Laurent Delaigue CLA 2015-08-21 09:36:10 EDT
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.
Comment 2 Laurent Delaigue CLA 2016-04-22 09:19:32 EDT
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.