Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Valenta2004-06-16 20:06:04 +0000
committerMichael Valenta2004-06-16 20:06:04 +0000
commitd97d50e784ab6f12c918961427dc2b72e96d325b (patch)
treeb8bad1ad20005fcae2c76d7ba7e0226f74ec9f41 /bundles
parent95bc31e2d19b60305c79247e2c7f83fecb48f0cf (diff)
downloadeclipse.platform.team-d97d50e784ab6f12c918961427dc2b72e96d325b.tar.gz
eclipse.platform.team-d97d50e784ab6f12c918961427dc2b72e96d325b.tar.xz
eclipse.platform.team-d97d50e784ab6f12c918961427dc2b72e96d325b.zip
Bug 67343 [Commit Set] mark as merged doesn't remove item from sync viewI20040616
Diffstat (limited to 'bundles')
-rw-r--r--bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/ChangeLogModelProvider.java15
1 files changed, 12 insertions, 3 deletions
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/ChangeLogModelProvider.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/ChangeLogModelProvider.java
index b1832092d..cc2cf451a 100644
--- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/ChangeLogModelProvider.java
+++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/subscriber/ChangeLogModelProvider.java
@@ -225,7 +225,6 @@ public class ChangeLogModelProvider extends SynchronizeModelProvider {
syncSets.clear();
}
for (int i = 0; i < updates.length; i++) {
- SyncInfoSet set = updates[i];
calculateRoots(updates[i], monitor);
}
refreshViewer();
@@ -458,12 +457,12 @@ public class ChangeLogModelProvider extends SynchronizeModelProvider {
ISynchronizeModelElement element;
// If the element has a comment then group with common comment
if(remoteResource != null && logEntry != null && isInterestingChange(info)) {
- ChangeLogDiffNode changeRoot = (ChangeLogDiffNode) getChangeLogDiffNodeFor(logEntry);
+ ChangeLogDiffNode changeRoot = getChangeLogDiffNodeFor(logEntry);
if (changeRoot == null) {
changeRoot = new ChangeLogDiffNode(getModelRoot(), logEntry);
addToViewer(changeRoot);
}
- if(info instanceof CVSSyncInfo && ! logEntry.isDeletion()) {
+ if(requiresCustomSyncInfo(info, remoteResource, logEntry)) {
info = new CVSUpdatableSyncInfo(info.getKind(), info.getLocal(), info.getBase(), (RemoteResource)logEntry.getRemoteFile(), ((CVSSyncInfo)info).getSubscriber());
try {
info.init();
@@ -480,6 +479,16 @@ public class ChangeLogModelProvider extends SynchronizeModelProvider {
addToViewer(element);
}
+ private boolean requiresCustomSyncInfo(SyncInfo info, ICVSRemoteResource remoteResource, ILogEntry logEntry) {
+ // Only interested in non-deletions
+ if (logEntry.isDeletion() || !(info instanceof CVSSyncInfo)) return false;
+ // Only require a custom sync info if the remote of the sync info
+ // differs from the remote in the log entry
+ IResourceVariant remote = info.getRemote();
+ if (remote == null) return true;
+ return !remote.equals(remoteResource);
+ }
+
/*
* Find an existing comment set
* TODO: we could do better than a linear lookup?

Back to the top