This iterations fixes this error: t3701-add-interactive.sh:619: error: head -c is not portable (use test_copy_bytes BYTES <file >out): test_write_lines P q | GIT_PAGER="head -c 1" test_terminal git add -p >actual gmake[1]: *** [Makefile:132: test-lint-shell-syntax] Error 1 Rubén Justo (4): add-patch: test for 'p' command pager: do not close fd 2 unnecessarily pager: introduce wait_for_pager add-patch: render hunks through the pager add-patch.c | 18 ++++++++++++--- pager.c | 45 +++++++++++++++++++++++++++++++++----- pager.h | 1 + t/t3701-add-interactive.sh | 44 +++++++++++++++++++++++++++++++++++++ 4 files changed, 100 insertions(+), 8 deletions(-) Range-diff against v3: -: ---------- > 1: 6b37507ddd add-patch: test for 'p' command -: ---------- > 2: 5497fa020b pager: do not close fd 2 unnecessarily -: ---------- > 3: 30e772cf7c pager: introduce wait_for_pager 1: f7cb00b654 ! 4: 913e7f3d09 add-patch: render hunks through the pager @@ t/t3701-add-interactive.sh: test_expect_success 'print again the hunk' ' + +test_expect_success TTY 'P does not break if pager ends unexpectedly' ' + test_when_finished "rm -f huge_file; git reset" && -+ printf "%2500000s" Y >huge_file && ++ printf "\n%2500000s" Y >huge_file && + git add -N huge_file && -+ test_write_lines P q | GIT_PAGER="head -c 1" test_terminal git add -p >actual ++ test_write_lines P q | GIT_PAGER="head -n 1" test_terminal git add -p >actual +' + test_expect_success 'split hunk "add -p (edit)"' ' -- 2.46.0.rc0.4.g913e7f3d09