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

Re: [RFC 0/4] Shallow clones with on-demand fetch

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 6, 2017, 19:18 UTC
Message-ID
<xmqqr32anri1.fsf@junio-linux.mtv.corp.google.com>
In-Reply-To
<20170304191901.9622-1-markbt@efaref.net>
Mark Thomas <markbt@efaref.net> writes:
> This is a proof-of-concept, so it is in no way complete.  It contains a
> few hacks to make it work, but these can be ironed out with a bit more
> work.  What I have so far is sufficient to try out the idea.

Two things that immediately come to mind (which may or may not be real issues) are

 (1) What (if any) security model you have in mind.
     From object-confidentiality's point of view, this needs to be
     enabled only on a host that allows
     uploadpack.allowAnySHA1InWant but even riskier.
     From DoS point of view, you can make a short 40-byte request to
     cause the other side emit megabytes of stuff.  I do not think
     it is a new problem (anybody can repeatedly request a clone of
     large stuff), but there may be new ramifications.
 (2) If the interface to ask just one object kills the whole idea
     due to roundtrip latency.
     You may want to be able to say "I want all objects reachable
     from this tree; please give me a packfile of needed objects
     assuming that I have all objects reachable from this other tree
     (or these other trees)".
Previous: Mark ThomasNext: Jeff King
Message 6 of 9 in “[RFC 0/4] Shallow clones with on-demand fetch”
  1. Mark ThomasMar 4, 2017
  2. 3/4 upload-pack: Send all commits if client requests on-demandMark Thomas, Mar 4, 2017
  3. 4/4 clone: Request on-demand shallow clonesMark Thomas, Mar 4, 2017
  4. 1/4 upload-file: Add upload-file commandMark Thomas, Mar 4, 2017
  5. 2/4 on-demand: Fetch missing files from remoteMark Thomas, Mar 4, 2017
  6. Junio C HamanoMar 6, 2017
  7. Jeff KingMar 7, 2017
  8. Jonathan TanMar 6, 2017
  9. Stefan BellerMar 6, 2017

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.