On Wed, May 20, 2020 at 08:24:18PM -0400, Denton Liu wrote: > test_submodule_switch () { > - test_submodule_switch_func "git $1" > + test_submodule_switch_func "eval \$OVERWRITING_FAIL git $1" > } > [...] > test_submodule_forced_switch () { > command="$1" > KNOWN_FAILURE_FORCED_SWITCH_TESTS=1 > - test_submodule_switch_common "git $command" > + test_submodule_switch_common "eval \$OVERWRITING_FAIL git $command" These both subject $1 to an extra layer of shell eval. That may not matter since we seem to only pass basic stuff. It could probably be avoided with an extra variable (though since we're passing along the eval to be eval'd, I think it gets tricky), so it may not be worth addressing. Though IMHO it is nicer still if we can avoid the eval altogether by doing something like the prep/command split I suggested in a sibling reply. -Peff