From: Johannes Schindelin Date: Thu, 21 Sep 2006 22:07:01 +0000 (+0200) Subject: show-branch: mark active branch with a '*' again X-Git-Tag: v1.4.4-rc1~43^2~24 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=afdcec73660737d0ac28a808829ab76587a9befa;p=git.git show-branch: mark active branch with a '*' again This was lost in the packed-ref updates. The original test was a bit dubious, so I cleaned that up, too. It fixes the case when the current HEAD is refs/heads/bla/master: the original test was true for both bla/master _and_ master. However, it shares a hard-to-fix bug with the original test: if the current HEAD is refs/heads/master, and there is a branch refs/heads/heads/master, then both are marked active. Signed-off-by: Johannes Schindelin Signed-off-by: Junio C Hamano --- diff --git a/builtin-show-branch.c b/builtin-show-branch.c index 5d6ce5683..fb1a4000d 100644 --- a/builtin-show-branch.c +++ b/builtin-show-branch.c @@ -443,6 +443,12 @@ static int rev_is_head(char *head, int headlen, char *name, if ((!head[0]) || (head_sha1 && sha1 && hashcmp(head_sha1, sha1))) return 0; + if (!strncmp(head, "refs/heads/", 11)) + head += 11; + if (!strncmp(name, "refs/heads/", 11)) + name += 11; + else if (!strncmp(name, "heads/", 6)) + name += 6; return !strcmp(head, name); }