git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: "Arnaud Lacombe" <lacombar@gmail.com>
Cc: "Karl Chen" <quarl@cs.berkeley.edu>,
	"Miklos Vajna" <vmiklos@frugalware.org>,
	"David Aguilar" <davvid@gmail.com>,
	"Git mailing list" <git@vger.kernel.org>
Subject: Re: git-rev-parse --symbolic-abbrev-name
Date: Tue, 06 Jan 2009 00:18:51 -0800	[thread overview]
Message-ID: <7vocykkftg.fsf@gitster.siamese.dyndns.org> (raw)
In-Reply-To: 1a69a9d80901041223r1f3d2956ne05996793bb23e97@mail.gmail.com

"Arnaud Lacombe" <lacombar@gmail.com> writes:

> You'll find hereafter two patches which implements this in
> git-symbolic-ref and git-rev-parse. Feel free to choose the one you
> find the best. If you choose to integrate one of these, tells me and
> I'll do a proper documentation bits and patch submission.

> diff --git a/builtin-rev-parse.c b/builtin-rev-parse.c
> index 81d5a6f..70f4a33 100644
> --- a/builtin-rev-parse.c
> +++ b/builtin-rev-parse.c
> @@ -24,6 +24,7 @@ static int show_type = NORMAL;
>  
>  #define SHOW_SYMBOLIC_ASIS 1
>  #define SHOW_SYMBOLIC_FULL 2
> +#define SHOW_SYMBOLIC_SHORT 3
>  static int symbolic;
>  static int abbrev;
>  static int output_sq;

I think --symbolic-short makes the most sense.

> @@ -125,13 +129,20 @@ static void show_rev(int type, const unsigned char *sha1, const char *name)
>  				 */
>  				break;
>  			case 1: /* happy */
> +				if (symbolic == SHOW_SYMBOLIC_SHORT) {
> +					char *p;
> +					p = strrchr(full, (int)'/');
> +					if (p != NULL)
> +						full = p + 1;
> +				}

However, this is not a good way to do it, I suspect.  This patch most
likely will be queued to the al/symbolic-short topic branch, but you are
losing information here.  You'd probably want to try substings from the
tail of the full name (e.g. symbolic-short, al/symbolic-short,
heads/al/symbolic-short, and finally refs/heads/al/symbolic-short) and
feed them to dwim_ref() and pick the shortest one that yields the same ref
unambiguously, or something like that.

By the way, I do not see why you need to cast '/'.

  parent reply	other threads:[~2009-01-06  8:20 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           ` git-rev-parse --symbolic-abbrev-name [was Re: git-branch --print-current] Karl Chen
2009-01-04 12:40             ` 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 [this message]
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=7vocykkftg.fsf@gitster.siamese.dyndns.org \
    --to=gitster@pobox.com \
    --cc=davvid@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=lacombar@gmail.com \
    --cc=quarl@cs.berkeley.edu \
    --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).