Code

branch: -v does not automatically imply --list
authorMichael J Gruber <git@drmicha.warpmail.net>
Thu, 8 Sep 2011 21:09:50 +0000 (14:09 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 8 Sep 2011 21:11:35 +0000 (14:11 -0700)
"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 <git@drmicha.warpmail.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-branch.txt
builtin/branch.c
t/t3203-branch-output.sh

index 2b8bc84ae0b076ddecf13a2ef4c5ab6c16b6df1b..f46013c91fcbbe4eecffe09d9b43c132daea093f 100644 (file)
@@ -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
 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).
 <pattern> 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.
 <pattern> 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::
 
 -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.
        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=<length>::
        Alter the sha1's minimum display length in the output listing.
 
 --abbrev=<length>::
        Alter the sha1's minimum display length in the output listing.
index 98a420f11aba851a3587e5a50e9e903f84d64a3d..099c75c2287913834dea2f6d54e3cd8e97032f7b 100644 (file)
@@ -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);
 
        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)
                list = 1;
 
        if (!!delete + !!rename + !!force_create + !!list > 1)
index f2b294b144a27917f495b434bfa66534527e9c7d..76fe7e0060c20507cb6eb317451b69a2a0c9146d 100755 (executable)
@@ -84,12 +84,16 @@ cat >expect <<'EOF'
 two
 one
 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}" <tmp >actual &&
        test_cmp expect actual
 '
 
        awk "{print \$NF}" <tmp >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
 cat >expect <<'EOF'
 * (no branch)
   branch-one