Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Valenta2003-08-20 19:43:33 +0000
committerMichael Valenta2003-08-20 19:43:33 +0000
commit81e7f58cd586fccd16358cf9286bd02dcf91899e (patch)
treeaa295273582184fbab0e9b0e10b43d92ecd259f0 /bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui
parent6224f5f3e9cb7e75444bb3d17beeba604ea03a14 (diff)
downloadeclipse.platform.team-81e7f58cd586fccd16358cf9286bd02dcf91899e.tar.gz
eclipse.platform.team-81e7f58cd586fccd16358cf9286bd02dcf91899e.tar.xz
eclipse.platform.team-81e7f58cd586fccd16358cf9286bd02dcf91899e.zip
Merges are now performed in the background
Diffstat (limited to 'bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui')
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/merge/MergeWizard.java42
1 files changed, 10 insertions, 32 deletions
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/merge/MergeWizard.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/merge/MergeWizard.java
index aa8bc33a2..6f9c5ddc1 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/merge/MergeWizard.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/merge/MergeWizard.java
@@ -11,15 +11,10 @@
package org.eclipse.team.internal.ccvs.ui.merge;
-import java.lang.reflect.InvocationTargetException;
-
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.team.core.TeamException;
import org.eclipse.team.core.subscribers.TeamProvider;
import org.eclipse.team.internal.ccvs.core.CVSMergeSubscriber;
import org.eclipse.team.internal.ccvs.core.CVSTag;
@@ -30,7 +25,6 @@ import org.eclipse.team.ui.TeamUI;
import org.eclipse.team.ui.sync.ISynchronizeView;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkingSet;
import org.eclipse.ui.PlatformUI;
public class MergeWizard extends Wizard {
@@ -39,7 +33,6 @@ public class MergeWizard extends Wizard {
IResource[] resources;
public void addPages() {
- setNeedsProgressMonitor(true);
// when merging multiple resources, use the tags found on the first selected
// resource. This makes sense because you would typically merge resources that
// have a common context and are versioned and branched together.
@@ -69,31 +62,16 @@ public class MergeWizard extends Wizard {
CVSTag startTag = startPage.getTag();
CVSTag endTag = endPage.getTag();
- final CVSMergeSubscriber s = new CVSMergeSubscriber(resources, startTag, endTag);
- try {
- getContainer().run(false, true, new IRunnableWithProgress() {
- public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
- try {
- s.refresh(resources, IResource.DEPTH_INFINITE, monitor);
- } catch (TeamException e) {
- s.cancel();
- throw new InvocationTargetException(e);
- }
- TeamProvider.registerSubscriber(s);
- }
- });
- ISynchronizeView view = TeamUI.showSyncViewInActivePage(null /* no default page */);
- IWorkingSet workingSet = CVSUIPlugin.getWorkingSet(resources, Policy.bind("SyncAction.workingSetName")); //$NON-NLS-1$
- if(view != null) {
- view.setWorkingSet(workingSet);
- view.selectSubscriber(s);
- } else {
- CVSUIPlugin.openError(getContainer().getShell(), Policy.bind("error"), Policy.bind("Error.unableToShowSyncView"), null);
- }
- } catch (InvocationTargetException e) {
- CVSUIPlugin.openError(getContainer().getShell(), null, null, e);
- return false;
- } catch (InterruptedException e) {
+ CVSMergeSubscriber s = new CVSMergeSubscriber(resources, startTag, endTag);
+ TeamProvider.registerSubscriber(s);
+
+ ISynchronizeView view = TeamUI.showSyncViewInActivePage(null);
+ if(view != null) {
+ view.setWorkingSet(null); /* show all resources in the merge */
+ view.selectSubscriber(s);
+ view.refreshWithRemote(s, resources);
+ } else {
+ CVSUIPlugin.openError(getShell(), Policy.bind("error"), Policy.bind("Error.unableToShowSyncView"), null); //$NON-NLS-1$ //$NON-NLS-2$
return false;
}
return true;

Back to the top