From cfc3f44d64a0ef4c62718a9ef8768b4df02c71c7 Mon Sep 17 00:00:00 2001 From: Avery Pennarun Date: Sat, 26 Feb 2011 18:01:31 -0800 Subject: [PATCH] minimal/do: 'redo-ifchange' with no parameters shouldn't try to build all. It should just build nothing. Because sometimes you want to do something like: redo-ifchange $(find -name '*.c') And the find doesn't return any results. This is consistent with what real redo does. Added a test to confirm that it works. --- minimal/do | 7 ++----- t/blank/blank.do | 2 ++ t/test.do | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-) create mode 100644 t/blank/blank.do diff --git a/minimal/do b/minimal/do index fbf5725..901e4f3 100755 --- a/minimal/do +++ b/minimal/do @@ -30,6 +30,7 @@ export REDO=$(cd "${dir:-.}" && echo "$PWD/$base") DO_TOP= if [ -z "$DO_BUILT" ]; then DO_TOP=1 + [ -n "$*" ] || set all # only toplevel redo has a default target export DO_BUILT=$PWD/.do_built : >>"$DO_BUILT" echo "Removing previously built files..." >&2 @@ -139,11 +140,7 @@ redo() set -e -if [ -n "$*" ]; then - redo "$@" -else - redo all -fi +redo "$@" if [ -n "$DO_TOP" ]; then echo "Removing stamp files..." >&2 diff --git a/t/blank/blank.do b/t/blank/blank.do new file mode 100644 index 0000000..36ca2fa --- /dev/null +++ b/t/blank/blank.do @@ -0,0 +1,2 @@ +redo-ifchange + diff --git a/t/test.do b/t/test.do index 41c0acc..870d73d 100644 --- a/t/test.do +++ b/t/test.do @@ -4,4 +4,4 @@ redo nonshelltest shelltest \ deltest deltest2 test.args test2.args passfailtest chdirtest \ curse/test deps/test "space dir/test" modetest makedir2 \ silencetest touchtest stamp/test alwaystest ifcreate-test \ - unicode + unicode blank/blank