Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Valenta2004-06-04 14:47:37 +0000
committerMichael Valenta2004-06-04 14:47:37 +0000
commitea69581787cfc5862a68f0b6f712e61a4215f8e1 (patch)
treeef42c6268d9df0f2eeb3b4d4e33e3078e6fb2a11
parent70bae634663b74e918054f176fafd8d30570b29e (diff)
downloadeclipse.platform.team-ea69581787cfc5862a68f0b6f712e61a4215f8e1.tar.gz
eclipse.platform.team-ea69581787cfc5862a68f0b6f712e61a4215f8e1.tar.xz
eclipse.platform.team-ea69581787cfc5862a68f0b6f712e61a4215f8e1.zip
Bug 65153 Disconnecting leaves session and persistant properties
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/CVSDescendantResourceVariantByteStore.java14
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/DisconnectOperation.java2
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/ShareProjectOperation.java2
3 files changed, 11 insertions, 7 deletions
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/CVSDescendantResourceVariantByteStore.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/CVSDescendantResourceVariantByteStore.java
index 9fc5c06f3..22682d8d2 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/CVSDescendantResourceVariantByteStore.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/CVSDescendantResourceVariantByteStore.java
@@ -10,19 +10,16 @@
*******************************************************************************/
package org.eclipse.team.internal.ccvs.core.syncinfo;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
+import java.util.*;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
+import org.eclipse.team.core.RepositoryProvider;
import org.eclipse.team.core.TeamException;
import org.eclipse.team.core.variants.PersistantResourceVariantByteStore;
import org.eclipse.team.core.variants.ResourceVariantByteStore;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.CVSProviderPlugin;
-import org.eclipse.team.internal.ccvs.core.Policy;
+import org.eclipse.team.internal.ccvs.core.*;
import org.eclipse.team.internal.core.subscribers.DescendantResourceVariantByteStore;
/**
@@ -85,6 +82,7 @@ public class CVSDescendantResourceVariantByteStore extends DescendantResourceVar
for (int i = 0; i < changedResources.length; i++) {
IResource resource = changedResources[i];
try {
+ if (!isInCVSProject(resource)) continue;
if (resource.getType() == IResource.FILE
&& (resource.exists() || resource.isPhantom())) {
byte[] remoteBytes = getBytes(resource);
@@ -127,4 +125,8 @@ public class CVSDescendantResourceVariantByteStore extends DescendantResourceVar
}
return Status.OK_STATUS; // TODO
}
+
+ private boolean isInCVSProject(IResource resource) {
+ return RepositoryProvider.getProvider(resource.getProject(), CVSProviderPlugin.getTypeId()) != null;
+ }
}
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/DisconnectOperation.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/DisconnectOperation.java
index 6a52200bd..36e08fc6c 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/DisconnectOperation.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/DisconnectOperation.java
@@ -17,6 +17,7 @@ import org.eclipse.team.core.RepositoryProvider;
import org.eclipse.team.core.TeamException;
import org.eclipse.team.internal.ccvs.core.*;
import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
+import org.eclipse.team.internal.ccvs.core.resources.EclipseSynchronizer;
import org.eclipse.team.internal.ccvs.ui.Policy;
import org.eclipse.ui.IWorkbenchPart;
@@ -51,6 +52,7 @@ public class DisconnectOperation extends RepositoryProviderOperation {
if (unmanage) {
ICVSFolder cvsFolder = CVSWorkspaceRoot.getCVSFolderFor(project);
cvsFolder.unmanage(monitor);
+ EclipseSynchronizer.getInstance().deconfigure(project, monitor);
}
}
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/ShareProjectOperation.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/ShareProjectOperation.java
index 857f224eb..64080adc9 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/ShareProjectOperation.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/ShareProjectOperation.java
@@ -60,7 +60,7 @@ public class ShareProjectOperation extends CVSOperation {
exception[0] = e;
}
}
- }, project, 0, Policy.subMonitorFor(monitor, 100));
+ }, ResourcesPlugin.getWorkspace().getRuleFactory().modifyRule(project), 0, Policy.subMonitorFor(monitor, 100));
if (exception[0] != null)
throw exception[0];
} catch (CoreException e) {

Back to the top