From: Junio C Hamano Date: Tue, 07 Oct 2025 23:01:34 GMT Subject: Re: [PATCH 00/13] refs: improvements and fixes for peeling tags Message-ID: In-Reply-To: <20251007-b4-pks-ref-filter-skip-parsing-objects-v1-0-916cc7c6886b@pks.im> Patrick Steinhardt writes: > Hi, > > originally, all I wanted to do was the last patch: a small performance > optimization that stops parsing objects in git-for-each-ref(1) unless we > really need to parse them. But that fix cause one specific test to fail, > and only with the reftable backend. So this led me down the rabbit hole > of tag peeling, ending up with this patch series. > > The series is structured like follows: > > - Patches 1 to 7 refactor our codebase so that we don't have the > `peel_iterated_object()` hack anymore. I just found it hard to > follow and thought it shouldn't be too hard to get rid of it. I've only read up to here, and found all of them welcome improvements. Will continue reading later. > - Patches 8 and 9 remove infrastructure that we don't need anymore > after the first couple of patches. > - Patches 10 to 12 fix a couple of issues with peeled tags that I > found. The underlying issue is that tags store both the tagged > object and their type, but this information may not match. We never > verify the actual object type though when allocating the tagged > object, so this only blows up much later. > > - Patch 13 was my original motivation, a small performance > optimization.