Commit graph

4 commits

Author SHA1 Message Date
Avery Pennarun
e6f95521ae redo-always/redo-ifcreate/redo-stamp: work inside chdir().
If someone cd's to another directory and then runs redo-always, we weren't
adding to the right target.
2010-12-11 23:42:45 -08:00
Avery Pennarun
e18fa85d58 The only thing in helpers.py that needed vars.py was the log stuff.
So put it in its own file.  Now it's safer to import and use helpers even if
you can't safely touch vars.
2010-12-11 18:34:02 -08:00
Avery Pennarun
2706525fc0 redo-stamp: print a helpful message if stdin is a tty.
Otherwise your redo process might just freeze in the middle, and you'll
wonder why.
2010-12-11 18:13:58 -08:00
Avery Pennarun
22617d335c Half-support for using file checksums instead of stamps.
A new redo-stamp program takes whatever you give it as stdin and uses it to
calculate a checksum for the current target.  If that checksum is the same
as last time, then we consider the target to be unchanged, and we set
checked_runid and stamp, but leave changed_runid alone.  That will make
future callers of redo-ifchange see this target as unmodified.

However, this is only "half" support because by the time we run the .do
script that calls redo-stamp, it's too late; the caller is a dependant of
the stamped program, which is already being rebuilt, even if redo-stamp
turns out to say that this target is unchanged.

The other half is coming up.
2010-12-11 05:54:37 -08:00