diff options
author | Michael Valenta | 2003-07-08 15:53:42 +0000 |
---|---|---|
committer | Michael Valenta | 2003-07-08 15:53:42 +0000 |
commit | 850002b09ecc5a092deebeef25e3eb3fe887c315 (patch) | |
tree | 053ed4d8d4eabba98fdb5b8be448e9329b4dead4 | |
parent | 9f6970296b66d91d1d3a56fe31dc3cd4587180c5 (diff) | |
download | eclipse.platform.team-850002b09ecc5a092deebeef25e3eb3fe887c315.tar.gz eclipse.platform.team-850002b09ecc5a092deebeef25e3eb3fe887c315.tar.xz eclipse.platform.team-850002b09ecc5a092deebeef25e3eb3fe887c315.zip |
39390: [CVS Merge] Need Mark As Merged Action
3 files changed, 27 insertions, 3 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 10c873631..3dbe4d328 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 @@ -63,6 +63,8 @@ public class CVSMergeSubscriber extends CVSSyncTreeSubscriber implements IResour private RemoteTagSynchronizer remoteSynchronizer; private RemoteSynchronizer mergedSynchronizer; private RemoteTagSynchronizer baseSynchronizer; + + private static final byte[] NO_REMOTE = new byte[0]; protected IResource[] refreshRemote(IResource[] resources, int depth, IProgressMonitor monitor) throws TeamException { @@ -123,7 +125,12 @@ public class CVSMergeSubscriber extends CVSSyncTreeSubscriber implements IResour public void merged(IResource[] resources) throws CVSException { for (int i = 0; i < resources.length; i++) { IResource resource = resources[i]; - mergedSynchronizer.setSyncBytes(resource, remoteSynchronizer.getSyncBytes(resource)); + byte[] remoteBytes = remoteSynchronizer.getSyncBytes(resource); + if (remoteBytes == null) { + // If there is no remote, use a place holder to indicate the resouce was merged + remoteBytes = NO_REMOTE; + } + mergedSynchronizer.setSyncBytes(resource, remoteBytes); } fireTeamResourceChange(TeamDelta.asSyncChangedDeltas(this, resources)); } @@ -136,7 +143,8 @@ public class CVSMergeSubscriber extends CVSSyncTreeSubscriber implements IResour ResourcesPlugin.getWorkspace().removeResourceChangeListener(this); TeamProvider.deregisterSubscriber(this); remoteSynchronizer.dispose(); - baseSynchronizer.dispose(); + baseSynchronizer.dispose(); + mergedSynchronizer.dispose(); } /* (non-Javadoc) 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 1ac9b6780..3fc520771 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 @@ -39,4 +39,13 @@ public class CVSMergeSyncInfo extends CVSSyncInfo { public CVSMergeSyncInfo(IResource local, IRemoteResource base, IRemoteResource remote, TeamSubscriber subscriber, IProgressMonitor monitor) throws TeamException { super(local, base, remote, subscriber, monitor); } + + /* (non-Javadoc) + * @see org.eclipse.team.internal.ccvs.core.CVSSyncInfo#makeOutgoing(org.eclipse.core.runtime.IProgressMonitor) + */ + public void makeOutgoing(IProgressMonitor monitor) throws TeamException { + // Make the resource outgoing by marking it as merged with the subscriber + CVSMergeSubscriber subscriber = (CVSMergeSubscriber)getSubscriber(); + subscriber.merged(new IResource[] {getLocal() }); + } } diff --git a/bundles/org.eclipse.team.cvs.ui/plugin.xml b/bundles/org.eclipse.team.cvs.ui/plugin.xml index 5622f7132..cb8238820 100644 --- a/bundles/org.eclipse.team.cvs.ui/plugin.xml +++ b/bundles/org.eclipse.team.cvs.ui/plugin.xml @@ -599,7 +599,14 @@ tooltip="%CVSWorkspaceSubscriber.merge.tooltip" class="org.eclipse.team.internal.ccvs.ui.subscriber.MergeUpdateAction" helpContextId="org.eclipse.team.cvs.ui.workspace_subscriber_merge_action" - id="org.eclipse.team.ccvs.ui.CVSWorkspaceSubscriber.merge"> + id="org.eclipse.team.ccvs.ui.CVSMergeSubscriber.merge"> + </action> + <action + label="%CVSWorkspaceSubscriber.confirmMerged.label" + tooltip="%CVSWorkspaceSubscriber.confirmMerged.tooltip" + class="org.eclipse.team.internal.ccvs.ui.subscriber.SubscriberConfirmMergedAction" + helpContextId="org.eclipse.team.cvs.ui.workspace_subscriber_confirm_merged_action" + id="org.eclipse.team.ccvs.ui.CVSMergeSubscriber.confirmMerged"> </action> </subscriberContribution> </extension> |