Sequence Diagrams are some kind of special in Enterprise Architect.
When adding a message to a Sequence Diagram Enterprise Architect recalculates the other Messages and changes properties like SeqNo, Offsets, ... .
When working parallel on the same Sequence Diagram in different branches, adding/removing messages and merging them with LemonTree may cause unexpected results with positioning of the messages since LemonTree is a compare/merge tool and does not recalculate the diagram as EA does when adding a message to the Sequence diagram.
An example is always good for understanding (especially in this case):
In this example we have a simple Sequence Diagram with only a few connectors. We change the Sequence Diagrams in both branches "A" and "B"
- "A" gets a new message "New in A()" from Lifeline ":Create Account" to ": Create New Account" after an existing message.
- "B" gets two new messages at the same position "New 1 in B()" and "New 2 in B()" from from Lifeline ":Create Account" to ": Create New Account" .
- LemonTree takes both new messages into account and suggests it for the merge preview
- Because Enterprise Architect recalculates the position and SeqNo of the messages following the new ones (in both branches) LemonTree marks these messages as "Conflicted" (Note: LemonTree compares "A" with "Base" and "B" with "Base" and marks the property as conflicted because it has changed in both branches.)
- LemonTree DOESN'T recalculate the position / SeqNo of the messages (as you may expect) but takes either A or B into the merge result. This leads to the "Merge Preview" where the new messages are on the same level.
When experiencing such a case LemonTree shows a conflict and it's worth taking a look in the written merge file at the conflicted Sequence Diagram. Messages are maybe dislocated and also are no longer in the fragments they belong to.
Note: The diagram may also look different in Enterprise Architect than in LemonTree Merge Preview because Enterprise Architect draws it different. The new connectors are NOT on the same level.