diff options
Diffstat (limited to '_support/git-patches/v2.33.1.gl3/0013-fetch-merge-fetching-and-consuming-refs.patch')
-rw-r--r-- | _support/git-patches/v2.33.1.gl3/0013-fetch-merge-fetching-and-consuming-refs.patch | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/_support/git-patches/v2.33.1.gl3/0013-fetch-merge-fetching-and-consuming-refs.patch b/_support/git-patches/v2.33.1.gl3/0013-fetch-merge-fetching-and-consuming-refs.patch deleted file mode 100644 index ba792717c..000000000 --- a/_support/git-patches/v2.33.1.gl3/0013-fetch-merge-fetching-and-consuming-refs.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 1c7d1ab6f4a79e44406f304ec01b0a143dae9abb Mon Sep 17 00:00:00 2001 -Message-Id: <1c7d1ab6f4a79e44406f304ec01b0a143dae9abb.1631166322.git.ps@pks.im> -In-Reply-To: <fe7df03a9a2fa434ebce38b2cd5e6da42f8b2692.1631166322.git.ps@pks.im> -References: <fe7df03a9a2fa434ebce38b2cd5e6da42f8b2692.1631166322.git.ps@pks.im> -From: Patrick Steinhardt <ps@pks.im> -Date: Wed, 1 Sep 2021 15:10:02 +0200 -Subject: [PATCH 13/14] fetch: merge fetching and consuming refs - -The functions `fetch_refs()` and `consume_refs()` must always be called -together such that we first obtain all missing objects and then update -our local refs to match the remote refs. In a subsequent patch, we'll -further require that `fetch_refs()` must always be called before -`consume_refs()` such that it can correctly assert that we have all -objects after the fetch given that we're about to move the connectivity -check. - -Make this requirement explicit by merging both functions into a single -`fetch_and_consume_refs()` function. - -Signed-off-by: Patrick Steinhardt <ps@pks.im> -Signed-off-by: Junio C Hamano <gitster@pobox.com> ---- - builtin/fetch.c | 30 +++++++++--------------------- - 1 file changed, 9 insertions(+), 21 deletions(-) - -diff --git a/builtin/fetch.c b/builtin/fetch.c -index ef6f9b3a33..a1e17edd8b 100644 ---- a/builtin/fetch.c -+++ b/builtin/fetch.c -@@ -1291,8 +1291,9 @@ static int check_exist_and_connected(struct ref *ref_map) - return check_connected(iterate_ref_map, &rm, &opt); - } - --static int fetch_refs(struct transport *transport, struct ref *ref_map) -+static int fetch_and_consume_refs(struct transport *transport, struct ref *ref_map) - { -+ int connectivity_checked; - int ret; - - /* -@@ -1308,30 +1309,18 @@ static int fetch_refs(struct transport *transport, struct ref *ref_map) - goto out; - } - -- /* -- * Keep the new pack's ".keep" file around to allow the caller -- * time to update refs to reference the new objects. -- */ -- return ret; -- --out: -- transport_unlock_pack(transport); -- return ret; --} -- --/* Update local refs based on the ref values fetched from a remote */ --static int consume_refs(struct transport *transport, struct ref *ref_map) --{ -- int connectivity_checked = transport->smart_options -+ connectivity_checked = transport->smart_options - ? transport->smart_options->connectivity_checked : 0; -- int ret; -+ - trace2_region_enter("fetch", "consume_refs", the_repository); - ret = store_updated_refs(transport->url, - transport->remote->name, - connectivity_checked, - ref_map); -- transport_unlock_pack(transport); - trace2_region_leave("fetch", "consume_refs", the_repository); -+ -+out: -+ transport_unlock_pack(transport); - return ret; - } - -@@ -1520,8 +1509,7 @@ static void backfill_tags(struct transport *transport, struct ref *ref_map) - transport_set_option(transport, TRANS_OPT_FOLLOWTAGS, NULL); - transport_set_option(transport, TRANS_OPT_DEPTH, "0"); - transport_set_option(transport, TRANS_OPT_DEEPEN_RELATIVE, NULL); -- if (!fetch_refs(transport, ref_map)) -- consume_refs(transport, ref_map); -+ fetch_and_consume_refs(transport, ref_map); - - if (gsecondary) { - transport_disconnect(gsecondary); -@@ -1612,7 +1600,7 @@ static int do_fetch(struct transport *transport, - transport->url); - } - } -- if (fetch_refs(transport, ref_map) || consume_refs(transport, ref_map)) { -+ if (fetch_and_consume_refs(transport, ref_map)) { - free_refs(ref_map); - retcode = 1; - goto cleanup; --- -2.33.0 - |