From: Junio C Hamano <gitster@pobox.com>
To: "D. Ben Knoble" <ben.knoble@gmail.com>
Cc: Phillip Wood <phillip.wood123@gmail.com>,
Harald Nordgren via GitGitGadget <gitgitgadget@gmail.com>,
git@vger.kernel.org, Harald Nordgren <haraldnordgren@gmail.com>
Subject: Re: [PATCH] fetch: add config to avoid fetching every branch in shallow repo
Date: Wed, 23 Sep 2026 12:50:01 -0700 [thread overview]
Message-ID: <xmqqbj9nagt2.fsf@gitster.g> (raw)
In-Reply-To: <CALnO6CA2DXvyOO+fu04sozg2=E0JoymAqyhs_heHzExgRSEzVw@mail.gmail.com> (D. Ben Knoble's message of "Wed, 23 Sep 2026 12:55:07 -0400")
"D. Ben Knoble" <ben.knoble@gmail.com> writes:
>> $ git fetch second main:refs/remotes/second/main
>
> I've wanted something similar for notes, so allow me to interject from
> the sidelines: it would be even nicer to still have the ability to map
> fetches (so that "git fetch second main" did the right thing, creating
The thing is, the command line
$ git fetch second main
has been used for the past 20 years as a "single-shot fetch" syntax
that expresses that the user does not intend to keep interacting
with the same 'main' branch or even the same 'second' repository,
and for the "single-shot fetch", it is absolutely the wrong thing to
create a remote-tracking branch.
It would be even worse if we created a remote 'second' and
remote-tracking branch 'refs/remotes/second/main' when you ran
$ git fetch https://ho.st/second main
Having said that, I suspect that the fact that you have the
shorthand 'second' (i.e., you have "[remote "second"] url = ..."
defined) may be a good enough sign that you expect to keep
interacting with that repository, and some people might appreciate
it if
$ git fetch second main
created a remote-tracking branch "refs/remotes/second/main"
automatically.
But we cannot suddenly start doing so without breaking people's
expectations, and without a good transition plan. We need at least
an escape hatch for users to say "No, this is a single-shot fetch;
do not write the object anywhere other than FETCH_HEAD as we have
always done".
next prev parent reply other threads:[~2026-09-23 19:50 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-19 14:47 [PATCH] fetch: add config to avoid fetching every branch in shallow repo Harald Nordgren via GitGitGadget
2026-09-21 13:28 ` Phillip Wood
2026-09-21 21:45 ` Harald Nordgren
2026-09-22 13:00 ` Harald Nordgren
2026-09-22 14:53 ` Phillip Wood
2026-09-22 15:37 ` Harald Nordgren
2026-09-23 15:14 ` Phillip Wood
2026-09-22 17:11 ` Junio C Hamano
2026-09-22 21:40 ` Harald Nordgren
2026-09-23 15:19 ` Phillip Wood
2026-09-23 15:34 ` Junio C Hamano
2026-09-23 16:55 ` D. Ben Knoble
2026-09-23 19:50 ` Junio C Hamano [this message]
2026-09-24 17:10 ` D. Ben Knoble
2026-09-24 18:02 ` Junio C Hamano
2026-09-23 20:35 ` [PATCH v2] fetch: avoid fetching every branch of a new remote in a " Harald Nordgren via GitGitGadget
2026-09-23 21:38 ` Junio C Hamano
2026-09-25 10:49 ` [PATCH v3 0/4] " Harald Nordgren via GitGitGadget
2026-09-25 10:49 ` [PATCH v3 1/4] fetch: add remote.<name>.refmap Harald Nordgren via GitGitGadget
2026-09-25 22:38 ` Junio C Hamano
2026-09-25 10:50 ` [PATCH v3 2/4] fetch: infer branches to fetch from a refmap-only remote Harald Nordgren via GitGitGadget
2026-09-25 23:26 ` Junio C Hamano
2026-09-25 10:50 ` [PATCH v3 3/4] remote: add "git remote add --limited-fetch" Harald Nordgren via GitGitGadget
2026-09-25 10:50 ` [PATCH v3 4/4] remote: default to --limited-fetch in a shallow repository Harald Nordgren via GitGitGadget
2026-09-29 9:19 ` [PATCH v4 0/4] fetch: avoid fetching every branch of a new remote in a shallow repo Harald Nordgren via GitGitGadget
2026-09-29 9:19 ` [PATCH v4 1/4] fetch: add remote.<name>.refmap Harald Nordgren via GitGitGadget
2026-09-29 9:19 ` [PATCH v4 2/4] fetch: infer branches to fetch from a refmap-only remote Harald Nordgren via GitGitGadget
2026-09-29 9:27 ` Harald Nordgren
2026-09-29 20:17 ` Junio C Hamano
2026-09-29 9:19 ` [PATCH v4 3/4] remote: add "git remote add --limited-fetch" Harald Nordgren via GitGitGadget
2026-09-29 9:19 ` [PATCH v4 4/4] remote: default to --limited-fetch in a shallow repository Harald Nordgren via GitGitGadget
2026-09-29 19:36 ` [PATCH v4 0/4] fetch: avoid fetching every branch of a new remote in a shallow repo Junio C Hamano
2026-10-02 7:13 ` [PATCH v5 " Harald Nordgren via GitGitGadget
2026-10-02 7:13 ` [PATCH v5 1/4] fetch: add remote.<name>.refmap Harald Nordgren via GitGitGadget
2026-10-02 7:13 ` [PATCH v5 2/4] fetch: infer branches to fetch from a refmap-only remote Harald Nordgren via GitGitGadget
2026-10-02 7:13 ` [PATCH v5 3/4] remote: add "git remote add --limited-fetch" Harald Nordgren via GitGitGadget
2026-10-02 16:28 ` Junio C Hamano
2026-10-02 7:13 ` [PATCH v5 4/4] remote: default to --limited-fetch in a shallow repository Harald Nordgren via GitGitGadget
2026-10-04 8:31 ` [PATCH v6 0/4] fetch: avoid fetching every branch of a new remote in a shallow repo Harald Nordgren via GitGitGadget
2026-10-04 8:31 ` [PATCH v6 1/4] fetch: add remote.<name>.refmap Harald Nordgren via GitGitGadget
2026-10-04 8:31 ` [PATCH v6 2/4] fetch: infer branches to fetch from a refmap-only remote Harald Nordgren via GitGitGadget
2026-10-04 8:31 ` [PATCH v6 3/4] remote: add "git remote add --limited-fetch" Harald Nordgren via GitGitGadget
2026-10-04 8:31 ` [PATCH v6 4/4] remote: default to --limited-fetch in a shallow repository Harald Nordgren via GitGitGadget
2026-10-04 17:17 ` [PATCH v6 0/4] fetch: avoid fetching every branch of a new remote in a shallow repo Junio C Hamano
2026-10-04 19:51 ` Harald Nordgren
2026-10-05 12:17 ` Junio C Hamano
2026-10-05 18:09 ` Harald Nordgren
2026-10-07 21:56 ` [PATCH v7 " Harald Nordgren via GitGitGadget
2026-10-07 21:56 ` [PATCH v7 1/4] fetch: add remote.<name>.refmap Harald Nordgren via GitGitGadget
2026-10-07 21:56 ` [PATCH v7 2/4] fetch: infer branches to fetch from a refmap-only remote Harald Nordgren via GitGitGadget
2026-10-08 16:59 ` Junio C Hamano
2026-10-09 7:05 ` Harald Nordgren
2026-10-09 8:09 ` Harald Nordgren
2026-10-07 21:56 ` [PATCH v7 3/4] remote: add "git remote add --limited-fetch" Harald Nordgren via GitGitGadget
2026-10-07 21:56 ` [PATCH v7 4/4] remote: default to --limited-fetch in a shallow repository Harald Nordgren via GitGitGadget
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=xmqqbj9nagt2.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=ben.knoble@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitgitgadget@gmail.com \
--cc=haraldnordgren@gmail.com \
--cc=phillip.wood123@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
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