diff options
author | Michael Valenta | 2004-06-04 14:47:37 +0000 |
---|---|---|
committer | Michael Valenta | 2004-06-04 14:47:37 +0000 |
commit | ea69581787cfc5862a68f0b6f712e61a4215f8e1 (patch) | |
tree | ef42c6268d9df0f2eeb3b4d4e33e3078e6fb2a11 | |
parent | 70bae634663b74e918054f176fafd8d30570b29e (diff) | |
download | eclipse.platform.team-ea69581787cfc5862a68f0b6f712e61a4215f8e1.tar.gz eclipse.platform.team-ea69581787cfc5862a68f0b6f712e61a4215f8e1.tar.xz eclipse.platform.team-ea69581787cfc5862a68f0b6f712e61a4215f8e1.zip |
Bug 65153 Disconnecting leaves session and persistant properties
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) { |