branch: respect `pager.branch` in list-mode only

Similar to de121ffe5 (tag: respect `pager.tag` in list-mode only, 2017-08-02), use the DELAY_PAGER_CONFIG-mechanism to only respect `pager.branch` when we are listing branches. We have two possibilities of generalizing what that earlier commit made to `git tag`. One is to interpret, e.g., --set-upstream-to as "it does not use an editor, so we should page". Another, the one taken by this commit, is to say "it does not list, so let's not page". That is in line with the approach of the series on `pager.tag` and in particular the wording in Documentation/git-tag.txt, which this commit reuses for git-branch.txt. This fixes the failing test added in the previous commit. Also adapt the test for whether `git branch --set-upstream-to` respects `pager.branch`. Signed-off-by: Martin Ågren <martin.agren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Martin Ågren committed Nov 19, 2017 at 16:03 UTC d74b541e0b40be0bf35e836bd8c6cbf653283d4b
4 files changed +13 -4
Documentation/git-branch.txt
+6
@@ -271,6 +271,12 @@ start-point is either a local or remote-tracking branch.
271 pointed at by a ref being shown. The format is the same as
272 that of linkgit:git-for-each-ref[1].
273
274 +CONFIGURATION
275 +-------------
276 +`pager.branch` is only respected when listing branches, i.e., when
277 +`--list` is used or implied.
278 +See linkgit:git-config[1].
279 +
280 Examples
281 --------
282
builtin/branch.c
+3
@@ -648,6 +648,9 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
648 rename *= 2;
649 }
650
651 + if (list)
652 + setup_auto_pager("branch", 0);
653 +
654 if (delete) {
655 if (!argc)
656 die(_("branch name required"));
git.c
+1 -1
@@ -368,7 +368,7 @@ static struct cmd_struct commands[] = {
368 { "archive", cmd_archive, RUN_SETUP_GENTLY },
369 { "bisect--helper", cmd_bisect__helper, RUN_SETUP },
370 { "blame", cmd_blame, RUN_SETUP },
371 - { "branch", cmd_branch, RUN_SETUP },
371 + { "branch", cmd_branch, RUN_SETUP | DELAY_PAGER_CONFIG },
372 { "bundle", cmd_bundle, RUN_SETUP_GENTLY },
373 { "cat-file", cmd_cat_file, RUN_SETUP },
374 { "check-attr", cmd_check_attr, RUN_SETUP },
t/t7006-pager.sh
+3 -3
@@ -232,7 +232,7 @@ test_expect_success TTY 'git branch respects --no-pager' '
232 ! test -e paginated.out
233 '
234
235 -test_expect_failure TTY 'git branch --edit-description ignores pager.branch' '
235 +test_expect_success TTY 'git branch --edit-description ignores pager.branch' '
236 rm -f paginated.out editor.used &&
237 write_script editor <<-\EOF &&
238 echo "New description" >"$1"
@@ -243,13 +243,13 @@ test_expect_failure TTY 'git branch --edit-description ignores pager.branch' '
243 test -e editor.used
244 '
245
246 -test_expect_success TTY 'git branch --set-upstream-to respects pager.branch' '
246 +test_expect_success TTY 'git branch --set-upstream-to ignores pager.branch' '
247 rm -f paginated.out &&
248 git branch other &&
249 test_when_finished "git branch -D other" &&
250 test_terminal git -c pager.branch branch --set-upstream-to=other &&
251 test_when_finished "git branch --unset-upstream" &&
252 - test -e paginated.out
252 + ! test -e paginated.out
253 '
254
255 # A colored commit log will begin with an appropriate ANSI escape