On Mon, Apr 14, 2025 at 1:06 PM Taylor Blau <me@xxxxxxxxxxxx> wrote: > > Here is a non-RFC version of my series to explore creating MIDXs while > repacking that don't include the cruft pack. > > The core idea behind this approach is to ensure that packs generated via > geometric repacking traverse through objects that appear in packs which > are neither included nor excluded. This phrasing feels confusing -- what does it mean for packs to be neither included nor excluded? Maybe: "The core idea behind this approach is to allow some (most) of the objects in a pack to be excluded, while still including some subset of objects from that pack as part of the repack. In particular, we include the objects in that pack which are reachable from the other objects we repack. This is different from our current handling which either entirely includes or entirely excludes all objects from a given pack." > Then if some commit (for example) in > a pack reaches some once-unreachable object stored in a cruft pack, the > pack generated via geometric repacking will pick up and write a copy of > that object during its traversal. > > If you repack consistently using this strategy, you can guarantee that > the union of geometrically-repacked packs are closed under reachability > without having to keep track of any cruft pack(s) in the MIDX. Also, if you do a single non-geometric repack with this strategy, you are also closed under reachability, right? Is that the suggested transition plan for those that want to use this...first do a non-geometric repack, and then ensure that subsequent geometric repacks are done with this strategy?