From 21b71cca4ee4254a2a61abbbd771dea13406e75b Mon Sep 17 00:00:00 2001 From: Tomasz Zarna Date: Thu, 26 Jan 2012 13:27:10 +0100 Subject: Revert "bug 361930: [Backport][Repo view] Module disappears in CVS Repositories" This reverts commit d251f1c995d57cb6e18d0c9380b709c5f99483d2. --- .../team/internal/ccvs/ui/repo/RepositoryRoot.java | 13 +- .../META-INF/MANIFEST.MF | 2 +- .../org/eclipse/team/tests/ccvs/ui/AllUITests.java | 1 - .../team/tests/ccvs/ui/RepositoriesViewTests.java | 165 --------------------- 4 files changed, 7 insertions(+), 174 deletions(-) delete mode 100644 tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/RepositoriesViewTests.java diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/repo/RepositoryRoot.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/repo/RepositoryRoot.java index 36639eaad..cc414aba9 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/repo/RepositoryRoot.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/repo/RepositoryRoot.java @@ -444,15 +444,14 @@ public class RepositoryRoot extends PlatformObject { } /* - * Return the cache key (path) for the given folder path. For root projects - * it returns the folder the project is mapped to as the tag source (see - * TagSource). For non-root projects it returns only the first segment of - * the path because for the time being tag lists are kept for the remote - * ancestors of the resource that is a direct child of the remote root (see - * javadoc for addTags). + * Return the cache key (path) for the given folder path. + * This has been changed to cache the tags directly + * with the folder to better support non-root projects. + * However, resources in the local workspace use the folder + * the project is mapped to as the tag source (see TagSource) */ private String getCachePathFor(String remotePath) { - return new Path(null, remotePath).segment(0); + return remotePath; } /** diff --git a/tests/org.eclipse.team.tests.cvs.core/META-INF/MANIFEST.MF b/tests/org.eclipse.team.tests.cvs.core/META-INF/MANIFEST.MF index 6ab532a40..a0450aa99 100644 --- a/tests/org.eclipse.team.tests.cvs.core/META-INF/MANIFEST.MF +++ b/tests/org.eclipse.team.tests.cvs.core/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Eclipse CVS Tests Core Bundle-SymbolicName: org.eclipse.team.tests.cvs.core; singleton:=true -Bundle-Version: 3.3.401.qualifier +Bundle-Version: 3.3.300.qualifier Bundle-ClassPath: cvstests.jar Bundle-Activator: org.eclipse.team.tests.ccvs.core.TeamCVSTestPlugin Bundle-Vendor: Eclipse.org diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/AllUITests.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/AllUITests.java index 6b1b97aba..c595f253a 100644 --- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/AllUITests.java +++ b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/AllUITests.java @@ -30,7 +30,6 @@ public class AllUITests extends EclipseTest { suite.addTest(CheckoutOperationTests.suite()); suite.addTest(CompareOperationTests.suite()); suite.addTest(MiscOperationsTests.suite()); - suite.addTest(RepositoriesViewTests.suite()); suite.addTest(ProjectSetImporterTests.suite()); suite.addTest(EditorTests.suite()); suite.addTest(PatchWizardRadioButtonGroupTests.suite()); diff --git a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/RepositoriesViewTests.java b/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/RepositoriesViewTests.java deleted file mode 100644 index 86e09a161..000000000 --- a/tests/org.eclipse.team.tests.cvs.core/src/org/eclipse/team/tests/ccvs/ui/RepositoriesViewTests.java +++ /dev/null @@ -1,165 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.team.tests.ccvs.ui; - -import junit.framework.Test; -import junit.framework.TestSuite; - -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.team.core.TeamException; -import org.eclipse.team.internal.ccvs.core.CVSTag; -import org.eclipse.team.internal.ccvs.core.resources.RemoteFolder; -import org.eclipse.team.internal.ccvs.core.resources.RemoteResource; -import org.eclipse.team.internal.ccvs.ui.CVSUIPlugin; -import org.eclipse.team.internal.ccvs.ui.model.AllRootsElement; -import org.eclipse.team.internal.ccvs.ui.model.BranchCategory; -import org.eclipse.team.internal.ccvs.ui.model.CVSTagElement; -import org.eclipse.team.internal.ccvs.ui.model.RemoteContentProvider; -import org.eclipse.team.internal.ccvs.ui.model.RemoteModule; -import org.eclipse.team.internal.ccvs.ui.model.VersionCategory; -import org.eclipse.team.internal.ccvs.ui.repo.RepositoryRoot; -import org.eclipse.team.tests.ccvs.core.CVSTestSetup; -import org.eclipse.team.tests.ccvs.core.EclipseTest; - -public class RepositoriesViewTests extends EclipseTest { - - public RepositoriesViewTests(String testName) { - super(testName); - } - - protected void setUp() throws Exception { - super.setUp(); - // clear repository root cache - RepositoryRoot repositoryRoot = getRepositoryRoot(); - String remotePaths[] = repositoryRoot.getKnownRemotePaths(); - for (int i = 0; i < remotePaths.length; i++) { - repositoryRoot.removeTags(remotePaths[i], - repositoryRoot.getAllKnownTags(remotePaths[i])); - } - - } - - private RepositoryRoot getRepositoryRoot() { - RemoteContentProvider rcp = new RemoteContentProvider(); - AllRootsElement are = new AllRootsElement(); - Object[] repositoryRoots = rcp.getElements(are); - for (int i = 0; i < repositoryRoots.length; i++) { - RepositoryRoot repositoryRoot = (RepositoryRoot) repositoryRoots[i]; - if (getRepository().equals(repositoryRoot.getRoot())) { - return repositoryRoot; - } - } - fail(); - return null; - } - - public static Test suite() { - String testName = System.getProperty("eclipse.cvs.testName"); - if (testName == null) { - TestSuite suite = new TestSuite(RepositoriesViewTests.class); - return new CVSTestSetup(suite); - } else { - return new CVSTestSetup(new RepositoriesViewTests(testName)); - } - } - - public void testBranchSubmoduleChildren() throws TeamException, - CoreException { - - String time = Long.toString(System.currentTimeMillis()); - String moduleName = "TestBranchSubmoduleChildrenTestModule" + time; - String branchName = "TestBranchSubmoduleChildrenBranch" + time; - String versionName = "Root_" + branchName; - - // create project - IProject project = getUniqueTestProject("TestBranchSubmoduleChildrenProject"); - buildResources(project, new String[] { "file1.txt" }, true); - // share project under module - shareProject(getRepository(), project, - moduleName + "/" + project.getName(), DEFAULT_MONITOR); - assertValidCheckout(project); - - // make some changes - addResources(project, new String[] { "folder1/c.txt" }, false); - - // make branch - CVSTag version = new CVSTag(versionName, CVSTag.VERSION); - CVSTag branch = new CVSTag(branchName, CVSTag.BRANCH); - - makeBranch(new IResource[] { project }, version, branch, true); - commitProject(project); - - // refresh branches - CVSUIPlugin - .getPlugin() - .getRepositoryManager() - .refreshDefinedTags( - getRepository().getRemoteFolder(moduleName, null), - true, true, DEFAULT_MONITOR); - - // check if module is the only branch child - RemoteContentProvider rcp = new RemoteContentProvider(); - Object[] categories = rcp.getChildren(getRepositoryRoot()); - assertEquals(4, categories.length); - assertTrue(categories[1] instanceof BranchCategory); - Object[] branches = rcp.getChildren(categories[1]); - assertEquals(1, branches.length); - assertEquals(branchName, ((CVSTagElement) (branches[0])).getTag() - .getName()); - Object[] modules = rcp.getChildren(branches[0]); - assertEquals(1, modules.length); - assertEquals(moduleName, ((RemoteResource) modules[0]).getName()); - } - - public void testTagSubmoduleChildren() throws TeamException, CoreException { - - String time = Long.toString(System.currentTimeMillis()); - String moduleName = "TestTagSubmoduleChildrenTestModule" + time; - String versionName = "TestTagSubmoduleChildrenBranch" + time; - - // create project - IProject project = getUniqueTestProject("TestTagSubmoduleChildrenProject"); - buildResources(project, new String[] { "file1.txt" }, true); - // share project under module - shareProject(getRepository(), project, - moduleName + "/" + project.getName(), DEFAULT_MONITOR); - assertValidCheckout(project); - - // tag project - CVSTag tag = new CVSTag(versionName, CVSTag.VERSION); - - tagProject(project, tag, true); - - RemoteContentProvider rcp = new RemoteContentProvider(); - Object[] categories = rcp.getChildren(getRepositoryRoot()); - assertEquals(4, categories.length); - - // check if version exists for module - assertTrue(categories[2] instanceof VersionCategory); - Object[] modules = rcp.getChildren(categories[2]); - boolean moduleExists = false; - for (int i = 0; i < modules.length; i++) { - if (modules[i] instanceof RemoteModule - && ((RemoteModule) (modules[i])).getCVSResource().getName() - .equals(moduleName)) { - moduleExists = true; - Object folders[] = rcp.getChildren(modules[i]); - assertEquals(1, folders.length); - assertEquals(versionName, ((RemoteFolder) folders[0]).getTag() - .getName()); - } - } - assertTrue(moduleExists); - } - -} -- cgit v1.2.3