Merge branch 'mh/show-branch-topic'
authorJunio C Hamano <gitster@pobox.com>
Wed, 6 May 2015 04:00:25 +0000 (21:00 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 6 May 2015 04:00:26 +0000 (21:00 -0700)
"git show-branch --topics HEAD" (with no other arguments) did not
do anything interesting. Instead, contrast the given revision
against all the local branches by default.

* mh/show-branch-topic:
show-branch: show all local heads when only giving one rev along --topics

1  2 
builtin/show-branch.c
diff --combined builtin/show-branch.c
index f3fb5fb2bf28019dafcbd2bfbd6b1a024aa6da2f,ef9e719b0f5be5c82d564d247ea4467ff9f3a030..e69fb7c489885ad2466397a8a25c34d87eff9ce9
@@@ -6,11 -6,11 +6,11 @@@
  #include "parse-options.h"
  
  static const char* show_branch_usage[] = {
 -    N_("git show-branch [-a|--all] [-r|--remotes] [--topo-order | --date-order]\n"
 +    N_("git show-branch [-a | --all] [-r | --remotes] [--topo-order | --date-order]\n"
         "              [--current] [--color[=<when>] | --no-color] [--sparse]\n"
         "              [--more=<n> | --list | --independent | --merge-base]\n"
         "              [--no-name | --sha1-name] [--topics] [(<rev> | <glob>)...]"),
 -    N_("git show-branch (-g|--reflog)[=<n>[,<base>]] [--list] [<ref>]"),
 +    N_("git show-branch (-g | --reflog)[=<n>[,<base>]] [--list] [<ref>]"),
      NULL
  };
  
@@@ -718,7 -718,7 +718,7 @@@ int cmd_show_branch(int ac, const char 
        }
  
        /* If nothing is specified, show all branches by default */
-       if (ac + all_heads + all_remotes == 0)
+       if (ac <= topics && all_heads + all_remotes == 0)
                all_heads = 1;
  
        if (reflog) {
                }
                free(ref);
        }
-       else if (all_heads + all_remotes)
-               snarf_refs(all_heads, all_remotes);
        else {
                while (0 < ac) {
                        append_one_rev(*av);
                        ac--; av++;
                }
+               if (all_heads + all_remotes)
+                       snarf_refs(all_heads, all_remotes);
        }
  
        head_p = resolve_ref_unsafe("HEAD", RESOLVE_REF_READING,