From: Daniel Barkalow Date: Wed, 14 Oct 2009 15:56:20 GMT Subject: Re: [PATCH] Proof-of-concept patch to remember what the detached HEAD was Message-ID: In-Reply-To: <20091014050851.GE31810@coredump.intra.peff.net> On Wed, 14 Oct 2009, Jeff King wrote: > On Wed, Oct 14, 2009 at 12:44:34AM -0400, Daniel Barkalow wrote: > > > +char *get_detached_head_string(void) > > +{ > > + char *filename = git_path("DETACH_NAME"); > > + struct stat st; > > + if (stat(filename, &st) || !S_ISREG(st.st_mode)) > > + return NULL; > > + struct strbuf buf = STRBUF_INIT; > > + strbuf_read_file(&buf, filename, st.st_size); > > + strbuf_trim(&buf); > > + return strbuf_detach(&buf, 0); > > +} > > Would it hurt to tuck this information into HEAD itself, as we already > put arbitrary text into FETCH_HEAD? I don't know; I'll have to try that and see if the tools that handle HEAD are happy with extra text there. If it works, it's a good solution. I think I tried it at some point and things failed all over the place, but that may have been before symrefs, when you could get the actual sha1 hash out of HEAD with "$(cat .git/HEAD)". -Daniel *This .sig left intentionally blank*