diff options
Diffstat (limited to 'bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/merge/MergeEditorInput.java')
-rw-r--r-- | bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/merge/MergeEditorInput.java | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/merge/MergeEditorInput.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/merge/MergeEditorInput.java deleted file mode 100644 index bdb35a6d8..000000000 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/merge/MergeEditorInput.java +++ /dev/null @@ -1,94 +0,0 @@ -package org.eclipse.team.internal.ccvs.ui.merge; - -/* - * (c) Copyright IBM Corp. 2000, 2002. - * All Rights Reserved. - */ - -import org.eclipse.compare.structuremergeviewer.ICompareInput; -import org.eclipse.compare.structuremergeviewer.IDiffContainer; -import org.eclipse.compare.structuremergeviewer.IDiffElement; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.team.core.TeamException; -import org.eclipse.team.core.sync.IRemoteResource; -import org.eclipse.team.core.sync.IRemoteSyncElement; -import org.eclipse.team.internal.ccvs.core.CVSTag; -import org.eclipse.team.internal.ccvs.core.resources.CVSRemoteSyncElement; -import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot; -import org.eclipse.team.internal.ccvs.core.resources.RemoteFile; -import org.eclipse.team.internal.ccvs.ui.Policy; -import org.eclipse.team.internal.ccvs.ui.sync.CVSSyncCompareInput; -import org.eclipse.team.internal.ui.sync.MergeResource; -import org.eclipse.team.internal.ui.sync.SyncView; -import org.eclipse.team.internal.ui.sync.TeamFile; - -public class MergeEditorInput extends CVSSyncCompareInput { - CVSTag start; - CVSTag end; - - public MergeEditorInput(IResource[] resources, CVSTag start, CVSTag end) { - // we have to perform content comparison since files in different branches - // may have different revisions but the same contents. Consider these files - // for merge purposes as equal. - super(resources, IRemoteSyncElement.GRANULARITY_CONTENTS); - this.start = start; - this.end = end; - } - public Viewer createDiffViewer(Composite parent) { - Viewer viewer = super.createDiffViewer(parent); - getViewer().syncModeChanged(SyncView.SYNC_MERGE); - return viewer; - } - protected IRemoteSyncElement[] createSyncElements(IProgressMonitor monitor) throws TeamException { - IResource[] resources = getResources(); - IRemoteSyncElement[] trees = new IRemoteSyncElement[resources.length]; - int work = 100 * resources.length; - monitor.beginTask(null, work); - try { - for (int i = 0; i < trees.length; i++) { - IResource resource = resources[i]; - IRemoteResource base = CVSWorkspaceRoot.getRemoteTree(resource, start, Policy.subMonitorFor(monitor, 50)); - IRemoteResource remote = CVSWorkspaceRoot.getRemoteTree(resource, end, Policy.subMonitorFor(monitor, 50)); - trees[i] = new CVSRemoteSyncElement(true /*three way*/, resource, base, remote); - } - } finally { - monitor.done(); - } - return trees; - } - public CVSTag getStartTag() { - return start; - } - public CVSTag getEndTag() { - return end; - } - public String getTitle() { - return Policy.bind("MergeEditorInput.title", start.getName(), end.getName()); //$NON-NLS-1$ - } - public boolean isSaveNeeded() { - return false; - } - protected void contentsChanged(ICompareInput source) { - } - - /* - * Override collectResourceChanges to only determine the true sync state for incomming changes - */ - protected IDiffElement collectResourceChanges(IDiffContainer parent, IRemoteSyncElement tree, IProgressMonitor pm) { - if ( ! tree.isContainer()) { - CVSRemoteSyncElement cvsTree = (CVSRemoteSyncElement)tree; - RemoteFile base = (RemoteFile)cvsTree.getBase(); - RemoteFile remote = (RemoteFile)cvsTree.getRemote(); - if (base != null && remote != null && base.getRevision().equals(remote.getRevision())) { - // If the base and remote are the same, we don't have an incomming change - MergeResource mergeResource = new MergeResource(tree); - TeamFile file = new TeamFile(parent, mergeResource, IRemoteSyncElement.IN_SYNC, getShell()); - return file; - } - } - return super.collectResourceChanges(parent, tree, pm); - } -}
\ No newline at end of file |