[PATCH GSoC v15 08/13] fetch-pack: move fetch initialization
- From
Pablo Sabater <pabloosabaterr@gmail.com>
- Date
- Jul 1, 2026, 12:18 UTC
- Message-ID
- <20260701-ps-eric-work-rebase-v15-8-c88a43b63917@gmail.com>
- In-Reply-To
- <20260701-ps-eric-work-rebase-v15-0-c88a43b63917@gmail.com>
From: Calvin Wan <calvinwan@google.com>
There are some variables initialized at the start of the `do_fetch_pack_v2()` state machine. Currently, they are initialized in `FETCH_CHECK_LOCAL`, which is the initial state set at the beginning of the function.
However, a subsequent patch will allow for another initial state, while still requiring these initialized variables. Move the initialization to be before the state machine, so that they are set regardless of the initial state.
Note that there is no change in behavior, because we're moving code from the beginning of the first state to just before the execution of the state machine.
Helped-by: Jonathan Tan <jonathantanmy@google.com> Helped-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Calvin Wan <calvinwan@google.com> Signed-off-by: Eric Ju <eric.peijian@gmail.com> Signed-off-by: Pablo Sabater <pabloosabaterr@gmail.com> --- fetch-pack.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/fetch-pack.c b/fetch-pack.c index 3d32114907..cdebd3476f 100644 --- a/fetch-pack.c +++ b/fetch-pack.c @@ -1736,18 +1736,18 @@ static struct ref *do_fetch_pack_v2(struct fetch_pack_args *args, reader.me = "fetch-pack"; } + /* v2 supports these by default */ + allow_unadvertised_object_request |= ALLOW_REACHABLE_SHA1; + use_sideband = 2; + if (args->depth > 0 || args->deepen_since || args->deepen_not) + args->deepen = 1; + while (state != FETCH_DONE) { switch (state) { case FETCH_CHECK_LOCAL: sort_ref_list(&ref, ref_compare_name); QSORT(sought, nr_sought, cmp_ref_by_name); - /* v2 supports these by default */ - allow_unadvertised_object_request |= ALLOW_REACHABLE_SHA1; - use_sideband = 2; - if (args->depth > 0 || args->deepen_since || args->deepen_not) - args->deepen = 1; - /* Filter 'ref' by 'sought' and those that aren't local */ mark_complete_and_common_ref(negotiator, args, &ref); filter_refs(args, &ref, sought, nr_sought);
-- 2.54.0