Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Valenta2004-11-11 17:05:42 +0000
committerMichael Valenta2004-11-11 17:05:42 +0000
commit183b59e4bad94d7c9f19f84eda50377b7db0b45d (patch)
treeaec2c7c3d3ddbac8dc129826a508759b2053d62e
parenta2634299ea9d8b7e6cf48ff57f8bc6e13b039f92 (diff)
downloadeclipse.platform.team-183b59e4bad94d7c9f19f84eda50377b7db0b45d.tar.gz
eclipse.platform.team-183b59e4bad94d7c9f19f84eda50377b7db0b45d.tar.xz
eclipse.platform.team-183b59e4bad94d7c9f19f84eda50377b7db0b45d.zip
Bug 75918 [Repo View] Expanding in repo view does workspace runnable
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/AbstractStructureVisitor.java10
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteModule.java37
2 files changed, 17 insertions, 30 deletions
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/AbstractStructureVisitor.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/AbstractStructureVisitor.java
index ed63fdcec..966986724 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/AbstractStructureVisitor.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/client/AbstractStructureVisitor.java
@@ -17,6 +17,7 @@ import java.util.Collections;
import java.util.Comparator;
import java.util.List;
+import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.Platform;
import org.eclipse.team.internal.ccvs.core.CVSException;
@@ -191,8 +192,10 @@ abstract class AbstractStructureVisitor implements ICVSResourceVisitor {
} else if (sendContents) {
// Perform the send of modified contents in a sheduling rule to ensure that
// the contents are not modified while we are sending them
- try {
- Platform.getJobManager().beginRule(mFile.getIResource(), monitor);
+ IResource resource = mFile.getIResource();
+ try {
+ if (resource != null)
+ Platform.getJobManager().beginRule(resource, monitor);
sendEntryLineToServer(mFile, syncBytes);
if (mFile.exists() && mFile.isModified(null)) {
@@ -206,7 +209,8 @@ abstract class AbstractStructureVisitor implements ICVSResourceVisitor {
session.sendUnchanged(mFile);
}
} finally {
- Platform.getJobManager().endRule(mFile.getIResource());
+ if (resource != null)
+ Platform.getJobManager().endRule(resource);
}
} else {
sendEntryLineToServer(mFile, syncBytes);
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteModule.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteModule.java
index d4b6f8f13..41d1120a8 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteModule.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/RemoteModule.java
@@ -11,33 +11,12 @@
package org.eclipse.team.internal.ccvs.core.resources;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.NoSuchElementException;
-import java.util.StringTokenizer;
+import java.util.*;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.*;
import org.eclipse.team.core.TeamException;
-import org.eclipse.team.internal.ccvs.core.CVSException;
-import org.eclipse.team.internal.ccvs.core.CVSProviderPlugin;
-import org.eclipse.team.internal.ccvs.core.CVSTag;
-import org.eclipse.team.internal.ccvs.core.ICVSFolder;
-import org.eclipse.team.internal.ccvs.core.ICVSRemoteFolder;
-import org.eclipse.team.internal.ccvs.core.ICVSRemoteResource;
-import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation;
-import org.eclipse.team.internal.ccvs.core.ICVSResource;
-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.Session;
-import org.eclipse.team.internal.ccvs.core.client.Update;
+import org.eclipse.team.internal.ccvs.core.*;
+import org.eclipse.team.internal.ccvs.core.client.*;
import org.eclipse.team.internal.ccvs.core.client.Command.LocalOption;
import org.eclipse.team.internal.ccvs.core.syncinfo.FolderSyncInfo;
@@ -53,7 +32,7 @@ public class RemoteModule extends RemoteFolder {
monitor.beginTask(Policy.bind("RemoteModule.getRemoteModules"), 100); //$NON-NLS-1$
try {
RemoteModule[] modules;
- Session s = new Session(repository, (ICVSFolder)CVSWorkspaceRoot.getCVSResourceFor(ResourcesPlugin.getWorkspace().getRoot()), false);
+ Session s = new Session(repository, getRemoteRootFolder(repository), false);
s.open(Policy.subMonitorFor(monitor, 10), false /* read-only */);
try {
modules = Command.CHECKOUT.getRemoteModules(s, tag, Policy.subMonitorFor(monitor, 90));
@@ -66,7 +45,11 @@ public class RemoteModule extends RemoteFolder {
}
}
- /**
+ private static ICVSFolder getRemoteRootFolder(ICVSRepositoryLocation repository) {
+ return new RemoteFolder(null, repository, "/", null); //$NON-NLS-1$
+ }
+
+ /**
* Create a set of RemoteModules from the provided module definition strings returned from the server
*
* At the moment, we are very restrictive on the types of modules we support.

Back to the top