Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Valenta2003-10-17 19:38:01 +0000
committerMichael Valenta2003-10-17 19:38:01 +0000
commitd0c32fefd5296a217e89a310d36785159bb66160 (patch)
treea6664cfd9023a31eddcd8f791372664618c402d7
parent987c8663f992f3e23df6a1e5270ba84879fb32e0 (diff)
downloadeclipse.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
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/CVSWorkspaceRoot.java17
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteFolder.java19
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();
+ }
+
}

Back to the top