Bug 150483  [Sync Info] Locally deleted file not shown in team synchronization
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer.java
index 034a9cb..dcf9299 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/EclipseSynchronizer.java
@@ -452,7 +452,9 @@
 			endOperation();
 		}
 		try {
-			return folder.members(true);
+			
+			return synchronizerCache.members(folder);
+			
 		} catch (CoreException e) {
 			throw CVSException.wrapException(e);
 		}
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SynchronizerSyncInfoCache.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SynchronizerSyncInfoCache.java
index 62b3927..c1e96cd 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SynchronizerSyncInfoCache.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/resources/SynchronizerSyncInfoCache.java
@@ -10,9 +10,7 @@
  *******************************************************************************/
 package org.eclipse.team.internal.ccvs.core.resources;
 
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
+import java.util.*;
 
 import org.eclipse.core.resources.IContainer;
 import org.eclipse.core.resources.IFolder;
@@ -327,4 +325,24 @@
 	public boolean isPhantom(IResource resource) {
 		return resource.isPhantom() || pendingCacheWrites.containsKey(resource);
 	}
+	public IResource[] members(IContainer folder) throws CoreException {
+		if (!pendingCacheWrites.isEmpty()){
+			HashSet cachedResources = new HashSet();
+			for (Iterator iter = pendingCacheWrites.keySet().iterator(); iter.hasNext();) {
+				IResource resource = (IResource) iter.next();
+				if (resource.getParent().equals(folder))
+					cachedResources.add(resource);
+			}
+			
+			if (cachedResources.size() != 0){
+				IResource[] resources = folder.members(true);
+				IResource[] cachedResourcesArray = (IResource[]) cachedResources.toArray(new IResource[cachedResources.size()]);
+				IResource[]finalResources = new IResource[resources.length + cachedResourcesArray.length];
+				System.arraycopy(resources, 0, finalResources, 0, resources.length);
+				System.arraycopy(cachedResourcesArray, 0, finalResources, resources.length, cachedResourcesArray.length);
+				return finalResources;
+			}
+		}
+		return folder.members(true);
+	}
 }
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/CVSResourceVariantTree.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/CVSResourceVariantTree.java
index d6250ed..8936e04 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/CVSResourceVariantTree.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/CVSResourceVariantTree.java
@@ -99,7 +99,7 @@
 		Set members = new HashSet();
 		members.addAll(Arrays.asList(super.members(resource)));
 		try {
-			IResource[]  localMembers = ((IContainer)resource).members(true);
+			IResource[]  localMembers = EclipseSynchronizer.getInstance().members((IContainer) resource); //((IContainer)resource).members(true);
 			for (int i = 0; i < localMembers.length; i++) {
 				IResource local = localMembers[i];
 				if (local.getType() != IResource.FILE) {