Rahul Sundaram wrote:
On 03/30/2012 08:43 AM, Vaclav Mocek wrote:
> Hi all,
>
> I have a cloned GCC git repository, on PC with 1.5GB of RAM and 3GB swap.
>
> When I run "$git gc --aggressive", I will get after few hours an error:
I'm curious why you're using git gc --aggressive on a freshly cloned
repository. Any particular reason?
> $ git gc --aggressive
> Counting objects: 1332887, done.
> Delta compression using up to 2 threads.
> fatal: Out of memory, malloc failed (tried to allocate 4838335 bytes)
> error: failed to run repack
> $
>
> 4.5GB of memory is not enough, what is that?
It's just a fact of the way --aggressive works by default. You can
tune this a bit using the gc.aggressiveWindow config option.
Generally, git gc --aggressive isn't something you want to run.
Linus has said it...
is mostly dumb. It's really only useful for the case of "I know I
have a *really* bad pack, and I want to throw away all the bad
packing decisions I have done".¹
File a bug report
If you do, please use the git mailing list to report this. As a
Fedora git maintainer, I can assure you that we won't be patching git
gc --aggressive ourselves. And trying to ferry information back and
forth to the git list for a bug like this would be painful and
inefficient for everyone involved.
Ideally, you should probably experiment with git repack if you have a
need to trim the size of the repository. Some discussion of this is
available at the same URL referenced earlier with Linus' commends on
git gc --aggressive not being all that useful.
¹
http://gcc.gnu.org/ml/gcc/2007-12/msg00165.html
--
Todd OpenPGP -> KeyID: 0xBEAF0CE3 | URL:
www.pobox.com/~tmz/pgp
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Tell a man there are 300 billion stars in the universe, he'll believe
you. Tell him a bench has wet paint on it and he'll have to touch it
to be sure.