diff options
3 files changed, 15 insertions, 6 deletions
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/model/CVSTagElement.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/model/CVSTagElement.java index d641f93c8..e6c80080c 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/model/CVSTagElement.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/model/CVSTagElement.java @@ -105,7 +105,7 @@ public class CVSTagElement extends CVSModelElement implements IDeferredWorkbench monitor.beginTask(Policy.bind("RemoteFolderElement.fetchingRemoteChildren", root.toString()), 100); //$NON-NLS-1$ FetchMembersOperation operation = new FetchMembersOperation(null, folder, collector); operation.setFilter(new RemoteFolderFilter() { - public ICVSRemoteResource[] filter(ICVSRemoteFolder[] folders) { + public ICVSRemoteResource[] filter(ICVSRemoteResource[] folders) { return CVSUIPlugin.getPlugin().getRepositoryManager().filterResources(getWorkingSet(), folders); } }); diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/model/RemoteContentProvider.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/model/RemoteContentProvider.java index 1cbeb0d3d..4fdc69a5c 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/model/RemoteContentProvider.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/model/RemoteContentProvider.java @@ -99,9 +99,18 @@ public class RemoteContentProvider extends WorkbenchContentProvider { public Object[] getChildren(Object element) { if (manager != null) { Object[] children = manager.getChildren(element); - if (children != null) + if (children != null) { + // This will be a placeholder to indicate + // that the real children are being fetched return children; + } + } + Object[] children = super.getChildren(element); + for (int i = 0; i < children.length; i++) { + Object object = children[i]; + if (object instanceof CVSModelElement) + ((CVSModelElement)object).setWorkingSet(getWorkingSet()); } - return super.getChildren(element); + return children; } } diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/FetchMembersOperation.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/FetchMembersOperation.java index f245e154e..add9a360b 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/FetchMembersOperation.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/operations/FetchMembersOperation.java @@ -39,8 +39,8 @@ public class FetchMembersOperation extends RemoteOperation { private RemoteFolderFilter filter = new RemoteFolderFilter(); public static class RemoteFolderFilter { - public ICVSRemoteResource[] filter(ICVSRemoteFolder[] folders) { - return folders; + public ICVSRemoteResource[] filter(ICVSRemoteResource[] resource) { + return resource; } } @@ -108,7 +108,7 @@ public class FetchMembersOperation extends RemoteOperation { .getRepositoryManager() .getRepositoryRootFor(remote.getRepository()) .getDefinedModules(remote.getTag(), Policy.subMonitorFor(monitor, 25)); - collector.add(modules, Policy.subMonitorFor(monitor, 5)); + collector.add(filter.filter(modules), Policy.subMonitorFor(monitor, 5)); } } else { monitor = Policy.monitorFor(monitor); |