Re: git branch command is incompatible with bash
- From
Jeff King <peff@peff.net>
- Date
- Jul 28, 2015, 16:25 UTC
- Message-ID
- <20150728162516.GA28031@peff.net>
- In-Reply-To
- <xmqq4mkogvb7.fsf@gitster.dls.corp.google.com>
On Tue, Jul 28, 2015 at 08:23:40AM -0700, Junio C Hamano wrote:
> I can see that "symbolic-ref --short" is much newer than the other > one, so addition of "--abbrev-ref" to "rev-parse" may have been a > mistake made while being desperate (i.e. not having a way to do so > with plumbing, we wanted "some" way to do so and chose poorly).
I think --abbrev-ref can handle much more than just shortening symrefs, though:
E.g. resolving other symbolic names:
$ git rev-parse --abbrev-ref @{u}
origin/masterOr resolving any arbitrary name you happen to have:
$ git rev-parse --abbrev-ref refs/heads/master master
Even ones that aren't fully qualified (which would be tough to do with simple pattern substitution):
$ git rev-parse --abbrev-ref remotes/origin/master origin/master
Or handling ambiguities during abbreviation:
$ git tag master $ git rev-parse --abbrev-ref HEAD heads/master
-Peff