Elijah Newren <newren@xxxxxxxxx> writes: > Here's a crazy idea -- maybe instead of a list of pathspecs you just > provide the timestamp of when git checkout started. Then the hook > could walk the tree, find all files with modification times at least > that late, and modify them all back to the the timestamp of when the > git checkout started. > > Would that be enough? Is that too crazy? > > Sure, people could concurrently edit a file or run another program > that modified files, but if you're doing that you're already playing > race games with whether your next incremental build is going to be > able to be correct. (Some (annoying) IDEs explicitly lock you out > from editing files during a build to attempt to avoid this very > problem.) > > That does leave one other caveat: If people intentionally do really > weird stuff with having files with modification timestamps far in the > future. However, it seems likely that the group of people doing that, > if non-zero in number, is likely to be dis-joint with the group of > folks that want this special > uniform-timestamp-across-files-in-a-checkout behavior. These two groups may share the same degree of insanity ;-) But the single timestamp idea certainly sounds workable, except that care must be taken to make sure we really grab the fs timestamp (it is not uncommon for ">F; stat F" to yield quite different time from "date", when the filesystem is on a remote box).