Red Hat Bugzilla – Bug 23333
cvs uses lstat() not stat() to determine whether file has been modified locally.
Last modified: 2007-04-18 12:30:31 EDT
I have a strange CVS setup, which always used to work but appears to break
I have a Linux kernel tree under CVS, but some files in it are actually
symlinks to files elsewhere (actually in another _separate_ CVS
When I modify a file, cvs observes that the timestamp on the _link_ hasn't
changed, and doesn't bother to actually compare. I think CVS ought to be
using (and indeed used to use) stat() instead of lstat().
Created attachment 7244 [details]
patch to make time_stamp() do both stat() and lstat() and return the newest mtime
I've attached a patch which solves the problem. I haven't yet verified that it
doesn't break anything else, but I don't think a false positive from the
timestamp comparison should be a problem. Suboptimal perhaps, but all that'll
actually get compared needlessly will be symlinks, which shouldn't be a great
This patch has been in use without mishap since this bug was filed. In fact, I'd
completely forgotten about it till the 7.2 beta 'upgraded' my CVS to a broken
version again. Please could it be merged?
Bug still present in 7.2 final
This will be merged into cvs-1.11.1p1-6. Thanks!