Re: [PATCH] RFC: git lazy clone proof-of-concept
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Feb 14, 2008, 21:59 UTC
- Message-ID
- <200802142300.01615.jnareb@gmail.com>
- In-Reply-To
- <alpine.LSU.1.00.0802142054080.30505@racer.site>
Johannes Schindelin wrote:
> On Thu, 14 Feb 2008, Jakub Narebski wrote:
Show 8 quoted lines
>> Perhaps you could try running contrib/stats/packinfo.pl on this pack to >> examine it to get to know what takes most space. > > $ ~/git/contrib/stats/packinfo.pl < \ > objects/pack/pack-e4dc6da0a10888ec4345490575efc587b7523b45.pack 2>&1 | \ > tee packinfo.txt > Illegal division by zero at /home/imaging/git/contrib/stats/packinfo.pl > line 141, <STDIN> line 6330855.
Errr... sorry, I should have been more explicit. What I meant here is the result of
$ git verify-pack -v <packfile> | \ ~/git/contrib/stats/packinfo.pl
Show 17 quoted lines
>> What is the size of checkout, by the way? > > I work on a bare repository, but: > > $ git archive origin/master | wc -c > 2010060800 > > Or more precisely: > > $ echo $(($(git ls-tree -l -r origin/master | sed -n 's/^[^ ]* [^ ]* [^ ]* > *\([0-9]*\).*$/\1/p' | tr '\012' +)0)) > 1947839459 > > So yes, we still have the crown of the _whole_ repository being _smaller_ > than a single checkout. > > Yeah!
Brandon Casey wrote:
Show 5 quoted lines
> Jakub Narebski wrote: >> >> What is the size of checkout, by the way? > > 2.4G
That's huuuuge tree. Compared to that 1.6G (or 1.4G) packfile doesn't look large.
I wonder if proper subdivision into submodules (which should encourage better code by the way, see TAOUP), and perhaps partial checkouts wouldn't be better solution than lazy clone. But it is nice to have long discussed about feature, even if at RFC stage, but with some code.
-- Jakub Narebski Poland