Re: [PATCH 3/8] http: refactor subsystem to use `packfile_list`s
From: Toon Claes <hidden>
Date: 2025-10-29 14:24:59
Patrick Steinhardt [off-list ref] writes:
quoted hunk ↗ jump to hunk
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 <redacted> --- 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