Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBogdan Gheorghe2006-04-24 18:05:39 +0000
committerBogdan Gheorghe2006-04-24 18:05:39 +0000
commitbf147af25684ea54c47ce1248f26f3019c908796 (patch)
treea1ee3f1e4415763c5ae0f7eaf4b1323bc79ac996 /bundles/org.eclipse.team.cvs.ui/src/org/eclipse/team/internal/ccvs/ui/mappings/WorkspaceSubscriberContext.java
parent4c3500ae80dc6b45e89a5749315b3b835c560cd6 (diff)
downloadeclipse.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.java17
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

Back to the top