[441172] Fix merge order of equivalent diffs for one-to-one opposites

When determining which one of the equivalent differences of one-to-one
eOpposites will be merged above the others, differences which result in
setting a feature value instead of unsetting a feature will be
preferred.

Includes testcases for both merge directions.

Bug: 441172
Signed-off-by: Stefan Dirix <st.dirix@gmail.com>
Change-Id: I2e98f44e5e440c82ec95135db622225c65dc07b3
[448120] Adds FeatureMapChangeSpec with a useful toString() method

To ease debugging feature map changes, we introduce a new subclass
FeatureMapChangeSpec, corresponding to the already existing
ReferenceChangeSpec and AttributeChangeSpec, with a useful toString()
method providing all necessary information about a feature map change of
interest.

Bug: 448120
Change-Id: Ia24519c9e2d17c8180bbdf56ded03ab072e9730d
Signed-off-by: Philip Langer <planger@eclipsesource.com>
Parameterize project name and project id to ease reuse by other projects

Change-Id: Ib8afff7287c379049455b1d1bdc525005e6ebc41
Fix the labels of the SMV title bar

Instead of displaying "{0} over {1} differences still to be merged", it now 
display "{0} of {1} differences are not merged". It also updates the way the 
computation is done to be more accurate (no more truncating to 0 to avoid 
negative numbers...)

Change-Id: I0c6130e759866e820080807601de7ccd7634ff01
Fixes org.eclipse.emf.compare.diagram.ide.ui.papyrus source build folder

Change-Id: I38f3eb9b006c5d0174937e6fb465155f2e3fff9e
[446947] Adds support for three-way merging multi-line String attributes

Changes applied to String attributes, which might for instance contain
multiple lines of code in a model (e.g., OpaqueBehaviors in UML), will
now be checked whether concurrent changes in the context of a three-way
diff are mergeable using a three-way line-based merge algorithm. If yes,
no conflict will be raised and they will be merged line by line.

Therefore, this commit introduces a copy of the diff_match_patch class
R106 and a ThreeWayTextDiff utility, which extends the capabilities of
diff_match_patch to support three-way diffing and merging of text (as
opposed to two-way diffing only).

Bug: 446947
CQ: 8824
Change-Id: Ifc7a3144461f7d47750b90a8098d565279ee826d
Signed-off-by: Philip Langer <planger@eclipsesource.com>
[448464] Source list incorrectly determined when undoing changes

When computing the insertion index during a three-way merge of a change
that affects multi-valued features, the source list of a diff was
incorrectly determined in DiffUtil#getSourceList(Comparison comparison,
Diff diff, boolean rightToLeft) if the current merging undoes a change. 
With the current fix, the source list is obtained from the _target
container_ retreived from the _match in the origin_, as opposed to the
list obtained from the _match in the origin_.

The commit also updates the tests that are reaching the now modified
code.

Bug: 448464
Change-Id: I3c53b9ff533b1466d5fddce5f91f5b6de38d9fe8
Signed-off-by: Alexandra Buzila <alexandra.buzila@gmail.com>
Configures Q7 tests to run on Mars platform


Change-Id: I3313010c3722706b6a87db4d411e19f43880b636
[446252] Issue with feature ordering when merging FeatureMaps

In the case of equivalent ReferenceChange and FeatureMapChanges, the
FeatureMapChanges will take precedence when merging. This ensures that
the order of references inside the feature map is correctly maintained. 

The commit includes a new test case for the issue and updates the
existing test cases reaching the affected code.

Bug: 446252
Change-Id: I1bd13aadbd8e43c055a424329a5e70c8e47baca4
Signed-off-by: Alexandra Buzila <alexandra.buzila@gmail.com>
Suppress warnings on diff_match_patch and relax null analysis

Change-Id: I84fc7ff9ebc6f823f295f6ca5aee60f8ed8e0f0c
UI tests: Update editor label after modification in implementation

Update the label of the editor used in the tests from "X over Y still to
be merged" to "X of Y are not merged".

Change-Id: Ie4e151c9566370491650bce72eaf9edfbe73d9ec
UI tests: Update differences order

The order of the differences seems to have changed. Update related test.

Change-Id: Ibd0e44849897f029d8a55fff77c79b647b4097d4
Merge "UI tests: Update differences order"
New Logical Model View

Add a new view that allows to see, for a given model (or set of models),
the resulting logical model computed by EMF Compare.

Change-Id: I7c318145cbef2c497ce403c6ddaf9223d50941aa
Signed-off-by: Axel Richard <axel.richard@obeo.fr>
Add UI test for Logical Model View

Change-Id: I89f214b3b57ea3d62fa12a078b703a22dbdc7864
Signed-off-by: Axel Richard <axel.richard@obeo.fr>
Add new Git commands involving models page

Change-Id: I3f60e1b087cec5681f65515924c251d817ca81ff
Signed-off-by: Axel Richard <axel.richard@obeo.fr>