Re: [PATCH v3 00/15] packfile: carve out a new packfile store
- From
Karthik Nayak <karthik.188@gmail.com>
- Date
- Sep 9, 2025, 09:33 UTC
- Message-ID
- <CAOLa=ZStgwBN0fMK3YxoqeR+1i772f621supva3Kvr7YPq4g8g@mail.gmail.com>
- In-Reply-To
- <20250902-b4-pks-packfiles-store-v3-0-6925278efeda@pks.im>
Patrick Steinhardt <ps@pks.im> writes:
Show 32 quoted lines
> Hi, > > information about a object database's packfiles is currently distributed > across two different structures: > > - `struct packed_git` contains the `next` pointer as well as the > `mru_head`, both of which serve to store the list of packfiles. > > - `struct object_database` contains several fields that relate to the > packfiles. > > So we don't really have a central data structure that tracks our > packfiles, and consequently responsibilities aren't always clear cut. > A consequence for the upcoming pluggable object databases is that this > makes it very hard to move management of packfiles from the object > database level down into the object database source. > > This patch series introduces a new `struct packfile_store`, which is > about to become the single source of truth for managing packfiles, and > carves out the packfile store subsystem. > > This is the first step to make packfiles work with pluggable object > databases. Next steps will be to: > > - Move the `struct packed_git::next` and `struct packed::mru_head` > pointers into the packfile store so that `struct packed_git` only > tracks a single packfile. > > - Push the `struct packfile_store` down one level so that it's not > hosted by the object database anymore, but instead by the object > database source. >
I did an entire re-read of the series, since I didn't review v2 and there were a lot of changes in the middle. Overall it looks great, I've left some small questions/comments on the first few patches feel free to ignore!
Thanks, Karthik