From: Junio C Hamano <gitster@pobox.com>
To: "Alan Braithwaite via GitGitGadget" <gitgitgadget@gmail.com>
Cc: git@vger.kernel.org, ps@pks.im, christian.couder@gmail.com,
jonathantanmy@google.com, me@ttaylorr.com,
Jeff King <peff@peff.net>,
"brian m. carlson" <sandals@crustytoothpaste.net>,
Alan Braithwaite <alan@braithwaite.dev>
Subject: Re: [PATCH v6] clone: add clone.<url>.defaultObjectFilter config
Date: Sun, 15 Mar 2026 14:32:23 -0700 [thread overview]
Message-ID: <xmqqldfsrd7c.fsf@gitster.g> (raw)
In-Reply-To: <pull.2058.v6.git.1773553022381.gitgitgadget@gmail.com> (Alan Braithwaite via GitGitGadget's message of "Sun, 15 Mar 2026 05:37:02 +0000")
"Alan Braithwaite via GitGitGadget" <gitgitgadget@gmail.com> writes:
> From: Alan Braithwaite <alan@braithwaite.dev>
>
> Add a new configuration option that lets users specify a default
> partial clone filter, optionally scoped by URL pattern. When
> cloning a repository whose URL matches a configured pattern,
> git-clone automatically applies the filter, equivalent to passing
> --filter on the command line.
>
> [clone]
> defaultObjectFilter = blob:limit=1m
>
> [clone "https://github.com/"]
> defaultObjectFilter = blob:limit=5m
>
> [clone "https://internal.corp.com/large-project/"]
> defaultObjectFilter = blob:none
>
> The bare clone.defaultObjectFilter applies to all clones. The
> URL-qualified form clone.<url>.defaultObjectFilter restricts the
> setting to matching URLs. URL matching uses the existing
> urlmatch_config_entry() infrastructure, following the same rules as
> http.<url>.* — a domain, namespace, or specific project can be
> matched, and the most specific match wins.
>
> The config only affects the initial clone. Once the clone completes,
> the filter is recorded in remote.<name>.partialCloneFilter, so
> subsequent fetches inherit it automatically. An explicit --filter
> on the command line takes precedence, and --no-filter defeats the
> configured default entirely.
>
> Signed-off-by: Alan Braithwaite <alan@braithwaite.dev>
> ---
> fetch, clone: add fetch.blobSizeLimit config
>
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-2058%2Fabraithwaite%2Falan%2Ffetch-blob-size-limit-v6
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2058/abraithwaite/alan/fetch-blob-size-limit-v6
> Pull-Request: https://github.com/gitgitgadget/git/pull/2058
I as a bistander reviewer would have appreciated some mention of
where some changes relative to the previous iteration came from.
E.g., check for !normalized_url case is from a realization that
url_normaize() can return NULL. Use of test_when_finished all of
the place is to clean cruft after each test did its thing.
What I am most unsure about is what the removal of "large.bin" in a
test is about. What was it trying to achieve by having the file
that weighs 100kB, and what was the reason the file got removed (is
it because whatever the presence of the file was trying to verify in
the previous iteration is already checked by other means and if so
what is it? Or is it something else?).
Mechanically generated range-diff alone does not answer questions
like the above.
Other than the "dd" thing, everything is looking good.
Will replace. Thanks.
next prev parent reply other threads:[~2026-03-15 21:32 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-01 16:44 [PATCH] fetch, clone: add fetch.blobSizeLimit config Alan Braithwaite via GitGitGadget
2026-03-02 11:53 ` Patrick Steinhardt
2026-03-02 18:28 ` Jeff King
2026-03-02 18:57 ` Junio C Hamano
2026-03-02 21:36 ` Alan Braithwaite
2026-03-03 6:30 ` Patrick Steinhardt
2026-03-03 14:00 ` Alan Braithwaite
2026-03-03 15:08 ` Patrick Steinhardt
2026-03-03 17:58 ` Junio C Hamano
2026-03-04 5:07 ` Patrick Steinhardt
2026-03-03 17:05 ` Junio C Hamano
2026-03-03 14:34 ` Jeff King
2026-03-05 0:57 ` [PATCH v2] clone: add clone.<url>.defaultObjectFilter config Alan Braithwaite via GitGitGadget
2026-03-05 19:01 ` Junio C Hamano
2026-03-05 23:11 ` Alan Braithwaite
2026-03-06 6:55 ` [PATCH v3] " Alan Braithwaite via GitGitGadget
2026-03-06 10:39 ` brian m. carlson
2026-03-06 19:33 ` Junio C Hamano
2026-03-06 21:50 ` Alan Braithwaite
2026-03-06 21:47 ` [PATCH v4] " Alan Braithwaite via GitGitGadget
2026-03-06 22:18 ` Junio C Hamano
2026-03-07 1:04 ` Alan Braithwaite
2026-03-07 1:33 ` [PATCH v5] " Alan Braithwaite via GitGitGadget
2026-03-11 7:44 ` Patrick Steinhardt
2026-03-15 1:33 ` Alan Braithwaite
2026-03-15 5:37 ` [PATCH v6] " Alan Braithwaite via GitGitGadget
2026-03-15 21:32 ` Junio C Hamano [this message]
2026-03-16 7:47 ` Patrick Steinhardt
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=xmqqldfsrd7c.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=alan@braithwaite.dev \
--cc=christian.couder@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitgitgadget@gmail.com \
--cc=jonathantanmy@google.com \
--cc=me@ttaylorr.com \
--cc=peff@peff.net \
--cc=ps@pks.im \
--cc=sandals@crustytoothpaste.net \
/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