Skip to content

Commit

Permalink
branch: respect pager.branch in list-mode only
Browse files Browse the repository at this point in the history
Similar to de121ff (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>
  • Loading branch information
Martin Ågren authored and gitster committed Nov 20, 2017
1 parent ed104fa commit d74b541
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 4 deletions.
6 changes: 6 additions & 0 deletions Documentation/git-branch.txt
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,12 @@ start-point is either a local or remote-tracking branch.
pointed at by a ref being shown. The format is the same as
that of linkgit:git-for-each-ref[1].

CONFIGURATION
-------------
`pager.branch` is only respected when listing branches, i.e., when
`--list` is used or implied.
See linkgit:git-config[1].

Examples
--------

Expand Down
3 changes: 3 additions & 0 deletions builtin/branch.c
Original file line number Diff line number Diff line change
Expand Up @@ -648,6 +648,9 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
rename *= 2;
}

if (list)
setup_auto_pager("branch", 0);

if (delete) {
if (!argc)
die(_("branch name required"));
Expand Down
2 changes: 1 addition & 1 deletion git.c
Original file line number Diff line number Diff line change
Expand Up @@ -368,7 +368,7 @@ static struct cmd_struct commands[] = {
{ "archive", cmd_archive, RUN_SETUP_GENTLY },
{ "bisect--helper", cmd_bisect__helper, RUN_SETUP },
{ "blame", cmd_blame, RUN_SETUP },
{ "branch", cmd_branch, RUN_SETUP },
{ "branch", cmd_branch, RUN_SETUP | DELAY_PAGER_CONFIG },
{ "bundle", cmd_bundle, RUN_SETUP_GENTLY },
{ "cat-file", cmd_cat_file, RUN_SETUP },
{ "check-attr", cmd_check_attr, RUN_SETUP },
Expand Down
6 changes: 3 additions & 3 deletions t/t7006-pager.sh
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ test_expect_success TTY 'git branch respects --no-pager' '
! test -e paginated.out
'

test_expect_failure TTY 'git branch --edit-description ignores pager.branch' '
test_expect_success TTY 'git branch --edit-description ignores pager.branch' '
rm -f paginated.out editor.used &&
write_script editor <<-\EOF &&
echo "New description" >"$1"
Expand All @@ -243,13 +243,13 @@ test_expect_failure TTY 'git branch --edit-description ignores pager.branch' '
test -e editor.used
'

test_expect_success TTY 'git branch --set-upstream-to respects pager.branch' '
test_expect_success TTY 'git branch --set-upstream-to ignores pager.branch' '
rm -f paginated.out &&
git branch other &&
test_when_finished "git branch -D other" &&
test_terminal git -c pager.branch branch --set-upstream-to=other &&
test_when_finished "git branch --unset-upstream" &&
test -e paginated.out
! test -e paginated.out
'

# A colored commit log will begin with an appropriate ANSI escape
Expand Down

0 comments on commit d74b541

Please sign in to comment.