Subject: Re: [PATCH v2 09/11] reflog expire: don't lock reflogs using previously seen OID

From: Junio C Hamano <[email-masked]>
Date: Wed, 18 Aug 2021 14:05:12 -0700

Han-Wen Nienhuys <[email-masked]> writes:

> On Fri, Jul 16, 2021 at 4:13 PM Ævar Arnfjörð Bjarmason
> <[email-masked]> wrote:
>> -                       status |= reflog_expire(e->reflog, &e->oid, flags,
>> +                       status |= reflog_expire(e->reflog, NULL, flags,
>>                                                 reflog_expiry_prepare,
>
> this causes reflog_expiry_prepare() to be called with a NULL oid. I'm
> seeing a crash in do_lookup_replace_object() because of this in
> t0031-reftable.sh.

Yeah, given that reflog_expire() is documented to take "oid is the
old value of the reference", the change looks bogus to me too.

Ævar, what is going on here?

Thanks.