Re: [RFC PATCH 01/15] README-sparse-clone: Add a basic writeup of my ideas for sparse clones
- From
Elijah Newren <newren@gmail.com>
- Date
- Sep 5, 2010, 03:13 UTC
- Message-ID
- <AANLkTikxCwSOBVREuRc7sShJahKR5FXWdaW79f_K36bU@mail.gmail.com>
- In-Reply-To
- <AANLkTikx89M+JcOcabU3TazGB=k8x39QLbVe7sH7Vvaa@mail.gmail.com>
On Sat, Sep 4, 2010 at 9:01 PM, Nguyen Thai Ngoc Duy <pclouds@gmail.com> wrote:
Show 18 quoted lines
> On Sun, Sep 5, 2010 at 10:13 AM, Elijah Newren <newren@gmail.com> wrote: >> +To ensure minimum necessary connectivity, we also download basic >> +information from otherwise excluded commits >> + * parents of these commits >> + * trees matching the specified sparse path(s) >> +but, for security and space reasons, do not download >> + * author >> + * author date >> + * committer >> + * committer date >> + * log message >> +Such commits are still considered "missing" (see item I4 for more >> +details about how we handle "missing" commits). > > Just an observation. When I ran pack-objects with irrelevant commits > removed (i.e. try_to_simplify_commit) on Documentation/, I got a 6MB > pack. When I ran it without commit simplification, I got 16MB pack. > That's 10MB larger.
Hmm. I get 22MB pack for a full clone of git.git and 13 MB for a sparse clone with Documentation/; that's including all commits too. I wonder why our numbers differ by 3 MB. Weird.
> Now I don't how much of that 10MB share is commit messages, authors, > committers and trees but I suspect trees take a large part in it. > Maybe you can just fake the trees in those fake commits as well, to > avoid downloading more trees.
I originally planned to do that, but that makes working with tags and branches difficult. For example, documenters could clone a repository but be unable to make new commits on top of maint or master since we probably wouldn't have trees for the tips of those branches.
So I really think trees are needed. Of course, for someone making a sparse clone of "just" the Documentation directory will need the toplevel trees, but they won't need trees under t/, for example. So they do get some savings.