threads / bug / 22106

gc.auto bug in 1.6.5.7

Subject: gc.auto bug in 1.6.5.7

## tl;dr

3 messages between Jan 6, 2010 and Jan 6, 2010.

replies: 2people: 2as markdown or json

Jon Nelson· Jan 6, 2010, 17:59 UTC · lore
It would appear that there is a bug in git, at least as of 1.6.5.7, in
the gc command.
When gc.auto is non-zero, it appears to consider packfiles as "loose"
- this conflicts with pack.packSizeLimit, insofar as I have
pack.packSizeLimit set to 2M (which appears to work).  If gc.auto is,
say, 50 - once I exceed 50 2MB packs then gc --auto repacks *every
single time* it is run. This is unexpected, at least.
-- 
Jon
Brandon Casey· Jan 6, 2010, 18:31 UTC · re: Jon Nelson · lore

Re: gc.auto bug in 1.6.5.7

Jon Nelson wrote:
Show 7 quoted lines
> It would appear that there is a bug in git, at least as of 1.6.5.7, in
> the gc command.
> When gc.auto is non-zero, it appears to consider packfiles as "loose"
> - this conflicts with pack.packSizeLimit, insofar as I have
> pack.packSizeLimit set to 2M (which appears to work).  If gc.auto is,
> say, 50 - once I exceed 50 2MB packs then gc --auto repacks *every
> single time* it is run. This is unexpected, at least.

There is also a gc.autopacklimit which controls auto-gc'ing based on the number of packs. The default is 50 and it does not consider the pack.packSizeLimit setting when deciding whether or not to auto-gc. It can be raised, or it can be disabled by setting it to zero.

The ideal number of packs is one, but if you limit the size of packs to be very small, then you will quickly grow the number of packs. Perhaps autogc should only count packs that are much smaller than pack.packSizeLimit? Looks like there is already a comment in builtin-gc.c suggesting something similar.

-brandon
Jon Nelson· Jan 6, 2010, 22:27 UTC · re: Brandon Casey · lore

Re: gc.auto bug in 1.6.5.7

On Wed, Jan 6, 2010 at 12:31 PM, Brandon Casey <brandon.casey.ctr@nrlssc.navy.mil> wrote:

Show 13 quoted lines
> Jon Nelson wrote:
>> It would appear that there is a bug in git, at least as of 1.6.5.7, in
>> the gc command.
>> When gc.auto is non-zero, it appears to consider packfiles as "loose"
>> - this conflicts with pack.packSizeLimit, insofar as I have
>> pack.packSizeLimit set to 2M (which appears to work).  If gc.auto is,
>> say, 50 - once I exceed 50 2MB packs then gc --auto repacks *every
>> single time* it is run. This is unexpected, at least.
>
> There is also a gc.autopacklimit which controls auto-gc'ing based on
> the number of packs.  The default is 50 and it does not consider the
> pack.packSizeLimit setting when deciding whether or not to auto-gc.
> It can be raised, or it can be disabled by setting it to zero.
I disabled it entirely and that seemed to resolve the issue.  Thanks!
-- 
Jon

← back to recent threads