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

Re: New Ft. for Git : Allow resumable cloning of repositories.

From
JTJonathan Tan <jonathantanmy@google.com>
Date
Mar 8, 2019, 17:43 UTC
Message-ID
<20190308174314.129611-1-jonathantanmy@google.com>
In-Reply-To
<CAMknYENWOW0mj6Bn9OooqKg-sZi9bZUO461Gv1F00=phNwLFQQ@mail.gmail.com>
> Objective: Allow pause and resume functionality while cloning repositories.
> 
> Below is a rough idea on how this may be achieved.

This is indeed a nice feature to have, and thanks for details of how this would be accomplished.

Show 13 quoted lines
> 1) Create a repository_name.json file.
> 2) repository_name.json will be an index file containing list of all
> the files in the repository with default status being "False".
>    "False" status of a file signifies that this file is not yet fully
> downloaded.
> 
> Something like this:
> 
> {
>   'file1.ext' : "False",
>   'file2.ext' : "False",
>   'file3.ext' : "False"
> }

One issue is that when cloning a repository, we do not download many files - we only download one dynamically generated packfile containing all the objects we want.

You might be interested in some work I'm doing to offload part of the packfile response to CDNs:

https://public-inbox.org/git/cover.1550963965.git.jonathantanmy@google.com/

This means that when cloning/fetching, multiple files could be downloaded, meaning that a scheme like you suggest would be more worthwhile. (In fact, I allude to such a scheme in the design document in patch 5.)

Previous: Kapil JainNext: Kapil Jain
Message 2 of 3 in “New Ft. for Git : Allow resumable cloning of repositories.”
  1. Kapil JainMar 8, 2019
  2. Jonathan TanMar 8, 2019
  3. Kapil JainMar 10, 2019

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.