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.
This commit is contained in:
Avery Pennarun 2010-12-11 23:00:53 -08:00
commit e6f95521ae
6 changed files with 26 additions and 7 deletions

View file

@ -1,3 +1,4 @@
echo $$ >>always1.log
echo $$
cd ..
redo-always

View file

@ -1,6 +1,8 @@
rm -f always1 always1.log
redo always1
cd ..
redo t/always1
cd t
[ "$(wc -l <always1.log)" -eq 1 ] || exit 11
# This shouldn't rebuild, but because other people might be running flush-cache.sh
@ -12,3 +14,12 @@ redo always1
redo-ifchange always1
. ./skip-if-minimal-do.sh
[ "$(wc -l <always1.log)" -eq 2 ] || exit 31
./flush-cache.sh
redo-ifchange always1
[ "$(wc -l <always1.log)" -eq 3 ] || exit 41
cd ..
./t/flush-cache.sh
redo-ifchange t/always1
[ "$(wc -l <t/always1.log)" -eq 4 ] || exit 51

View file

@ -1,4 +1,5 @@
echo $$ >>stampy.log
redo-ifchange inp bob
cat inp
redo-stamp <inp
cd ..
redo-stamp <stamp/inp