Subject: Re: notify alternative to auto gc?

From: Matthieu Moy <[email-masked]>
Date: Tue, 29 Jun 2010 08:46:47 +0200

Karl Stenerud <[email-masked]> writes:

> In the case which I observed, the time from typing "git pull" until
> the auto-gc notification was a few seconds.  The time from the
> notification until gc completion, however, was 3-4 minutes.

The missing bit here is how often this happens.

Once you did an actual "git gc", your repository is stored in a single
pack file, and only new files are stored unpacked or in separate
packs. Subsequent "git gc --auto" will just pack unpacked objects
together by groups of approximately "gc.auto" (i.e. 6700), which is
quick, until you reach "gc.packlimit" (i.e. 50). You'll trigger an
expansive repack only after that. So, roughly, you'll get an expansive
repack after creating 300,000 object files (unless you ran "git gc" in
the meantime). Unless you do very nasty things with your repo, that
really means "not often", and especially "not often enough that you
should care" in 99.9% cases.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/