git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] [RFC] list-objects-filter: introduce new filter sparse:buffer=<spec>

From
Jeff King <peff@peff.net>
Date
Aug 14, 2022, 06:54 UTC
Message-ID
<YvicFCS45cPp9khe@coredump.intra.peff.net>
In-Reply-To
<CAOLTT8QfmVXHDVfWZf0U73PXOQ--ZUmm3N=a60fv_Wo_5UnqmA@mail.gmail.com>
On Fri, Aug 12, 2022 at 11:49:06PM +0800, ZheNing Hu wrote:
Show 12 quoted lines
> > ...I agree with this. It is nice to put more power in the hands of the
> > clients, but we have to balance that with other issues like server
> > resource use. The approach so far has been to implement the simplest and
> > most efficient operations at the client-server level, and then have the
> > client build local features on top of that. So in this case, probably
> > requesting that _no_ trees are sent in the initial clone, and then
> > faulting them in as the client explores the tree using its own local
> > sparse definition. And I think that mostly works now.
> 
> Agree. But we have to fetch these blobs one by one after partial clone,
> why not reduce some extra network overhead If we can get those blobs
> that are *most* needed in the first partial clone, right?

Ideally we wouldn't be getting them one-by-one, but rather batching them. I'm not sure of the current state of the code. But we should at least be able to batch by tree depth.

You're right that we'll never be able to be as efficient as a server to whom we can say "I care about these paths", though.

-Peff
Previous: ZheNing HuNext: ZheNing Hu
Message 7 of 9 in “[RFC] list-objects-filter: introduce new filter sparse:buffer=<spec>”
  1. [RFC] list-objects-filter: introduce new filter sparse:buffer=<spec>ZheNing Hu via GitGitGadget, Aug 8, 2022
  2. Junio C HamanoAug 8, 2022
  3. ZheNing HuAug 9, 2022
  4. Derrick StoleeAug 9, 2022
  5. Jeff KingAug 10, 2022
  6. ZheNing HuAug 12, 2022
  7. Jeff KingAug 14, 2022
  8. ZheNing HuAug 12, 2022
  9. ZheNing HuAug 26, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.