diff options
author | Michael Valenta | 2003-10-17 19:38:01 +0000 |
---|---|---|
committer | Michael Valenta | 2003-10-17 19:38:01 +0000 |
commit | d0c32fefd5296a217e89a310d36785159bb66160 (patch) | |
tree | a6664cfd9023a31eddcd8f791372664618c402d7 | |
parent | 987c8663f992f3e23df6a1e5270ba84879fb32e0 (diff) | |
download | eclipse.platform.team-d0c32fefd5296a217e89a310d36785159bb66160.tar.gz eclipse.platform.team-d0c32fefd5296a217e89a310d36785159bb66160.tar.xz eclipse.platform.team-d0c32fefd5296a217e89a310d36785159bb66160.zip |
31928: [CVS Core] Change Share to perform Add instead of Import
2 files changed, 23 insertions, 13 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 0f3e45440..ccdfe5297 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 @@ -45,7 +45,6 @@ import org.eclipse.team.internal.ccvs.core.ICVSRunnable; import org.eclipse.team.internal.ccvs.core.Policy; import org.eclipse.team.internal.ccvs.core.client.Checkout; import org.eclipse.team.internal.ccvs.core.client.Command; -import org.eclipse.team.internal.ccvs.core.client.Import; import org.eclipse.team.internal.ccvs.core.client.Request; import org.eclipse.team.internal.ccvs.core.client.Session; import org.eclipse.team.internal.ccvs.core.client.Update; @@ -237,22 +236,22 @@ public class CVSWorkspaceRoot { final ICVSFolder folder = (ICVSFolder)CVSWorkspaceRoot.getCVSResourceFor(project); try { - // Get the import properties - String message = Policy.bind("CVSProvider.initialImport"); //$NON-NLS-1$ - String vendor = "vendor"; //$NON-NLS-1$ - String tag = "start"; //$NON-NLS-1$ String projectName = project.getName(); if (moduleName == null) moduleName = projectName; // Perform the import using a dummy root so the local project is not traversed - Session s = new Session(location, new RemoteFolderTree(null, location, Path.EMPTY.toString(), null)); + RemoteFolderTree root = new RemoteFolderTree(null, location, Path.EMPTY.toString(), null); + root.setChildren(new ICVSRemoteResource[] { + new RemoteFolder(root, moduleName, null, null, null, false) + }); + Session s = new Session(location, root); s.open(monitor, true /* open for modification */); try { - IStatus status = Command.IMPORT.execute(s, + IStatus status = Command.ADD.execute(s, Command.NO_GLOBAL_OPTIONS, - new LocalOption[] {Import.makeArgumentOption(Command.MESSAGE_OPTION, message)}, - new String[] { moduleName, vendor, tag }, + Command.NO_LOCAL_OPTIONS, + new String[] { moduleName }, null, monitor); // If we get a warning, the operation most likely failed so check that the status is OK diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFolder.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFolder.java index 8aaa53010..8916a12e3 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFolder.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFolder.java @@ -89,7 +89,9 @@ public class RemoteFolder extends RemoteResource implements ICVSRemoteFolder, IC public RemoteFolder(RemoteFolder parent, String name, ICVSRepositoryLocation repository, String repositoryRelativePath, CVSTag tag, boolean isStatic) { super(parent, name); - this.folderInfo = new FolderSyncInfo(repositoryRelativePath.toString(), repository.getLocation(), tag, isStatic); + if (repository != null) { + this.folderInfo = new FolderSyncInfo(repositoryRelativePath.toString(), repository.getLocation(), tag, isStatic); + } this.repository = repository; } @@ -396,6 +398,9 @@ public class RemoteFolder extends RemoteResource implements ICVSRemoteFolder, IC * @see ICVSResource#getRemoteLocation(ICVSFolder) */ public String getRemoteLocation(ICVSFolder stopSearching) throws CVSException { + if (folderInfo == null) { + return Util.appendPath(parent.getRemoteLocation(stopSearching), getName()); + } return folderInfo.getRemoteLocation(); } @@ -403,7 +408,7 @@ public class RemoteFolder extends RemoteResource implements ICVSRemoteFolder, IC * @see ICVSFolder#isCVSFolder() */ public boolean isCVSFolder() { - return true; + return folderInfo != null; } /** @@ -465,8 +470,6 @@ public class RemoteFolder extends RemoteResource implements ICVSRemoteFolder, IC */ public void setFolderSyncInfo(FolderSyncInfo folderInfo) throws CVSException { this.folderInfo = folderInfo; - // Currently not supported - throw new CVSException(Policy.bind("RemoteResource.invalidOperation"));//$NON-NLS-1$ } /* @@ -615,4 +618,12 @@ public class RemoteFolder extends RemoteResource implements ICVSRemoteFolder, IC public IStorage getBufferedStorage(IProgressMonitor monitor) throws TeamException { return null; } + + /* (non-Javadoc) + * @see org.eclipse.team.internal.ccvs.core.ICVSResource#isManaged() + */ + public boolean isManaged() { + return super.isManaged() && isCVSFolder(); + } + } |