> 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.

> 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.jonathanta...@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.)

Reply via email to