Re: git repository size / compression
- From
- neubyr <neubyr@gmail.com>
- Date
- Sep 9, 2011, 15:09 UTC
- Message-ID
- <CALFxCvxAn9tEaOWM6r2A8UiDjkTrrzky1Q10VtqCiA-vhQxrug@mail.gmail.com>
- In-Reply-To
- <m339g5u5pm.fsf@localhost.localdomain>
2011/9/9 Jakub Narebski <jnareb@gmail.com>:
Show 33 quoted lines
> neubyr <neubyr@gmail.com> writes:
>> On Fri, Sep 9, 2011 at 3:23 AM, Carlos Martín Nieto <cmn@elego.de> wrote:
>> > On Thu, 2011-09-08 at 21:37 -0500, neubyr wrote:
>
>>>> I have a test git repository with just two files in it. One of the
>>>> file in it has a set of two lines that is repeated n times.
>>>> e.g.:
>>>> {{{
>>>> $ for i in {1..5}; do cat ./lexico.txt>> lexico1.txt && cat
>>>> ./lexico.txt>> lexico1.txt && mv ./lexico1.txt ./lexico.txt; done
>>>> }}}
>>>>
>>>
>>> So you've just created some data that can be compressed quite
>>> efficiently.
>>>
>>>> I ran above command few times and performed commit after each run. Now
>>>> disk usage of this repository directory is mentioned below. The 419M
>>>> is working directory size and 2.7M is git repository/database size.
>>>>
>>>> {{{
>>>> $ du -h -d 1 .
>>>> 2.7M ./.git
>>>> 419M .
>>>>
>>>> }}}
>
> Have you tried the same but with
>
> $ git gc --prune=now
>
> before running `du`?
>Nope, I hadn't run git gc before. Here are du results after running git gc command. That's about 55% less space now.. Great!
{{{ $ du -d 1 -h 924K ./.git 417M . }}}
Show 17 quoted lines
>>>> Is it because of the compression performed by git before storing data >>>> (or before sending commit)?? >>> >>> Yes. Git stores its objects (the commit, the snapshot of the files, >>> etc.) compressed. When these objects are stored in a pack, the size can >>> be further reduced by storing some objects as deltas which describe the >>> difference between itself and some other object in the object-db. >> >> Does git store deltas for some files? I thought it uses snapshots >> (exact copy of staged files) only. > > When creating packfile from loose objects (e.g. via `git gc`), it > does perform delta compression. > > -- > Jakub Narębski >
thank you everyone for explaining in detail..
-- neuby.r