Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Valenta2004-02-23 19:03:53 +0000
committerMichael Valenta2004-02-23 19:03:53 +0000
commitb9c8a37909ab31bb24808b419721f6b3d51fd201 (patch)
treec56744f191bf452c8a6ddbf69b853eb98312f20a
parent8f8bd38a47db1fc464c21320423eaf91d463e55e (diff)
downloadeclipse.platform.team-b9c8a37909ab31bb24808b419721f6b3d51fd201.tar.gz
eclipse.platform.team-b9c8a37909ab31bb24808b419721f6b3d51fd201.tar.xz
eclipse.platform.team-b9c8a37909ab31bb24808b419721f6b3d51fd201.zip
*** empty log message ***
-rw-r--r--bundles/org.eclipse.team.core/src/org/eclipse/team/core/synchronize/SyncInfoFilter.java7
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CompareParticipant.java1
2 files changed, 6 insertions, 2 deletions
diff --git a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/synchronize/SyncInfoFilter.java b/bundles/org.eclipse.team.core/src/org/eclipse/team/core/synchronize/SyncInfoFilter.java
index 6f21bcbf3..caa89b17e 100644
--- a/bundles/org.eclipse.team.core/src/org/eclipse/team/core/synchronize/SyncInfoFilter.java
+++ b/bundles/org.eclipse.team.core/src/org/eclipse/team/core/synchronize/SyncInfoFilter.java
@@ -32,6 +32,8 @@ public abstract class SyncInfoFilter {
* This means that the comparison may contact the server unless the contents
* were cached locally by a previous operation. The caching of remote
* contents is subscriber specific.
+ * <p>
+ * For folders, the comparison always returns <code>true</code>.
*/
public static class ContentComparisonSyncInfoFilter extends SyncInfoFilter {
ContentComparator criteria = new ContentComparator(false);
@@ -51,8 +53,9 @@ public abstract class SyncInfoFilter {
public boolean select(SyncInfo info, IProgressMonitor monitor) {
IResourceVariant remote = info.getRemote();
IResource local = info.getLocal();
- if (remote == null) return local.exists();
- if (!local.exists()) return true;
+ if (local.getType() != IResource.FILE) return true;
+ if (remote == null) return !local.exists();
+ if (!local.exists()) return false;
return criteria.compare(local, remote, monitor);
}
}
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CompareParticipant.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CompareParticipant.java
index bb9659150..cb199eb5e 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CompareParticipant.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/CompareParticipant.java
@@ -79,6 +79,7 @@ public class CompareParticipant extends SubscriberParticipant {
* @see org.eclipse.team.ui.synchronize.subscriber.SubscriberParticipant#preCollectingChanges()
*/
protected void preCollectingChanges() {
+ super.preCollectingChanges();
getSubscriberSyncInfoCollector().setFilter(contentComparison);
}
}

Back to the top