git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: git gc expanding packed data?

From
Nicolas Pitre <nico@cam.org>
Date
Aug 11, 2009, 21:33 UTC
Message-ID
<alpine.LFD.2.00.0908111718490.10633@xanadu.home>
In-Reply-To
<3ace41890908110317k6e6ada07jc39ea446f9fa246e@mail.gmail.com>
On Tue, 11 Aug 2009, Hin-Tak Leung wrote:
Show 29 quoted lines
> On Wed, Aug 5, 2009 at 11:39 PM, Nicolas Pitre<nico@cam.org> wrote:
> > Anyway... To solve your problem, you simply need to run 'git gc' with
> > the --prune=now argument to disable that grace period and get rid of
> > those unreferenced objects right away (safe only if no other git
> > activities are taking place at the same time which should be easy to
> > ensure on a workstation).  The resulting .git/objects directory size
> > will shrink to about 441 MB.  If the gcc.gnu.org git server was doing
> > its job properly, the size of the clone transfer would also be
> > significantly smaller, meaning around 414 MB instead of the current 600+
> > MB.
> >
> > And BTW, using 'git gc --aggressive' with a later git version (or
> > 'git repack -a -f -d --window=250 --depth=250') gives me a .git/objects
> > directory size of 310 MB, meaning that the actual repository with all
> > the trunk history is _smaller_ than the actual source checkout.  If that
> > repository was properly repacked on the server, the clone data transfer
> > would be 283 MB.  This is less than half the current clone transfer
> > size.
> >
> >
> > Nicolas
> >
> 
> 'git gc --prune=now' does work, but 'git gc --prune=now --aggressive'
> (before) and 'git gc --aggressive' (after) both create very large
> (>2GB; I stopped it) packs from the ~400MB-600MB packed objects. I
> noted that you specifically wrote 'with a later git version' -
> presumably there is a some sort of a known and fixed issue there? Just
> curious.
>From git v1.6.3 the --aggressive switch makes for 'git repack' to be 
called with --window=250 --depth=250, meaning the equivalent of:
	git repack -a -d -f --window=250 --depth=250
Do you still get a huge pack with the above?
> I guess --aggressive doesn't always save space...
If so that is (and was) a bug.
Nicolas
Previous: Hin-Tak LeungNext: Hin-Tak Leung
Message 4 of 7 in “git gc expanding packed data?”
  1. Hin-Tak LeungAug 4, 2009
  2. Nicolas PitreAug 5, 2009
  3. Hin-Tak LeungAug 11, 2009
  4. Nicolas PitreAug 11, 2009
  5. Hin-Tak LeungAug 12, 2009
  6. Nicolas PitreAug 12, 2009
  7. Hin-Tak LeungAug 13, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.