>>> "Ronald" == Ronald Landheer-Cieslak <[EMAIL PROTECTED]> writes:
[...] Ronald> I beg to differ: use the -d option with import keeps Ronald> the modification time, and The "commit" command retains Ronald> the timestamp of the file, if the act of checking it in Ronald> didn't change it (by expanding keywords). My impression was that CVS could preserve timestamp on checkin, but not on checkout. Looks like I was wrong. I just tried to make a fresh checkout of Automake, and timestamps are correct. However `cvs update' seems to always use the checkout time, loosing original timestamps. So although my description of this issue is admittedly wrong, there is still a problem. Do you know how to tell `cvs update' to preserve timestamps? Ronald> AFAICT, neither autoconf nor automake nor libtool adds Ronald> any CVS keyswords (like $Id$, for example) - but Ronald> correct me if I'm wrong :) They don't, but Autoconf and Automake will propagate keywords from input. [...] >> * The CVS repository contains all distributed files so you know >> exactly what is distributed, and you can checkout any prior >> version entirely (except for timestamps). Ronald> ^^^^^^^^^^^^^^^^^^^^^ Ronald> not true. Agreed. Ronald> [snip] >> * Although we focused on spurious rebuilds, the converse can also >> happen. CVS's timestamp handling can also let you think an >> out-of-date file is up-to-date. >> >> For instance, suppose a developer has modified `Makefile.am' and >> rebuilt `Makefile.in', and then decide to do a last-minute change >> to `Makefile.am' right before checking in both files (without >> rebuilding `Makefile.in' to account for the change). Ronald> .. and while having a CVS tag in the Makefile.am file Ronald> (which is quite common) Even without tag. We are talking about `cvs update' below. >> This last change to `Makefile.am' make the copy of `Makefile.in' >> out-of-date. Since CVS processes files alphabetically, when >> another developer update his or her tree, `Makefile.in' will >> happen to be newer than `Makefile.am'. This other developer will >> not see `Makefile.in' is out-of-date. [...] Ronald> AFAIK the problem with generated files in CVS is not a Ronald> problem of time stamps (file modification times) but Ronald> rather of CVS keyword expansion. We probably have two problems. I've never used CVS keywords (and I'm accustomed to type `cvs add -ko ...'), but I've always been beaten by this timestamp lossage. Thanks to you, I'm relieved to learn it doesn't happen with `cvs checkout'. Ronald> In any case, CVS is a versioning tool, not a Ronald> distribution tool. For me, that means that it makes Ronald> sense not to have generated files in the CVS Ronald> repository. I'll try to make your point in the relevant section. Thanks for your comments. pip-pip -- Alexandre Duret-Lutz