> 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/[email protected]/
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.)