[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
27.1.2 Background: CVS and timestamps
Unless you use CVS keywords (in which case files must be updated at commit time), CVS preserves timestamp during ‘cvs commit’ and ‘cvs import -d’ operations.
When you check out a file using ‘cvs checkout’ its timestamp is set to that of the revision that is being checked out.
However, during cvs update
, files will have the date of the
update, not the original timestamp of this revision. This is meant to
make sure that make
notices sources files have been updated.
This timestamp shift is troublesome when both sources and generated
files are kept under CVS. Because CVS processes files in alphabetical
order, ‘configure.ac’ will appear older than ‘configure’
after a cvs update
that updates both files, even if
‘configure’ was newer than ‘configure.ac’ when it was
checked in. Calling make
will then trigger a spurious rebuild
of ‘configure’.