Re: [PATCH 0/5] Introduce 'uploadpack.lazyFetchTrusted'
flat view
From: Junio C Hamano <hidden>
Date: 2026-08-07 18:31:05
Christian Couder [off-list ref] writes:
Range diff with previous series
===============================
The range diff with the previous ("Introduce a 'fromAccepted' option
to GIT_NO_LAZY_FETCH") series is not very interesting as only the
first patch has been saved, but anyway here it is:
1: 8dd67ddaca ! 1: b5b0836d19 promisor-remote: factor out lazy_fetch_objects()
@@ Commit message
that could not be fetched are promisor objects.
Let's refactor the lazy fetching logic out of these two functions
- into a new lazy_fetch_objects() function. This will make it easier
- to extend the lazy fetching logic in following commits.
+ into a new lazy_fetch_objects() function.
This is a pure refactoring with no intended behavior change. Two
things shift in ways that are observably equivalent though:
2: 314c61cbbe < -: ---------- promisor-remote: introduce enum allow_lazy_fetch
3: cb2f5447e2 < -: ---------- promisor-remote: teach 'fromAccepted' to GIT_NO_LAZY_FETCH
-: ---------- > 2: 879e3a34e3 setup: extract path_allowlist_apply()
-: ---------- > 3: 98431ab7b3 setup: add 'allow_dot' arg to path_allowlist_apply()
-: ---------- > 4: a46f4c1bb8 upload-pack: read uploadpack.lazyFetchTrusted
-: ---------- > 5: 4063f233aa builtin/upload-pack: set GIT_NO_LAZY_FETCH to 0 on trusted repo
Christian Couder (5):
promisor-remote: factor out lazy_fetch_objects()
setup: extract path_allowlist_apply()
setup: add 'allow_dot' arg to path_allowlist_apply()
upload-pack: read uploadpack.lazyFetchTrusted
builtin/upload-pack: set GIT_NO_LAZY_FETCH to 0 on trusted repo
Documentation/config/uploadpack.adoc | 42 ++++++++++
Documentation/git-upload-pack.adoc | 5 ++
Documentation/git.adoc | 4 +-
builtin/upload-pack.c | 11 +++
promisor-remote.c | 76 ++++++++++--------
setup.c | 108 ++++++++++++++------------
setup.h | 28 +++++++
t/t5710-promisor-remote-capability.sh | 70 +++++++++++++++++
upload-pack.c | 37 +++++++++
upload-pack.h | 3 +
10 files changed, 304 insertions(+), 80 deletions(-)
What's missing is the information on the base. I tried applying
these patches to 'v2.55.0' and the recent tips of 'master':
2c78326f81 The 11th batch
5b2471720c The 10th batch
a97fcc37c2 The 9th batch
13c7afec21 The 8th batch
9a0c4701dc The 7th batch
5d2e770923 The 6th batch
48bbf81c29 The 5th batch
41365c2a9b The 4th batch for Git 2.56
d35c5399e3 The 3rd batch for Git 2.56
55526a1826 The 2nd batch for Git 2.56
but the series did not apply to any of them.
It turns out the reason has nothing to do with your choice of
base. It is because the series structure is not understood by 'b4'.
The cover letter I am responding to is a reply to another series,
but the patches in this round are not marked as 'v2'. This seems
to cause 'b4' to grab patches from both series and smash them
together, resulting in an inapplicable mess. It seems you cannot
have your cake and eat it, too 😠.
Next time, please do not thread the two topics together unless you
are marking the newer iteration with a higher 'vN' number.
Thanks.