Re: [PATCH] show-branch: show all local heads when only giving one rev along --topics
On Mon, Mar 16, 2015 at 05:38:06PM +0900, Mike Hommey wrote:
Show 48 quoted lines
> "git show-branch --topics <rev> <revs>..." displays ancestry graph, only
> considering commits that are in all given revs, except the first one.
>
> "git show-branch" displays ancestry graph for all local branches.
>
> Unfortunately, "git show-branch --topics <rev>" only prints out the rev
> info for the given rev, and nothing else, e.g.:
>
> $ git show-branch --topics origin/master
> [origin/master] Sync with 2.3.3
>
> While there is an option to add all remote-tracking branches (-r), and
> another to add all local+remote branches (-a), there is no option to add
> only local branches. Adding such an option could be considered, but a
> user would likely already expect that the above command line considers
> the lack of rev other than for --topics as meaning all local branches,
> like when there is no argument at all.
>
> Moreover, when using -r and -a along with --topics, the first local or
> remote-tracking branch, depending on alphabetic order is used instead of
> the one given after --topics (any rev given on the command line is
> actually simply ignored when either -r or -a is given). And if no rev is
> given at all, the fact that the first alphetical branch is the base of
> topics is probably not expected by users (Maybe --topics should always
> require one rev on the command line?)
>
> This change makes
> "show-branch --topics $rev"
> act as
> "show-branch --topics $rev $(git for-each-ref refs/heads
> --format='%(refname:short)')"
>
> "show-branch -r --topics $rev ..."
> act as
> "show-branch --topics $rev ... $(git for-each-ref refs/remotes
> --format='%(refname:short)')"
> instead of
> "show-branch --topics $(git for-each-ref refs/remotes
> --format='%(refname:short)')"
>
> and
> "show-branch -a --topics $rev ..."
> act as
> "show-branch --topics $rev ... $(git for-each-ref refs/heads refs/remotes
> --format='%(refname:short)')"
> instead of
> "show-branch --topics $(git for-each-ref refs/heads refs/remotes
> --format='%(refname:short)')"
Sorry, this was missing:
Signed-off-by: Mike Hommey <mh@glandium.org>
Mike