* [GSoC] extensions.partialClone and promisor remote fetch order
@ 2026-03-07 9:28 Lorenzo Pegorari
2026-03-07 14:58 ` Lorenzo Pegorari
2026-03-09 13:40 ` Christian Couder
0 siblings, 2 replies; 4+ messages in thread
From: Lorenzo Pegorari @ 2026-03-07 9:28 UTC (permalink / raw)
To: git
Cc: Christian Couder, Karthik Nayak, Justin Tobler, Siddharth Asthana,
Ayush Chandekar, Junio C Hamano
Hi everyone. In the past weeks I deeply studied the documentation
regarding the GSoC'26 idea "Implement promisor remote fetch ordering". I
am preparing a proposal that is as detailed as possible, and that tries
to answer to as many questions as possible. I am also experimenting a
lot with multiple promisor remotes configurations, and creating some
examples that I will showcase in my proposal.
I have a question regarding the interaction between the config
"extensions.partialClone" and a possible fetch ordering mechanism:
* from my understanding, and from my personal tests, it looks like
"extensions.partialClone" is not essential when working with multiple
promisor remotes. Having these promisor remotes setted up with
"remote.<name>.promisor" and "remote.<name>.partialCloneFilter" seems
sufficient. In this case, the promisor remotes will be tried one
after the other, in the order in which they appear in the config.
* if "extensions.partialClone" is present, then the promisor remote
configured using the "extensions.partialClone" config var will be the
last one tried when fetching an object.
1. is what I explained correct?
2. when the fetch ordering mechanism will be added, this config var will
not be useful anymore. How should it be handled? It probably can't
just be removed, so the fetch ordering mechanism should be flexible
enough to handle a situation where "extensions.partialClone" is
present, correct?
Thanks,
Lorenzo
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [GSoC] extensions.partialClone and promisor remote fetch order
2026-03-07 9:28 [GSoC] extensions.partialClone and promisor remote fetch order Lorenzo Pegorari
@ 2026-03-07 14:58 ` Lorenzo Pegorari
2026-03-09 13:40 ` Christian Couder
1 sibling, 0 replies; 4+ messages in thread
From: Lorenzo Pegorari @ 2026-03-07 14:58 UTC (permalink / raw)
To: git
Cc: Christian Couder, Karthik Nayak, Justin Tobler, Siddharth Asthana,
Ayush Chandekar, Junio C Hamano
On Sat, Mar 07, 2026 at 10:28:33AM +0100, Lorenzo Pegorari wrote:
> Hi everyone. In the past weeks I deeply studied the documentation
> regarding the GSoC'26 idea "Implement promisor remote fetch ordering". I
> am preparing a proposal that is as detailed as possible, and that tries
> to answer to as many questions as possible. I am also experimenting a
> lot with multiple promisor remotes configurations, and creating some
> examples that I will showcase in my proposal.
>
>
> I have a question regarding the interaction between the config
> "extensions.partialClone" and a possible fetch ordering mechanism:
> * from my understanding, and from my personal tests, it looks like
> "extensions.partialClone" is not essential when working with multiple
> promisor remotes. Having these promisor remotes setted up with
> "remote.<name>.promisor" and "remote.<name>.partialCloneFilter" seems
> sufficient. In this case, the promisor remotes will be tried one
> after the other, in the order in which they appear in the config.
> * if "extensions.partialClone" is present, then the promisor remote
> configured using the "extensions.partialClone" config var will be the
> last one tried when fetching an object.
>
> 1. is what I explained correct?
> 2. when the fetch ordering mechanism will be added, this config var will
> not be useful anymore. How should it be handled? It probably can't
> just be removed, so the fetch ordering mechanism should be flexible
> enough to handle a situation where "extensions.partialClone" is
> present, correct?
>
>
> Thanks,
> Lorenzo
Also, I see that "extensions.partialClone" is already necessary "to
prevent older versions of git from failing mid-operation because of
missing objects that they cannot handle".
This is one of the last issues that I still have to iron out before I
can send a satisfactory proposal draft.
[1]: https://git-scm.com/docs/git-config#Documentation/git-config.txt-partialClone
[2]: https://git-scm.com/docs/git-config#Documentation/git-config.txt-partialClone
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [GSoC] extensions.partialClone and promisor remote fetch order
2026-03-07 9:28 [GSoC] extensions.partialClone and promisor remote fetch order Lorenzo Pegorari
2026-03-07 14:58 ` Lorenzo Pegorari
@ 2026-03-09 13:40 ` Christian Couder
2026-03-10 18:32 ` Lorenzo Pegorari
1 sibling, 1 reply; 4+ messages in thread
From: Christian Couder @ 2026-03-09 13:40 UTC (permalink / raw)
To: Lorenzo Pegorari
Cc: git, Karthik Nayak, Justin Tobler, Siddharth Asthana,
Ayush Chandekar, Junio C Hamano
Hi Lorenzo,
On Sat, Mar 7, 2026 at 10:28 AM Lorenzo Pegorari
<lorenzo.pegorari2002@gmail.com> wrote:
>
> Hi everyone. In the past weeks I deeply studied the documentation
> regarding the GSoC'26 idea "Implement promisor remote fetch ordering". I
> am preparing a proposal that is as detailed as possible, and that tries
> to answer to as many questions as possible. I am also experimenting a
> lot with multiple promisor remotes configurations, and creating some
> examples that I will showcase in my proposal.
Thanks for your interest in Git and this project.
> I have a question regarding the interaction between the config
> "extensions.partialClone" and a possible fetch ordering mechanism:
> * from my understanding, and from my personal tests, it looks like
> "extensions.partialClone" is not essential when working with multiple
> promisor remotes. Having these promisor remotes setted up with
> "remote.<name>.promisor" and "remote.<name>.partialCloneFilter" seems
> sufficient. In this case, the promisor remotes will be tried one
> after the other, in the order in which they appear in the config.
> * if "extensions.partialClone" is present, then the promisor remote
> configured using the "extensions.partialClone" config var will be the
> last one tried when fetching an object.
>
> 1. is what I explained correct?
Yes, I think so. The "Using many promisor remotes" section of
"Documentation/technical/partial-clone.adoc" seems to agree with what
you say.
> 2. when the fetch ordering mechanism will be added, this config var will
> not be useful anymore. How should it be handled? It probably can't
> just be removed, so the fetch ordering mechanism should be flexible
> enough to handle a situation where "extensions.partialClone" is
> present, correct?
Yes, for backward compatibility, it's better to have things work as
they used to when the new ordering mechanism is not used.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [GSoC] extensions.partialClone and promisor remote fetch order
2026-03-09 13:40 ` Christian Couder
@ 2026-03-10 18:32 ` Lorenzo Pegorari
0 siblings, 0 replies; 4+ messages in thread
From: Lorenzo Pegorari @ 2026-03-10 18:32 UTC (permalink / raw)
To: Christian Couder; +Cc: git
On Mon, Mar 09, 2026 at 02:40:42PM +0100, Christian Couder wrote:
> Hi Lorenzo,
>
> On Sat, Mar 7, 2026 at 10:28 AM Lorenzo Pegorari
> <lorenzo.pegorari2002@gmail.com> wrote:
> >
> > Hi everyone. In the past weeks I deeply studied the documentation
> > regarding the GSoC'26 idea "Implement promisor remote fetch ordering". I
> > am preparing a proposal that is as detailed as possible, and that tries
> > to answer to as many questions as possible. I am also experimenting a
> > lot with multiple promisor remotes configurations, and creating some
> > examples that I will showcase in my proposal.
>
> Thanks for your interest in Git and this project.
>
> > I have a question regarding the interaction between the config
> > "extensions.partialClone" and a possible fetch ordering mechanism:
> > * from my understanding, and from my personal tests, it looks like
> > "extensions.partialClone" is not essential when working with multiple
> > promisor remotes. Having these promisor remotes setted up with
> > "remote.<name>.promisor" and "remote.<name>.partialCloneFilter" seems
> > sufficient. In this case, the promisor remotes will be tried one
> > after the other, in the order in which they appear in the config.
> > * if "extensions.partialClone" is present, then the promisor remote
> > configured using the "extensions.partialClone" config var will be the
> > last one tried when fetching an object.
> >
> > 1. is what I explained correct?
>
> Yes, I think so. The "Using many promisor remotes" section of
> "Documentation/technical/partial-clone.adoc" seems to agree with what
> you say.
>
> > 2. when the fetch ordering mechanism will be added, this config var will
> > not be useful anymore. How should it be handled? It probably can't
> > just be removed, so the fetch ordering mechanism should be flexible
> > enough to handle a situation where "extensions.partialClone" is
> > present, correct?
>
> Yes, for backward compatibility, it's better to have things work as
> they used to when the new ordering mechanism is not used.
Exactly what I thought. Thanks for the clarifications Christian!
I just sent my GSoC'26 proposal, where I took into consideration this
discussion:
https://lore.kernel.org/git/abBh__zmlWXY-yjI@lorenzo-VM/
Lorenzo
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-03-10 18:32 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-07 9:28 [GSoC] extensions.partialClone and promisor remote fetch order Lorenzo Pegorari
2026-03-07 14:58 ` Lorenzo Pegorari
2026-03-09 13:40 ` Christian Couder
2026-03-10 18:32 ` Lorenzo Pegorari
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox