[PATCH v3 0/4] use the pager in 'add -p'
- From
Rubén Justo <rjusto@gmail.com>
- Date
- Jul 14, 2024, 16:00 UTC
- Message-ID
- <efa98aec-f117-4cfe-a7c2-e8c0adbdb399@gmail.com>
- In-Reply-To
- <ebcba08f-3fbb-4130-93eb-d0e62bfe0a8a@gmail.com>
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