Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Valenta2006-01-16 20:55:12 +0000
committerMichael Valenta2006-01-16 20:55:12 +0000
commit64b0332896523c323ed65c23436ef5fd090dc3fb (patch)
tree741faae99115f8d78c8c958f6e6f0d455527f4e5 /bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/actions/WorkspaceTraversalAction.java
parent8b7113c2ca34af5560c3610a51aaa405ccbb9acc (diff)
downloadeclipse.platform.team-64b0332896523c323ed65c23436ef5fd090dc3fb.tar.gz
eclipse.platform.team-64b0332896523c323ed65c23436ef5fd090dc3fb.tar.xz
eclipse.platform.team-64b0332896523c323ed65c23436ef5fd090dc3fb.zip
Bug 114752 [Model API] Convert CVS operations to use operation scope
Diffstat (limited to 'bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/actions/WorkspaceTraversalAction.java')
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/actions/WorkspaceTraversalAction.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/actions/WorkspaceTraversalAction.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/actions/WorkspaceTraversalAction.java
index 18366be8f..ddda3f158 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/actions/WorkspaceTraversalAction.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/actions/WorkspaceTraversalAction.java
@@ -23,6 +23,8 @@ import org.eclipse.team.core.RepositoryProvider;
import org.eclipse.team.core.subscribers.Subscriber;
import org.eclipse.team.core.subscribers.SubscriberResourceMappingContext;
import org.eclipse.team.internal.ccvs.core.CVSProviderPlugin;
+import org.eclipse.team.internal.ccvs.ui.Policy;
+import org.eclipse.team.internal.ccvs.ui.operations.RepositoryProviderOperation;
import org.eclipse.ui.PlatformUI;
/**
@@ -122,4 +124,25 @@ public abstract class WorkspaceTraversalAction extends WorkspaceAction {
}
return false;
}
+
+ protected boolean hasOutgoingChanges(final RepositoryProviderOperation operation) throws InvocationTargetException, InterruptedException {
+ final boolean[] hasChange = new boolean[] { false };
+ PlatformUI.getWorkbench().getProgressService().run(true, true, new IRunnableWithProgress() {
+ public void run(IProgressMonitor monitor) throws InvocationTargetException,
+ InterruptedException {
+ try {
+ monitor.beginTask("Looking for uncommitted changes", 100);
+ operation.buildScope(Policy.subMonitorFor(monitor, 50));
+ hasChange[0] = CVSProviderPlugin.getPlugin().getCVSWorkspaceSubscriber().hasLocalChanges(
+ operation.getScope().getTraversals(),
+ Policy.subMonitorFor(monitor, 50));
+ } catch (CoreException e) {
+ throw new InvocationTargetException(e);
+ } finally {
+ monitor.done();
+ }
+ }
+ });
+ return hasChange[0];
+ }
}

Back to the top