diff options
author | Bogdan Gheorghe | 2006-04-24 18:05:39 +0000 |
---|---|---|
committer | Bogdan Gheorghe | 2006-04-24 18:05:39 +0000 |
commit | bf147af25684ea54c47ce1248f26f3019c908796 (patch) | |
tree | a1ee3f1e4415763c5ae0f7eaf4b1323bc79ac996 /bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/mappings/WorkspaceSubscriberContext.java | |
parent | 4c3500ae80dc6b45e89a5749315b3b835c560cd6 (diff) | |
download | eclipse.platform.team-bf147af25684ea54c47ce1248f26f3019c908796.tar.gz eclipse.platform.team-bf147af25684ea54c47ce1248f26f3019c908796.tar.xz eclipse.platform.team-bf147af25684ea54c47ce1248f26f3019c908796.zip |
Bug 137602 Last local rather than remote date on update
Diffstat (limited to 'bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/mappings/WorkspaceSubscriberContext.java')
-rw-r--r-- | bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/mappings/WorkspaceSubscriberContext.java | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/mappings/WorkspaceSubscriberContext.java b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/mappings/WorkspaceSubscriberContext.java index 7ffff5116..7186dacf2 100644 --- a/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/mappings/WorkspaceSubscriberContext.java +++ b/bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/mappings/WorkspaceSubscriberContext.java @@ -37,8 +37,7 @@ 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.*; import org.eclipse.team.internal.ccvs.ui.Policy; -import org.eclipse.team.internal.ccvs.ui.operations.CacheBaseContentsOperation; -import org.eclipse.team.internal.ccvs.ui.operations.CacheRemoteContentsOperation; +import org.eclipse.team.internal.ccvs.ui.operations.*; public class WorkspaceSubscriberContext extends CVSSubscriberMergeContext { @@ -169,14 +168,20 @@ public class WorkspaceSubscriberContext extends CVSSubscriberMergeContext { SyncInfo info = getSyncInfo(resource); ensureRemotesMatch(resource, diff, info); IResourceVariant remote = info.getRemote(); + RemoteFile file = (RemoteFile)remote; + if (file != null) + remote = file.getCachedHandle(); + if (info instanceof CVSSyncInfo) { CVSSyncInfo cvsInfo = (CVSSyncInfo) info; cvsInfo.makeOutgoing(monitor); if (resource.getType() == IResource.FILE && info.getRemote() != null) { ICVSFile cvsFile = CVSWorkspaceRoot.getCVSFileFor((IFile)resource); - if (remote != null && remote instanceof RemoteFile) + if (remote != null && remote instanceof RemoteFile){ cvsFile.setExecutable(((RemoteFile)remote).isExecutable()); - cvsFile.checkedIn(null, false /* not a commit */); + cvsFile.setTimeStamp(((RemoteFile) remote).getTimeStamp()); + } + cvsFile.checkedIn(null , false /* not a commit */); } } } @@ -310,6 +315,8 @@ public class WorkspaceSubscriberContext extends CVSSubscriberMergeContext { monitor.beginTask(null, 50); new CacheBaseContentsOperation(null, mappings, tree, true).run(Policy.subMonitorFor(monitor, 25)); new CacheRemoteContentsOperation(null, mappings, tree).run(Policy.subMonitorFor(monitor, 25)); + //run log and cache timestamps + new UpdateTimeStampsOperation(null, mappings, tree).run(Policy.subMonitorFor(monitor, 25)); } catch (InvocationTargetException e) { throw CVSException.wrapException(e); } catch (InterruptedException e) { @@ -368,4 +375,4 @@ public class WorkspaceSubscriberContext extends CVSSubscriberMergeContext { } return tree; } -} +}
\ No newline at end of file |