Subject: bug#12001: 24.1.50; vc-diff always talks to CVS repository

From: Glenn Morris <[email-masked]>
Date: Thu, 23 Aug 2012 03:09:47 -0400

Richard Stallman wrote:

> The reason for CVS in the subject line is that I saw
> the problem originally with a file managed by CVS.

Okaaaaay...

Now I think I can reproduce this. Analyis:

vc-cvs-state-heuristic returns 'edited when it should return 'up-to-date.
Thus vc-before-save never makes a version backup, and diffs always
contact the server.

vc-cvs-state-heuristic returns 'edited because (vc-file-getprop file
'vc-checkout-time) returns 0, which never matches the file modification
time.

The vc-checkout-time property is set by vc-cvs-parse-entry.
This fails to set the correct vc-checkout-time because, at vc-cvs.el:1175

time = "Thu Aug 23 06:50:59 2012"
mtime = (20533 53971 188243 896000)
parsed-time = (59 50 6 23 8 2012 4 nil 0)
(apply 'encode-time parsed-time) = (20533 53971) != mtime

So looks to me like this is a "high resolution time stamp" issue,
so I'm punting to Paul.