diff options
author | Michael Valenta | 2003-08-20 19:43:33 +0000 |
---|---|---|
committer | Michael Valenta | 2003-08-20 19:43:33 +0000 |
commit | 81e7f58cd586fccd16358cf9286bd02dcf91899e (patch) | |
tree | aa295273582184fbab0e9b0e10b43d92ecd259f0 /bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui | |
parent | 6224f5f3e9cb7e75444bb3d17beeba604ea03a14 (diff) | |
download | eclipse.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.java | 42 |
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; |