Make apenwarr/redo installable on windows and work with uv tool install
Find a file
Avery Pennarun 95d4e64a11 If foo and foo.do exist, then foo is always a target, not a source file.
The problem is if someone accidentally creates a file called "test" *before*
.redo/gen^test got created, then 'redo test' would do nothing, because redo
would assume it's a source file instead of a destination, according to djb's
rule.  But in this case, we know it's not, since test.do exists, so let's
build it anyway.  The problem is related to .PHONY rules in make.

This workaround is kind of cheating, because we can't safely apply that rule
if foo and default.do exist, even though default.do can be used to build
foo.

This probably won't happen very often... except with minimal/do, which
creates these empty files even when it shouldn't.  I'm not sure if I should
try to fix that or not, though.
2010-11-16 03:40:13 -08:00
minimal minimal/do: pretty up the output. 2010-11-16 03:28:44 -08:00
t Support for default.*.do rules. 2010-11-16 03:04:11 -08:00
.gitignore 'make clean' can now safely remove .redo dirs. 2010-11-12 22:50:23 -08:00
all.do Basic locking infrastructure. 2010-11-13 02:50:39 -08:00
clean.do Support for default.*.do rules. 2010-11-16 03:04:11 -08:00
helpers.py Fix log() output so you can cut-and-paste it verbatim into a command line. 2010-11-13 01:55:07 -08:00
jwack.py jwack: has not been actually executable since the earlier rewrite. 2010-11-16 00:28:01 -08:00
Makefile Notice sooner when make has "helpfully" closed its job control file descriptors. 2010-11-13 05:05:48 -08:00
options.py Extremely basic first crack at implementing djb's redo. 2010-11-12 05:25:03 -08:00
redo Extremely basic first crack at implementing djb's redo. 2010-11-12 05:25:03 -08:00
redo-ifchange Move 'redo --ifchange' into 'redo-ifchange' to match djb's style. 2010-11-13 00:47:49 -08:00
redo-ifchange.py Handle KeyboardInterrupt with less annoying spew to stderr. 2010-11-13 02:09:42 -08:00
redo-ifcreate Add redo-ifcreate to match djb's design. 2010-11-13 01:10:43 -08:00
redo-ifcreate.py Handle KeyboardInterrupt with less annoying spew to stderr. 2010-11-13 02:09:42 -08:00
redo.py If foo and foo.do exist, then foo is always a target, not a source file. 2010-11-16 03:40:13 -08:00
runtests.do Add minimal/do, a stripped-down redo implementation in 977 bytes of sh. 2010-11-16 00:27:52 -08:00
test.do Add minimal/do, a stripped-down redo implementation in 977 bytes of sh. 2010-11-16 00:27:52 -08:00
vars.py Add a --shuffle option to let you enable dependency randomization. 2010-11-16 00:28:01 -08:00
wvtest.sh Extremely basic integration of wvtest for testing. 2010-11-12 17:19:42 -08:00
wvtestrun Extremely basic integration of wvtest for testing. 2010-11-12 17:19:42 -08:00