diff options
author | Jean Michel-Lemieux | 2003-03-13 15:15:42 +0000 |
---|---|---|
committer | Jean Michel-Lemieux | 2003-03-13 15:15:42 +0000 |
commit | c3319a4f0f0f900a92b78bfcb14617a576cd900e (patch) | |
tree | d319da78dcc8a29b2d6798e880c7b8acd04b5500 /bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSWorkspaceRoot.java | |
parent | eb07a6f629edc41af082468a0929f8f327408463 (diff) | |
download | eclipse.platform.team-c3319a4f0f0f900a92b78bfcb14617a576cd900e.tar.gz eclipse.platform.team-c3319a4f0f0f900a92b78bfcb14617a576cd900e.tar.xz eclipse.platform.team-c3319a4f0f0f900a92b78bfcb14617a576cd900e.zip |
Bug 34880 NPE synchronizing repositories with disconnected projects
Diffstat (limited to 'bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSWorkspaceRoot.java')
-rw-r--r-- | bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSWorkspaceRoot.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSWorkspaceRoot.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSWorkspaceRoot.java index eedd348a2..1b4f27e94 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSWorkspaceRoot.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSWorkspaceRoot.java @@ -726,4 +726,25 @@ public class CVSWorkspaceRoot { IFolder linkedParent = resource.getProject().getFolder(linkedParentName); return linkedParent.isLinked(); } + + /** + * A resource is considered shared + * @param resource + * @return boolean + */ + public static boolean isSharedWithCVS(IResource resource) throws CVSException { + if (!resource.isAccessible()) return false; + if(isLinkedResource(resource)) return false; + + if(RepositoryProvider.getProvider(resource.getProject(), CVSProviderPlugin.getTypeId()) == null) { + return false; + } + + ICVSResource cvsResource = CVSWorkspaceRoot.getCVSResourceFor(resource); + if (cvsResource.isManaged()) return true; + if (!cvsResource.exists()) return false; + if (cvsResource.isFolder() && ((ICVSFolder) cvsResource).isCVSFolder()) return true; + if (cvsResource.isIgnored()) return false; + return cvsResource.getParent().isCVSFolder(); + } } |