threads / patch / 5643

patchshow-branch: mark active branch with a '*' again

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

## tl;dr

One message between Sep 21, 2006 and Sep 21, 2006. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Johannes Schindelin· Sep 21, 2006, 22:07 UTC · lore

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(-)
Show changes to builtin-show-branch.c +6 −0
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

← back to recent threads