diff options
author | Alexandra Buzila | 2015-03-31 08:06:42 +0000 |
---|---|---|
committer | Alexandra Buzila | 2015-03-31 08:06:42 +0000 |
commit | 46cf1f212cb3706eb3fa0997c24a4b0a544b2c60 (patch) | |
tree | ca2dc10c857dbe5ada6f6d786999a98327c56bc8 | |
parent | 9c5b90b0e34ac3ee296ec24e0b12ed73ac8bcf1b (diff) | |
download | org.eclipse.emf.compare-46cf1f212cb3706eb3fa0997c24a4b0a544b2c60.tar.gz org.eclipse.emf.compare-46cf1f212cb3706eb3fa0997c24a4b0a544b2c60.tar.xz org.eclipse.emf.compare-46cf1f212cb3706eb3fa0997c24a4b0a544b2c60.zip |
[462938] Merge dialog freezes when merging submodel changes
When building the logical model for a resource and searching for
additional remote storages, incoming deletions need to be taken into
account.
Bug: 462938
Change-Id: I75b63fd7a7116e6a648b226086b2d7ed9032120d
Signed-off-by: Alexandra Buzila <abuzila@eclipsesource.com>
-rw-r--r-- | plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/logical/resolver/ThreadedModelResolver.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/logical/resolver/ThreadedModelResolver.java b/plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/logical/resolver/ThreadedModelResolver.java index de0efbbd3..fd2c64b2d 100644 --- a/plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/logical/resolver/ThreadedModelResolver.java +++ b/plugins/org.eclipse.emf.compare.ide.ui/src/org/eclipse/emf/compare/ide/ui/internal/logical/resolver/ThreadedModelResolver.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2014, 2015 Obeo. + * Copyright (c) 2014, 2015 Obeo and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ * * Contributors: * Obeo - initial API and implementation + * Alexandra Buzila - Fixes for Bug 462938 *******************************************************************************/ package org.eclipse.emf.compare.ide.ui.internal.logical.resolver; @@ -796,6 +797,10 @@ public class ThreadedModelResolver extends AbstractModelResolver { final Set<IStorage> differenceOriginLeft = difference(additionalOrigin, asURISet(left)); final Set<IStorage> differenceOriginRight = difference(additionalOrigin, asURISet(right)); additionalStorages = symmetricDifference(differenceOriginRight, differenceOriginLeft); + + // Differences between left/right and origin could come from resources that are present in the origin, but were deleted in one of the sides. As these resources already exist in the origin, they + // need to be removed from the additionalStorages + additionalStorages.removeAll(origin); } } |