Rubén Justo <rjusto@xxxxxxxxx> writes: > To fix the test, as already said, we need this: > > test_write_lines P q | > ( > GIT_PAGER="head -n 1" && > export GIT_PAGER && > test_terminal git add -p >actual > ) This took sufficiently large amount of collective braincycles, and it would be worth documenting as a separate patch, I would suspect. Something along the following lines, but please take the authorship *and* give it a better explanation. Thanks. --- >8 --- Subject: [PATCH] t3701: avoid one-shot export for shell functions The common construct VAR=VAL command args to temporarily set and export environment variable VAR only while "command args" is running is handy, but one of our CI jobs on GitHub Actions uses Ubuntu 20.04 running dash 0.5.10.2-6 failed with the construct, making only a temporary assignment without exporting the variable, when command is *not* an external (in this case, a shell function). The "git add -p" being tested did not get our custom GIT_PAGER, which broke the test. Work it around by explicitly exporting the variable in a subshell. Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> --- t/t3701-add-interactive.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/t/t3701-add-interactive.sh b/t/t3701-add-interactive.sh index c60589cb94..1b8617e0c1 100755 --- a/t/t3701-add-interactive.sh +++ b/t/t3701-add-interactive.sh @@ -616,7 +616,11 @@ test_expect_success TTY 'P handles SIGPIPE when writing to pager' ' test_when_finished "rm -f huge_file; git reset" && printf "\n%2500000s" Y >huge_file && git add -N huge_file && - test_write_lines P q | GIT_PAGER="head -n 1" test_terminal git add -p + test_write_lines P q | ( + GIT_PAGER="head -n 1" && + export GIT_PAGER && + test_terminal git add -p + ) ' test_expect_success 'split hunk "add -p (edit)"' ' -- 2.46.0-rc1-48-g0900f1888e