Re: create reflog for reflog-less ref
- From
Jeff King <peff@peff.net>
- Date
- Feb 26, 2020, 18:40 UTC
- Message-ID
- <20200226184038.GB23188@coredump.intra.peff.net>
- In-Reply-To
- <CAOTb1weTWOsHkbGqmj8mJ-KpkoiteHBDYDxe-j2E0yf3DccjjQ@mail.gmail.com>
On Wed, Feb 26, 2020 at 02:21:59AM -0800, Chris Jerdonek wrote:
Show 17 quoted lines
> > The "touch" trick I showed would work for that, but it's not going to be
> > portable going forward. I don't think it would be a bad idea to have
> > some way of triggering a "noop" reflog update via update-ref, where we
> > either create the reflog as empty, or insert a pointless entry going
> > from the current sha1 to itself. But AFAIK that doesn't exist right now.
>
> Thanks. By the way, this functionality does already seem to exist for ref HEAD:
>
> $ git update-ref -m my-message HEAD HEAD
> $ git reflog HEAD
> 3ccacdc (HEAD -> master) HEAD@{0}: my-message
> ...
>
> I don't know why it would work for HEAD though and what's different
> about the mechanism. I thought it might be because it's a symbolic
> ref, but it didn't work for other symbolic refs when I tried (even
> ones that already had a reflog).I suspect that wasn't really intentional, but just a by-product of the way we treat HEAD's reflog specially (when we update any other ref, if HEAD points to it, we'll update the HEAD reflog, too). But I could be wrong (you'd have to dig in the commit history around that code).
-Peff