Calling commands using editor in terminal with `--paginate` option will break things. For example `git --paginate config --edit`. Add extra check to ignore paginate flag in case command have DELAY_PAGER_CONFIG set. Relates: cd878a206e8c (t7006: add tests for how git config paginates) Signed-off-by: Matthew Bystrin <dev.mbstr@xxxxxxxxx> --- Hi! Some time ago I've sent RFC patch [1], which was not quite ready, and I didn't receive any feedback. Now I'm sending a more complete version of it. Fixing mentioned behaviour of `note` command can be done in separate patch series. Link: https://lore.kernel.org/git/20241104140536.4970-1-dev.mbstr@xxxxxxxxx/ git.c | 5 +++-- t/t7006-pager.sh | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/git.c b/git.c index c2c1b8e22c..2b3b049f4a 100644 --- a/git.c +++ b/git.c @@ -464,11 +464,12 @@ static int run_builtin(struct cmd_struct *p, int argc, const char **argv, struct } assert(!prefix || *prefix); precompose_argv_prefix(argc, argv, NULL); - if (use_pager == -1 && run_setup && - !(p->option & DELAY_PAGER_CONFIG)) + if (use_pager == -1 && run_setup && !(p->option & DELAY_PAGER_CONFIG)) use_pager = check_pager_config(p->cmd); if (use_pager == -1 && p->option & USE_PAGER) use_pager = 1; + if (use_pager == 1 && (p->option & DELAY_PAGER_CONFIG)) + use_pager = 0; if (run_setup && startup_info->have_repository) /* get_git_dir() may set up repo, avoid that */ trace_repo_setup(); diff --git a/t/t7006-pager.sh b/t/t7006-pager.sh index a0296d6ca4..218c5093d3 100755 --- a/t/t7006-pager.sh +++ b/t/t7006-pager.sh @@ -188,11 +188,11 @@ test_expect_success TTY 'git tag -a ignores pager.tag' ' test_path_is_missing paginated.out ' -test_expect_success TTY 'git tag -a respects --paginate' ' +test_expect_success TTY 'git tag -a do not respects --paginate' ' test_when_finished "git tag -d newtag" && rm -f paginated.out && test_terminal git --paginate tag -am message newtag && - test_path_is_file paginated.out + test_path_is_missing paginated.out ' test_expect_success TTY 'git tag as alias ignores pager.tag with -a' ' -- 2.43.0