From: "Bence Ferdinandy" <bence@ferdinandy•com>
To: "Danila Manturov" <danila.manturov@jetbrains•com>
Cc: <git@vger•kernel.org>, "Junio C Hamano" <gitster@pobox•com>
Subject: Re: Git 2.48. Changed behavior of the git fetch
Date: Mon, 27 Jan 2025 00:35:20 +0100 [thread overview]
Message-ID: <D7CEDCJ0KKYL.YS0EWVFCN72X@ferdinandy.com> (raw)
In-Reply-To: <CAM6buW4e4c_3BgPo_GU64Fvi7XGcP7tuxdaap1LypyFCOZvZEw@mail.gmail.com>
On Tue Jan 21, 2025 at 18:26, Danila Manturov <danila.manturov@jetbrains•com> wrote:
> Hello. I have done some experiments. For some reason, it works
> correctly with JSch. With native ssh/https it doesn't work
>
> On Mon, Jan 13, 2025 at 5:03 PM Bence Ferdinandy <bence@ferdinandy•com> wrote:
>>
>>
>> On Mon Jan 13, 2025 at 15:14, Danila Manturov <danila.manturov@jetbrains•com> wrote:
>> > According to our CI, the first commit where the bug occurs is
>> > 5f212684abb66c9604e745a2296af8c4bb99961c
>>
>> That makes sense, what is more interesting is why the fix Junio wrote later
>> doesn't work in this case ... I didn't have time to dig yet.
>>
>>
I looked up the original thread leading to 6c915c3f85 (fetch: do not ask for
HEAD unnecessarily, 2024-12-06) by Junio, which fixed a similar issue (see
https://lore.kernel.org/git/444kgiknevb3kwtypjjc2glryaav27t5fafgyzqq5257w7o4pf@4fngcyfmvfcp/T/#u).
Originally Josh there suggested just changing the order of adding tags later to
the prefixes should solve the issue. I don't think we ever actually figured out
why the order of the prefixes should matter, and Junio's patch solved that
particular problem by just not asking for HEAD in that case, but it seems that
the current problem can also be solved by swapping the order of tags and HEAD.
This seems like a band-aid again, and I still don't get why the order matters,
but I can turn this into a patch if needed:
diff --git a/builtin/fetch.c b/builtin/fetch.c
index fe2b26c74a..7147f06395 100644
--- a/builtin/fetch.c
+++ b/builtin/fetch.c
@@ -1768,6 +1768,11 @@ static int do_fetch(struct transport *transport,
}
}
+ if (uses_remote_tracking(transport, rs)) {
+ must_list_refs = 1;
+ strvec_push(&transport_ls_refs_options.ref_prefixes, "HEAD");
+ }
+
if (tags == TAGS_SET || tags == TAGS_DEFAULT) {
must_list_refs = 1;
if (transport_ls_refs_options.ref_prefixes.nr)
@@ -1775,10 +1780,6 @@ static int do_fetch(struct transport *transport,
"refs/tags/");
}
- if (uses_remote_tracking(transport, rs)) {
- must_list_refs = 1;
- strvec_push(&transport_ls_refs_options.ref_prefixes, "HEAD");
- }
if (must_list_refs) {
trace2_region_enter("fetch", "remote_refs", the_repository);
next prev parent reply other threads:[~2025-01-26 23:40 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-09 11:49 Git 2.48. Changed behavior of the git fetch Danila Manturov
2025-01-12 8:07 ` Bence Ferdinandy
[not found] ` <CAM6buW6NbdZ6wLGP6LWePiA7n0At=jxxqtBEUv0fTY6mOdTmyw@mail.gmail.com>
[not found] ` <D705W1554XJ9.30SRYLNGNOX4@ferdinandy.com>
[not found] ` <CAM6buW77CeuKfr3b4SUbYyFaU1OTvRsYBjPBE05YMzJo36bGdw@mail.gmail.com>
[not found] ` <D706LPHBPUL4.3LN27T1UG1FI2@ferdinandy.com>
2025-01-13 14:14 ` Danila Manturov
2025-01-13 16:02 ` Bence Ferdinandy
2025-01-21 17:26 ` Danila Manturov
2025-01-26 23:35 ` Bence Ferdinandy [this message]
2025-01-27 11:48 ` Danila Manturov
2025-01-27 16:36 ` Bence Ferdinandy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=D7CEDCJ0KKYL.YS0EWVFCN72X@ferdinandy.com \
--to=bence@ferdinandy$(echo .)com \
--cc=danila.manturov@jetbrains$(echo .)com \
--cc=git@vger$(echo .)kernel.org \
--cc=gitster@pobox$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox