From 7b787599e4f45784c36e82030d0f6bae72817bfc Mon Sep 17 00:00:00 2001 From: Michael J Gruber Date: Thu, 8 Sep 2011 14:09:50 -0700 Subject: [PATCH] branch: -v does not automatically imply --list "branch -v" without other options or parameters still works in the list mode, but that is not because there is "-v" but because there is no parameter nor option. Signed-off-by: Michael J Gruber Signed-off-by: Junio C Hamano --- Documentation/git-branch.txt | 6 +++--- builtin/branch.c | 3 +-- t/t3203-branch-output.sh | 8 ++++++-- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/Documentation/git-branch.txt b/Documentation/git-branch.txt index 2b8bc84ae0..f46013c91f 100644 --- a/Documentation/git-branch.txt +++ b/Documentation/git-branch.txt @@ -21,7 +21,7 @@ DESCRIPTION With no arguments, existing branches are listed and the current branch will be highlighted with an asterisk. Option `-r` causes the remote-tracking branches to be listed, and option `-a` shows both. This list mode is also -activated by the `--list` and `-v` options (see below). +activated by the `--list` option (see below). restricts the output to matching branches, the pattern is a shell wildcard (i.e., matched using fnmatch(3)) Multiple patterns may be given; if any of them matches, the tag is shown. @@ -120,10 +120,10 @@ OPTIONS -v:: --verbose:: - Show sha1 and commit subject line for each head, along with + When in list mode, + show sha1 and commit subject line for each head, along with relationship to upstream branch (if any). If given twice, print the name of the upstream branch, as well. - `--list` is implied by all verbosity options. --abbrev=:: Alter the sha1's minimum display length in the output listing. diff --git a/builtin/branch.c b/builtin/branch.c index 98a420f11a..099c75c228 100644 --- a/builtin/branch.c +++ b/builtin/branch.c @@ -712,8 +712,7 @@ int cmd_branch(int argc, const char **argv, const char *prefix) argc = parse_options(argc, argv, prefix, options, builtin_branch_usage, 0); - if (!delete && !rename && !force_create && - (argc == 0 || (verbose && argc))) + if (!delete && !rename && !force_create && argc == 0) list = 1; if (!!delete + !!rename + !!force_create + !!list > 1) diff --git a/t/t3203-branch-output.sh b/t/t3203-branch-output.sh index f2b294b144..76fe7e0060 100755 --- a/t/t3203-branch-output.sh +++ b/t/t3203-branch-output.sh @@ -84,12 +84,16 @@ cat >expect <<'EOF' two one EOF -test_expect_success 'git branch -v pattern shows branch summaries' ' - git branch -v branch* >tmp && +test_expect_success 'git branch --list -v pattern shows branch summaries' ' + git branch --list -v branch* >tmp && awk "{print \$NF}" actual && test_cmp expect actual ' +test_expect_success 'git branch -v pattern does not show branch summaries' ' + test_must_fail git branch -v branch* +' + cat >expect <<'EOF' * (no branch) branch-one