From: Patrick Steinhardt Date: Tue, 04 Nov 2025 12:40:15 GMT Subject: Re: What's cooking in git.git (Oct 2025, #12; Thu, 30) Message-ID: In-Reply-To: <20251103213059.GA2528366@coredump.intra.peff.net> On Mon, Nov 03, 2025 at 04:30:59PM -0500, Jeff King wrote: > 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). Oof. > 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. Yeah, I think this makes sense. I'd attribute the root cause here to the fact that both `oi` and `oi_peeled` are global variables. I didn't realize that and thought it would be populated for every reference individually, but that's obviously not the case. Only thing I'd change is to instead call `get_object()`, which is the entry point for `grab_values()`. Will send a patch in a bit, thanks both! Patrick