git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Karl Chen <quarl@cs.berkeley.edu>
To: Junio C Hamano <gitster@pobox.com>
Cc: Miklos Vajna <vmiklos@frugalware.org>,
	David Aguilar <davvid@gmail.com>,
	Git mailing list <git@vger.kernel.org>
Subject: git-rev-parse --symbolic-abbrev-name [was Re: git-branch --print-current]
Date: Sun, 04 Jan 2009 04:34:06 -0800	[thread overview]
Message-ID: <quack.20090104T0434.lthfxjz1c8x_-_@roar.cs.berkeley.edu> (raw)
In-Reply-To: <7vzli73b1g.fsf@gitster.siamese.dyndns.org> (Junio C. Hamano's message of "Sat\, 03 Jan 2009 21\:17\:15 -0800")

>>>>> On 2009-01-03 21:17 PST, Junio C Hamano writes:

    Junio> That is a good point about user education, and is a
    Junio> demonstration why a new option to cover a very
    Junio> narrow-special case to symbolic-ref will not help the
    Junio> situation.  People will add their own embellishments
    Junio> around the name of the branch anyway, and the most
    Junio> generic symbolic-ref output is just as useful as a
    Junio> special case option to show without refs/heads/.

That's arguable :) you really think "branchfoo" instead of
"refs/heads/branchfoo" is a narrow special case?  Seems like a
common case for everyone except plumbing tools.

Here's a more general idea you might like better:

    git symbolic-ref --abbrev BLAH
or even
    git rev-parse --symbolic-abbrev-name BLAH

This would be like git-rev-parse --symbolic-full-name, but strips
the "refs/x/" iff the result is unambiguous.  Since it's much more
work for a script to check whether the stripped version is
ambiguous, this functionality is appropriate as a builtin option.

(Hmm, I guess to be able to specify a ref it has to already be
unambiguous, so the main use that --symbolic doesn't already cover
is for symbolic refs such as HEAD.)

    Junio> What you quoted are all inferior implementations of
    Junio> showing the name of the current branch in the bash
    Junio> prompt.

Yup, that was the point - it's so ugly seeing all these things
floating around, but that's where things stand right now.

    Junio> ... __git_ps1 shell function is defined to be used for
    Junio> this exact purpose and is documented in the completion
    Junio> script.

Thanks for the detailed explanation.  I actually use zsh rather
than of bash and I did already find git-completion.bash.  But
obviously all those people posting on blogs don't know about it :)

  reply	other threads:[~2009-01-04 12:35 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-02  3:28 git-branch --print-current Karl Chen
2009-01-02  4:26 ` David Aguilar
2009-01-04  2:18   ` Karl Chen
2009-01-04  3:38     ` Miklos Vajna
2009-01-04  4:26       ` Karl Chen
2009-01-04  5:17         ` Junio C Hamano
2009-01-04 12:34           ` Karl Chen [this message]
2009-01-04 12:40             ` git-rev-parse --symbolic-abbrev-name [was Re: git-branch --print-current] demerphq
2009-01-04 19:36             ` git-rev-parse --symbolic-abbrev-name Junio C Hamano
2009-01-04 20:23               ` Arnaud Lacombe
2009-01-04 22:38                 ` Miklos Vajna
2009-01-05  5:35                   ` Arnaud Lacombe
2009-01-05  6:45                     ` Miklos Vajna
2009-01-06  8:18                 ` Junio C Hamano
2009-01-07  4:58                   ` Arnaud Lacombe
2009-01-04 13:35           ` git-branch --print-current demerphq
2009-01-05  0:41             ` Junio C Hamano
2009-01-05  2:18               ` Shawn O. Pearce
2009-01-05  3:55                 ` Junio C Hamano
2009-01-05  5:50                   ` Jeff King
2009-01-04  8:21 ` Arnaud Lacombe
2009-01-04 12:40   ` Karl Chen
2009-01-04 12:49     ` demerphq
2009-01-04 17:55       ` Arnaud Lacombe
2009-01-04 18:02     ` Adeodato Simó
2009-01-04 21:48       ` Jakub Narebski
2009-01-04 10:07 ` Alexandre Dulaunoy
2009-01-04 12:31   ` demerphq

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=quack.20090104T0434.lthfxjz1c8x_-_@roar.cs.berkeley.edu \
    --to=quarl@cs.berkeley.edu \
    --cc=davvid@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=vmiklos@frugalware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).