> 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.jonathantanmy@xxxxxxxxxx/ 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.)