Matthieu Moy wrote:
"Vallon, Justin" [off-list ref] writes:
quoted
--- a/t/t3404-rebase-interactive.sh
+++ b/t/t3404-rebase-interactive.sh
@@ -71,8 +71,9 @@ test_expect_success 'setup' '
# "exec" commands are ran with the user shell by default, but this may
# be non-POSIX. For example, if SHELL=zsh then ">file" doesn't work
# to create a file. Unseting SHELL avoids such non-portable behavior
-# in tests.
+# in tests. It must be exported for it to take effect where needed.
SHELL=
+export SHELL
(my bad, I wrote this SHELL= without exporting it. Since bash
re-exports already exported variables when they are assigned, and my
/bin/sh points to bash, I didn't notice)
Isn't that how export works in all Bourne-style shells? For example:
$ env var=outside dash -c '
var=inside;
dash -c "echo \$var"
'
inside
$
Maybe in the failing case SHELL was not exported but just set to
/bin/false in .bashrc or similar?