A common problem with CVS is that it doesn’t preserve file modification timestamps. For normal source control, preserving or relying on these timestamps is neither needed nor recommended. But there are plenty of cases where this is a legitimate requirement, such as storing non-source files used directly by customers. Rough partial workarounds are possible in CVS (such as “import -d” and Entries file hacking), but these are incomplete, kludgy, and problematic.
So, a simple solution I used today is to generate a script that can put back the original timestamps:
find . -printf ‘touch -c -t %TY%Tm%Td%TH%TM “%p”\n’
I checked the generated script into CVS alongside the files so it can be re-run and updated as needed.