Re: New Ft. for Git : Allow resumable cloning of repositories.
- From
- Jonathan 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.)