# [PATCH] show-branch: mark active branch with a '*' again

1 messages from 2006-09-21 to 2006-09-21. Participants: Johannes Schindelin.
Thread: https://gitlist.dev/t/5643

## Johannes Schindelin, 2006-09-21 22:07

Subject: [PATCH] show-branch: mark active branch with a '*' again
Message-ID: <Pine.LNX.4.63.0609220006010.19042@wbgn013.biozentrum.uni-wuerzburg.de>
URL: https://gitlist.dev/e/Pine.LNX.4.63.0609220006010.19042%40wbgn013.biozentrum.uni-wuerzburg.de

```

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>

---

	... and since nobody uses headlen, there is no need to fix that up.

 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 5d6ce56..fb1a400 100644
--- a/builtin-show-branch.c
+++ b/builtin-show-branch.c
@@ -443,6 +443,12 @@ static int rev_is_head(char *head, int h
 	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);
 }
 
-- 
1.4.2.1.g9797-dirty

```
