On Thu, Jul 10, 2025 at 07:19:16PM -0400, Taylor Blau wrote: > On Thu, Jul 10, 2025 at 07:10:02PM -0400, Taylor Blau wrote: > > On Wed, Jul 09, 2025 at 09:54:49AM +0200, Patrick Steinhardt wrote: > > > Multi-pack indices are tracked via `struct multi_pack_index`. This data > > > structure is stored as a linked list inside `struct object_database`, > > > which is the global database that spans across all of the object > > > sources. > > > > > > This layout causes two problems: > > > > > > - Multi-pack indices aren't global to an object database, but instead > > > there can be one multi-pack index per source. This creates a > > > mismatch between the on-disk layout and how things are organized in > > > the object database subsystems and makes some parts, like figuring > > > out whether a source has an MIDX, quite awkward. > > > > This is a little confusing to me. What do we consider to be an "object > > database", and what do we consider to be a "source"? > > > > For instance, if I have a repository with one or more alternates, I > > would imagine that each alternate is a separate "source", and the > > sources together comprise the object database. Does that match the way > > you're thinking about it? > > > > If so, that makes sense. But if not (i.e., we consider all alternates to > > belong to the same object database and share a single source), then I > > don't know how this will interact with the existing MIDX alternates > > mechanism. > > > > Some clarification here would be helpful, I think. > > Ahh..., after applying part of this series locally, the documentation in > "struct odb_source" clarifies that (at least as of yet) there is one > source per alternate, along with a source for the local object database, > and that these collection of sources comprise the object database. > > Makes sense. I'll still add a note, as all of this is a rather recent development. Doesn't hurt to reiterate some of those points. Patrick