diff options
Diffstat (limited to 'plugins/org.eclipse.emf.compare/src/org/eclipse/emf/compare/conflict/DefaultConflictDetector.java')
-rw-r--r-- | plugins/org.eclipse.emf.compare/src/org/eclipse/emf/compare/conflict/DefaultConflictDetector.java | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/plugins/org.eclipse.emf.compare/src/org/eclipse/emf/compare/conflict/DefaultConflictDetector.java b/plugins/org.eclipse.emf.compare/src/org/eclipse/emf/compare/conflict/DefaultConflictDetector.java index 6a92bb38d..779e17f90 100644 --- a/plugins/org.eclipse.emf.compare/src/org/eclipse/emf/compare/conflict/DefaultConflictDetector.java +++ b/plugins/org.eclipse.emf.compare/src/org/eclipse/emf/compare/conflict/DefaultConflictDetector.java @@ -570,7 +570,23 @@ public class DefaultConflictDetector implements IConflictDetector { final EObject originalContainer = diff1.getMatch().getOrigin(); final EAttribute changedAttribute = diff1.getAttribute(); final String originalValue = (String)originalContainer.eGet(changedAttribute); - ThreeWayTextDiff textDiff = new ThreeWayTextDiff(originalValue, changedValue1, changedValue2); + return isMergeableText(changedValue1, changedValue2, originalValue); + } + + /** + * Specifies whether the given three versions of a text {@code left}, {@code right}, and {@code origin} + * are mergeable with a line-based three-way merge. + * + * @param left + * The left version. + * @param right + * The right version. + * @param origin + * The original version. + * @return <code>true</code> if they are mergeable, false otherwise. + */ + protected boolean isMergeableText(final String left, final String right, final String origin) { + ThreeWayTextDiff textDiff = new ThreeWayTextDiff(origin, left, right); return !textDiff.isConflicting(); } |