Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.compare/src/org/eclipse/emf/compare/merge/ReferenceChangeMerger.java')
-rw-r--r--plugins/org.eclipse.emf.compare/src/org/eclipse/emf/compare/merge/ReferenceChangeMerger.java6
1 files changed, 3 insertions, 3 deletions
diff --git a/plugins/org.eclipse.emf.compare/src/org/eclipse/emf/compare/merge/ReferenceChangeMerger.java b/plugins/org.eclipse.emf.compare/src/org/eclipse/emf/compare/merge/ReferenceChangeMerger.java
index f4ff37304..d71c2f3cc 100644
--- a/plugins/org.eclipse.emf.compare/src/org/eclipse/emf/compare/merge/ReferenceChangeMerger.java
+++ b/plugins/org.eclipse.emf.compare/src/org/eclipse/emf/compare/merge/ReferenceChangeMerger.java
@@ -411,7 +411,7 @@ public class ReferenceChangeMerger extends AbstractMerger {
expectedValue = diff.getValue();
}
} else if (rightToLeft) {
- if (reference.isContainment() || valueMatch.getLeft() == null) {
+ if (valueMatch.getLeft() == null) {
expectedValue = createCopy(diff.getValue());
valueMatch.setLeft(expectedValue);
needXmiId = true;
@@ -419,7 +419,7 @@ public class ReferenceChangeMerger extends AbstractMerger {
expectedValue = valueMatch.getLeft();
}
} else {
- if (reference.isContainment() || valueMatch.getRight() == null) {
+ if (valueMatch.getRight() == null) {
expectedValue = createCopy(diff.getValue());
valueMatch.setRight(expectedValue);
needXmiId = true;
@@ -441,7 +441,7 @@ public class ReferenceChangeMerger extends AbstractMerger {
if (needXmiId) {
// Copy XMI ID when applicable.
final Resource initialResource = diff.getValue().eResource();
- final Resource targetResource = expectedValue.eResource();
+ final Resource targetResource = expectedContainer.eResource();
if (initialResource instanceof XMIResource && targetResource instanceof XMIResource) {
((XMIResource)targetResource).setID(expectedValue,
((XMIResource)initialResource).getID(diff.getValue()));

Back to the top