From: Junio C Hamano <gitster@pobox.com>
To: Phillip Wood <phillip.wood123@gmail.com>
Cc: Harald Nordgren <haraldnordgren@gmail.com>,
Harald Nordgren via GitGitGadget <gitgitgadget@gmail.com>,
git@vger.kernel.org, "D. Ben Knoble" <ben.knoble@gmail.com>
Subject: Re: [PATCH v13 0/6] fetch: avoid fetching every branch of a new remote in a shallow repo
Date: Wed, 11 Nov 2026 09:37:18 -0800 [thread overview]
Message-ID: <xmqqcxsbnub5.fsf@gitster.g> (raw)
In-Reply-To: <b64387b3-294e-49da-b40a-0e757956bafd@gmail.com> (Phillip Wood's message of "Wed, 11 Nov 2026 14:12:50 +0000")
Phillip Wood <phillip.wood123@gmail.com> writes:
> Hi Harald
>
> On 11/11/2026 08:31, Harald Nordgren wrote:
>> Hi, could I get some (hopefully final) reviews here?
>
> The diffstat for this series is
>
> 12 files changed, 593 insertions(+), 33 deletions(-)
>
> which will take a considerable amount of time to review properly. Yet
> the cover letter which should explain the problem being solved, how it
> is solved (i.e. the design and any trade-offs that entails, alternatives
> that were discarded etc.) and anything notable in the implementation is just
>
> Avoid fetching every branch of a new remote in a shallow repo.
>
> I've no idea from that how these patches relate to the discussion on
> separating "which refs to fetch" from "where to store those refs" or
> anything else. If you want people to volunteer their time to review your
> patches you need to make a effort to explain what those patches do.
I would say that it is a fair comment.
I understand what the first three wants to do.
1. We have had for a long time "git fetch --refmap=from:to remote refs..."
given on the command line to decide how refs fetched are stored
separately from what refs are fetched. This allows a configuration
to allow you to pretend that you give it all the time.
2. Preliminary refactoring of a helper that will gain second
callsite in the next step.
3. This allows "git fetch --refmap=from:to remote" that does not
specify what to fetch (contrast it with 1. above) to default to
fetch refs that our local branches build on. The net effect
with configured remote.<remote>.fetchRefmap is that "git fetch
remote" would only fetch and store selected refs from them, only
the ones that we "care about" (aka "build on").
I do not have strong opinion on the other 3 patches. 4. and 5. may
help ergonomics by allowing to set up refmap from the command line
option, but from my point of view it looks more like icing on the
cake.
When we are working with only a subset of their branches, the first
thing that comes to my mind is a "matching push" that does not need
any fancy @{push} support. Because of that, I am not interested in
6. very much.
In any case, this topic one is keeping a topic by another author
waiting to settle, so we have stronger incentive to see it move past
the finish line.
Thanks.
next prev parent reply other threads:[~2026-11-11 17:37 UTC|newest]
Thread overview: 140+ 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
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
2026-10-10 8:02 ` [PATCH v8 0/5] fetch: avoid fetching every branch of a new remote in a shallow repo Harald Nordgren via GitGitGadget
2026-10-10 8:02 ` [PATCH v8 1/5] fetch: add remote.<name>.refmap Harald Nordgren via GitGitGadget
2026-10-10 8:02 ` [PATCH v8 2/5] fetch: extract collect_upstream_from_remote() helper Harald Nordgren via GitGitGadget
2026-10-10 17:11 ` Junio C Hamano
2026-10-10 18:36 ` Harald Nordgren
2026-10-10 8:02 ` [PATCH v8 3/5] fetch: infer branches to fetch from a refmap-only remote Harald Nordgren via GitGitGadget
2026-10-10 8:02 ` [PATCH v8 4/5] remote: add "git remote add --limited-fetch" Harald Nordgren via GitGitGadget
2026-10-10 17:16 ` Junio C Hamano
2026-10-10 8:02 ` [PATCH v8 5/5] remote: default to --limited-fetch in a shallow repository Harald Nordgren via GitGitGadget
2026-10-14 7:04 ` [PATCH v9 0/5] fetch: avoid fetching every branch of a new remote in a shallow repo Harald Nordgren via GitGitGadget
2026-10-14 7:04 ` [PATCH v9 1/5] fetch: add remote.<name>.refmap Harald Nordgren via GitGitGadget
2026-10-14 7:04 ` [PATCH v9 2/5] fetch: extract collect_upstream_from_remote() helper Harald Nordgren via GitGitGadget
2026-10-14 7:04 ` [PATCH v9 3/5] fetch: infer branches to fetch from a refmap-only remote Harald Nordgren via GitGitGadget
2026-10-14 7:04 ` [PATCH v9 4/5] remote: add "git remote add --limited-fetch" Harald Nordgren via GitGitGadget
2026-10-14 7:04 ` [PATCH v9 5/5] remote: default to --limited-fetch in a shallow repository Harald Nordgren via GitGitGadget
2026-10-20 13:42 ` [PATCH v10 0/5] fetch: avoid fetching every branch of a new remote in a shallow repo Harald Nordgren via GitGitGadget
2026-10-20 13:42 ` [PATCH v10 1/5] fetch: add remote.<name>.refmap Harald Nordgren via GitGitGadget
2026-10-24 15:08 ` D. Ben Knoble
2026-10-24 17:18 ` Harald Nordgren
2026-10-25 14:14 ` D. Ben Knoble
2026-10-25 16:47 ` Harald Nordgren
2026-10-25 22:15 ` Junio C Hamano
2026-10-26 8:21 ` Harald Nordgren
2026-10-26 15:48 ` Junio C Hamano
2026-10-27 17:03 ` Phillip Wood
2026-10-27 17:21 ` Junio C Hamano
2026-10-28 16:16 ` Phillip Wood
2026-10-28 17:42 ` Junio C Hamano
2026-10-28 20:57 ` Harald Nordgren
2026-10-29 16:26 ` Phillip Wood
2026-10-29 22:18 ` Junio C Hamano
2026-10-26 10:44 ` Phillip Wood
2026-10-26 15:51 ` Junio C Hamano
2026-10-26 9:44 ` Phillip Wood
2026-10-29 14:30 ` Ben Knoble
2026-10-29 14:50 ` Harald Nordgren
2026-10-29 22:21 ` Junio C Hamano
2026-10-30 10:14 ` Harald Nordgren
2026-11-07 20:20 ` Notes, refs, etc. (was: Re: [PATCH v10 1/5] fetch: add remote.<name>.refmap) D. Ben Knoble
2026-10-20 13:42 ` [PATCH v10 2/5] fetch: extract collect_upstream_from_remote() helper Harald Nordgren via GitGitGadget
2026-10-24 15:08 ` D. Ben Knoble
2026-10-25 17:20 ` Harald Nordgren
2026-10-27 19:41 ` D. Ben Knoble
2026-10-20 13:42 ` [PATCH v10 3/5] fetch: infer branches to fetch from a refmap-only remote Harald Nordgren via GitGitGadget
2026-10-24 15:09 ` D. Ben Knoble
2026-10-25 17:27 ` Harald Nordgren
2026-10-20 13:42 ` [PATCH v10 4/5] remote: add "git remote add --limited-fetch" Harald Nordgren via GitGitGadget
2026-10-24 15:11 ` D. Ben Knoble
2026-10-20 13:42 ` [PATCH v10 5/5] remote: default to --limited-fetch in a shallow repository Harald Nordgren via GitGitGadget
2026-10-24 15:13 ` D. Ben Knoble
2026-10-25 18:12 ` Harald Nordgren
2026-10-23 23:13 ` [PATCH v10 0/5] fetch: avoid fetching every branch of a new remote in a shallow repo Junio C Hamano
2026-10-24 15:15 ` D. Ben Knoble
2026-10-26 9:43 ` Phillip Wood
2026-10-26 15:44 ` Junio C Hamano
2026-10-27 12:22 ` Harald Nordgren
2026-10-27 17:04 ` Phillip Wood
2026-10-25 20:25 ` [PATCH v11 " Harald Nordgren via GitGitGadget
2026-10-25 20:25 ` [PATCH v11 1/5] fetch: add remote.<name>.refmap Harald Nordgren via GitGitGadget
2026-10-25 20:25 ` [PATCH v11 2/5] fetch: extract collect_upstream_from_remote() helper Harald Nordgren via GitGitGadget
2026-10-25 20:25 ` [PATCH v11 3/5] fetch: infer branches to fetch from a refmap-only remote Harald Nordgren via GitGitGadget
2026-10-25 20:25 ` [PATCH v11 4/5] remote: add "git remote add --limited-fetch" Harald Nordgren via GitGitGadget
2026-10-25 20:25 ` [PATCH v11 5/5] remote: default to --limited-fetch in a shallow repository Harald Nordgren via GitGitGadget
2026-10-27 12:24 ` [PATCH v12 0/5] fetch: avoid fetching every branch of a new remote in a shallow repo Harald Nordgren via GitGitGadget
2026-10-27 12:24 ` [PATCH v12 1/5] fetch: add remote.<name>.fetchRefmap Harald Nordgren via GitGitGadget
2026-10-27 12:24 ` [PATCH v12 2/5] fetch: extract collect_upstream_from_remote() helper Harald Nordgren via GitGitGadget
2026-10-27 12:24 ` [PATCH v12 3/5] fetch: infer branches to fetch from a refmap-only remote Harald Nordgren via GitGitGadget
2026-10-27 12:24 ` [PATCH v12 4/5] remote: add "git remote add --limited-fetch" Harald Nordgren via GitGitGadget
2026-10-27 12:24 ` [PATCH v12 5/5] remote: default to --limited-fetch in a shallow repository Harald Nordgren via GitGitGadget
2026-10-30 10:52 ` [PATCH v13 0/6] fetch: avoid fetching every branch of a new remote in a shallow repo Harald Nordgren via GitGitGadget
2026-10-30 10:52 ` [PATCH v13 1/6] fetch: add remote.<name>.fetchRefmap Harald Nordgren via GitGitGadget
2026-11-12 11:00 ` Phillip Wood
2026-10-30 10:52 ` [PATCH v13 2/6] fetch: extract collect_upstream_from_remote() helper Harald Nordgren via GitGitGadget
2026-10-30 10:52 ` [PATCH v13 3/6] fetch: infer branches to fetch from a refmap-only remote Harald Nordgren via GitGitGadget
2026-10-30 10:52 ` [PATCH v13 4/6] remote: add "git remote add --limited-fetch" Harald Nordgren via GitGitGadget
2026-10-30 10:52 ` [PATCH v13 5/6] remote: default to --limited-fetch in a shallow repository Harald Nordgren via GitGitGadget
2026-10-30 10:52 ` [PATCH v13 6/6] remote: resolve @{push} through remote.<name>.fetchRefmap Harald Nordgren via GitGitGadget
2026-11-11 18:27 ` D. Ben Knoble
2026-11-11 22:10 ` Junio C Hamano
2026-11-11 8:31 ` [PATCH v13 0/6] fetch: avoid fetching every branch of a new remote in a shallow repo Harald Nordgren
2026-11-11 14:12 ` Phillip Wood
2026-11-11 17:37 ` Junio C Hamano [this message]
2026-11-11 18:35 ` D. Ben Knoble
2026-11-12 11:16 ` Phillip Wood
2026-11-12 15:25 ` Matt Hunter
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=xmqqcxsbnub5.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