Re: Why repository grows after "git gc"? / Purpose of *.keep files?
- From
Nicolas Pitre <nico@cam.org>
- Date
- May 14, 2008, 14:24 UTC
- Message-ID
- <alpine.LFD.1.10.0805141017210.23581@xanadu.home>
- In-Reply-To
- <18474.44155.823000.368851@lapjr.intranet.kiel.bmiag.de>
On Wed, 14 May 2008, Juergen Ruehle wrote:
Show 8 quoted lines
> Junio C Hamano writes: > > The output from rev-list is not surprising. --unpacked=$this.pack implies > > the usual --unpacked behaviour (i.e. only show unpacked objects by not > > traversing into commits that are packed) > > The problem is unconditional traversing into commits that are > unpacked. This behavior is immediately obvious if the packed blob in > the .keep pack is large.
That's what I was suspecting too. And because the Linux repo contains many files, then a single commit will fetch a large bunch of objects indeed.
> I've been using the following since the large > object discussion with Dana, but it might be completely broken (though > the test case is probably correct).
This is not some part of git code I'm familiar with, so I can't tell if the patch is broken or not. What I can do is repeat my simple test which produces the following results with your patch:
|$ git rev-list --objects 492c2e4..9404ef0 |362 | |$ git rev-list --objects --all \ | --unpacked=pack-6a3438b2702be06697023d80b77e67a73a0b0b5c.pack | | wc -l |362
That's exactly what is expected.
Nicolas