I have a strange CVS setup, which always used to work but appears to break under RH7. I have a Linux kernel tree under CVS, but some files in it are actually symlinks to files elsewhere (actually in another _separate_ CVS repository). 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 performance overhead.
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!