diff options
author | Johannes Schindelin <Johannes.Schindelin@gmx.de> | 2006-09-22 00:07:01 +0200 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-09-21 20:54:43 -0700 |
commit | afdcec73660737d0ac28a808829ab76587a9befa (patch) | |
tree | 1041aa5b4fb6dc3c6d1fd41b6acb9418e80873d6 /builtin-show-branch.c | |
parent | Fix git-update-index --again (diff) | |
download | tgif-afdcec73660737d0ac28a808829ab76587a9befa.tar.xz |
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 <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'builtin-show-branch.c')
-rw-r--r-- | builtin-show-branch.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/builtin-show-branch.c b/builtin-show-branch.c index 5d6ce56836..fb1a4000d9 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); } |