Re: [PATCH 3/8] http: refactor subsystem to use `packfile_list`s
- From
Toon Claes <toon@iotcl.com>
- Date
- Oct 29, 2025, 14:24 UTC
- Message-ID
- <87h5vhrdjq.fsf@iotcl.com>
- In-Reply-To
- <20251028-pks-packfiles-store-drop-list-v1-3-1a3b82030a7a@pks.im>
Patrick Steinhardt <ps@pks.im> writes:
Show 36 quoted lines
> The dumb HTTP protocol directly fetches packfiles from the remote server
> and temporarily stores them in a list of packfiles. Those packfiles are
> not yet added to the repository's packfile store until we finalize the
> whole fetch.
>
> Refactor the code to instead use a `struct packfile_list` to store those
> packs. This prepares us for a subsequent change where the `->next`
> pointer of `struct packed_git` will go away.
>
> Note that this refactoring creates some temporary duplication of code,
> as we now have both `packfile_list_find_oid()` and `find_oid_pack()`.
> The latter function will be removed in a subsequent commit though.
>
> Signed-off-by: Patrick Steinhardt <ps@pks.im>
> ---
> http-push.c | 6 +++---
> http-walker.c | 26 +++++++++-----------------
> http.c | 21 ++++++++-------------
> http.h | 5 +++--
> packfile.c | 9 +++++++++
> packfile.h | 8 ++++++++
> 6 files changed, 40 insertions(+), 35 deletions(-)
>
> [snip]
>
> diff --git a/packfile.c b/packfile.c
> index 4d2d3b674f3..6aa2ca8ac9e 100644
> --- a/packfile.c
> +++ b/packfile.c
> @@ -121,6 +121,15 @@ void packfile_list_append(struct packfile_list *list, struct packed_git *pack)
> }
> }
>
> +struct packed_git *packfile_list_find_oid(struct packfile_list_entry *packs,
> + const struct object_id *oid)
> +{Why does it take a `struct packfile_list_entry` and not a `struct packfile_list` ?
-- Cheers, Toon