Re: RFC: reverse history tree, for faster & background clones
From: Dennis Kaarsemaker <hidden>
Date: 2016-06-15 23:05:16
On vr, 2015-06-12 at 13:26 +0200, Andres G. Aragoneses wrote:
AFAIU git stores the contents of a repo as a sequence of patches in the .git metadata folder.
It does not, it stores full snapshots of files. [I've cut the example, as it's not how git works]
1. `git clone --depth 1` would be way faster, and without the need of on-demand compressing of packfiles in the server side, correct me if I'm wrong?
You're wrong due to the misunderstanding of how git works :)
2. `git clone` would be able to allow a "fast operation, complete in the background" mode that would allow you to download the first snapshot of the repo very quickly, so that the user would be able to start working on his working directory very quickly, while a "background job" keeps retreiving the history data in the background.
This could actually be a good thing, and can be emulated now with git clone --depth=1 and subsequent fetches in the background to deepen the history. I can see some value in clone doing this by itself, first doing a depth=1 fetch, then launching itself into the background, giving you a worktree to play with earlier. -- Dennis Kaarsemaker http://www.kaarsemaker.net