From: Jeff King Date: Mon, 03 Nov 2025 21:30:59 GMT Subject: Re: What's cooking in git.git (Oct 2025, #12; Thu, 30) Message-ID: <20251103213059.GA2528366@coredump.intra.peff.net> In-Reply-To: On Mon, Nov 03, 2025 at 12:10:47PM -0800, Junio C Hamano wrote: > Junio C Hamano writes: > > > Bisect points at 054f5f45 (ref-filter: parse objects on demand, > > 2025-10-23), which is unfortunate, as that is the motivating step of > > the whole topic. > > Here is a fairly simple reproduction. It appears that this does not > require the refs to be packed (i.e., "t7004-tag.sh -i -v" fails > after saying "*** Loose ***" here, without moving to the packed > test). I think the issue is that nobody ever resets data->maybe_object. So it is left cached with the very first object that gets looked up. Something like this seems to fix it, but there may be a better place to do the reset. diff --git a/ref-filter.c b/ref-filter.c index 7cfcd5c355..4c174f7ecc 100644 --- a/ref-filter.c +++ b/ref-filter.c @@ -2124,6 +2124,8 @@ static int grab_values(struct atom_value *val, int deref, struct expand_data *da void *buf = data->content; int ret; + data->maybe_object = NULL; + switch (data->type) { case OBJ_TAG: ret = grab_tag_values(val, deref, data, refname, err, eaten); -Peff