From: Jeff King Date: Wed, 30 Sep 2026 20:55:35 GMT Subject: Re: [PATCH 0/4] repack: various corner cases for cruft-less MIDXs Message-ID: <20260930205535.GD747209@coredump.intra.peff.net> In-Reply-To: On Tue, Sep 29, 2026 at 08:28:34PM -0500, Taylor Blau wrote: > This patch series fixes a few bugs I spotted while investigating the > cruft-less MIDX feature. > > The bugs addressed are found in various corner cases, and, when > triggered, may result in a MIDX being written whose objects are not > closed under reachability. When this happens while the caller is trying > to write reachability bitmaps, bitmap generation may fail if one or more > selected commits are descendants of the open portion of the MIDX. I think all of these are making things strictly better, but I did find a few spots where the fixes might be incomplete. I'm not sure if that argues for a re-roll or for punting those to future work. ;) I agree with Stolee that an oidset is perhaps a better data structure for storing the extra roots (which are in a kind-of random order anyway, since we're pulling them in pack order from various packs). But it also probably doesn't make that big a difference in practice (we'll skip duplicates during the traversal, and you probably don't have that many duplicate objects in a repo in the first place). -Peff