[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Monotone-devel] "Wrong" (current time) creation date after checkout
From: |
Daniel Carosone |
Subject: |
Re: [Monotone-devel] "Wrong" (current time) creation date after checkout |
Date: |
Mon, 17 Jul 2006 09:17:35 +1000 |
User-agent: |
Mutt/1.5.11 |
On Sun, Jul 16, 2006 at 09:53:14PM +0200, Thomas Haas wrote:
> What is the rational of this behavior?
Specifically for *source* control usage, this is the required
behaviour for make to work right. Consider this example:
I have a workspace I haven't updated for several days. I do a make
in there, and produce a bunch of object and output files (from "old"
sources) with the current time.
Then I do a sync and an update. Somewhere between when I last
updated and when I did the make, someone else has edited a file with
important changes.
If update set the times for that source file back to when someone
else edited it, make will see my local object file newer than the
source, and will not re-make that file. Make needs to see the
source file as having been edited when the update was made, on my
local system. It only gets worse when you consider possible clock
drifts between developers.
If you're using monotone (or any other similar VCS) to track files
where you want to preserve these times, you need to store the
additional information. As others have said, and at least partially
implemented, one way to do this in monotone is via additional
attributes and hooks on those files.
The more generic way I have used for some time, coming from CVS, is to
store an mtree specfile at the top of the tree containing this
information, and apply this as after checkout/update and rescan it
before commit.
--
Dan.
pgprQJxo2so2O.pgp
Description: PGP signature