"Arnaud Lacombe" <lacombar@xxxxxxxxx> 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 '/'. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html