diff options
Diffstat (limited to 'bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal')
2 files changed, 21 insertions, 17 deletions
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSMergeSubscriber.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSMergeSubscriber.java index ca5268763..a937fff8d 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSMergeSubscriber.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSMergeSubscriber.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2006 IBM Corporation and others. + * Copyright (c) 2000, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -10,9 +10,7 @@ *******************************************************************************/ package org.eclipse.team.internal.ccvs.core; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; +import java.util.*; import org.eclipse.core.resources.*; import org.eclipse.core.runtime.*; @@ -119,9 +117,11 @@ public class CVSMergeSubscriber extends CVSSyncTreeSubscriber implements IResour private List roots; private CVSResourceVariantTree remoteTree; private MergeBaseTree baseTree; - - public CVSMergeSubscriber(IResource[] roots, CVSTag start, CVSTag end) { + private boolean isModelSync; + + public CVSMergeSubscriber(IResource[] roots, CVSTag start, CVSTag end, boolean isModelSync) { this(getUniqueId(), roots, start, end); + this.isModelSync = isModelSync; } private static QualifiedName getUniqueId() { @@ -214,6 +214,10 @@ public class CVSMergeSubscriber extends CVSSyncTreeSubscriber implements IResour return end; } + boolean isModelSync() { + return isModelSync; + } + /* * What to do when a root resource for this merge changes? * Deleted, Move, Copied diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSMergeSyncInfo.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSMergeSyncInfo.java index 1662c2ebc..1b1d424ab 100644 --- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSMergeSyncInfo.java +++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSMergeSyncInfo.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2006 IBM Corporation and others. + * Copyright (c) 2000, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -13,9 +13,9 @@ package org.eclipse.team.internal.ccvs.core; import org.eclipse.core.resources.IResource; import org.eclipse.core.runtime.*; import org.eclipse.team.core.TeamException; -import org.eclipse.team.core.subscribers.*; -import org.eclipse.team.core.synchronize.*; -import org.eclipse.team.core.variants.*; +import org.eclipse.team.core.subscribers.Subscriber; +import org.eclipse.team.core.synchronize.SyncInfo; +import org.eclipse.team.core.variants.IResourceVariant; public class CVSMergeSyncInfo extends CVSSyncInfo { @@ -35,18 +35,18 @@ public class CVSMergeSyncInfo extends CVSSyncInfo { } protected int calculateKind() throws TeamException { + int kind = super.calculateKind(); + // Report merged resources as in-sync - if (((CVSMergeSubscriber)getSubscriber()).isMerged(getLocal())) { + if ((kind & DIRECTION_MASK) == INCOMING && ((CVSMergeSubscriber)getSubscriber()).isMerged(getLocal())) { return IN_SYNC; } - - int kind = super.calculateKind(); - - // Report outgoing resources as in-sync - if((kind & DIRECTION_MASK) == OUTGOING) { + + // Report outgoing resources as in-sync when models are not shown + if((kind & DIRECTION_MASK) == OUTGOING && !((CVSMergeSubscriber)getSubscriber()).isModelSync()) { return IN_SYNC; } - + return kind; } |