From: Michael J Gruber Date: Mon, 21 Sep 2015 07:39:39 GMT Subject: Re: [BUG?] HEAD detached at HEAD Message-ID: <55FFB43B.5080002@drmicha.warpmail.net> In-Reply-To: <55FFB267.3040106@drmicha.warpmail.net> ... in addition to my previous reply, looking at more context: >> --- a/wt-status.c >> +++ b/wt-status.c >> @@ -1319,6 +1319,13 @@ static int grab_1st_switch(unsigned char *osha1, unsigned char *nsha1, >> hashcpy(cb->nsha1, nsha1); >> for (end = target; *end && *end != '\n'; end++) >> ; >> + if (!memcmp(target, "HEAD", end - target)) { >> + /* Don't say "HEAD detached at HEAD" */ >> + unsigned char head[GIT_SHA1_RAWSZ]; >> + get_sha1("HEAD", head); >> + strbuf_addstr(&cb->buf, find_unique_abbrev(head, DEFAULT_ABBREV)); >> + return 1; >> + } >> strbuf_add(&cb->buf, target, end - target); >> return 1; >> } >> >> What do you think? I think we should return (the hex repr. of) nsha1 instead of resolving HEAD at its current state. That should solve the present problem (and leave the more difficult reflog issue for the future). Michael