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

Re: Large number of object files

From
Jeff King <peff@peff.net>
Date
Oct 24, 2012, 07:11 UTC
Message-ID
<20121024071109.GB29403@sigill.intra.peff.net>
In-Reply-To
<CACsJy8CcMBJLV=urVoWOQABQzQkC6y35spPF+_3fW6dtJjHtvg@mail.gmail.com>
On Wed, Oct 24, 2012 at 01:59:16PM +0700, Nguyen Thai Ngoc Duy wrote:
Show 8 quoted lines
> On Wed, Oct 24, 2012 at 12:21 PM, Uri Moszkowicz <uri@4refs.com> wrote:
> > Continuing to work on improving clone times, using "git gc
> > --aggressive" has resulted in a large number of tags combining into a
> > single file but now I have a large number of files in the objects
> > directory - 131k for a ~2.7GB repository.
> 
> Can you paste "git count-objects -v"? I'm curious why gc keeps so many
> loose objects around.

Presumably ejected from the pack because they are now unreachable. That's a rather large number, but if there was recent ref maintenance (e.g., deleting branches or tags), it is not impossible.

Show 5 quoted lines
> > Any way to reduce the number of these files to speed up clones?
> 
> An easy way to get rid of them is to clone the non-local way.
> Everything will be sent over a pack, the result would be a single pack
> in new repo. Try "git clone file:///path/to/source/repo new-repo".

If you have git v1.7.12 or greater, you can also use the "--no-local" option to clone. But as you mentioned, pruning is probably the most sensible thing (and for a non-local clone, those objects should not impact performance at all, as we will never even look at unreferenced objects).

-Peff
Previous: Nguyen Thai Ngoc Duy
Message 3 of 3 in “Large number of object files”
  1. Uri MoszkowiczOct 24, 2012
  2. Nguyen Thai Ngoc DuyOct 24, 2012
  3. Jeff KingOct 24, 2012

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.