Subject: Re: Leaving large binaries out of the packfile

From: "Shawn O. Pearce" <[email-masked]>
Date: Thu, 10 Jun 2010 11:04:57 -0700

Joshua Jensen <[email-masked]> wrote:
> Sometimes, 'git gc' runs out of memory.  I have to discover which file  
> is causing the problem, so I can add it to .gitattributes with a  
> '-delta' flag.  Mostly, though, the repacking takes forever, and I dread  
> running the operation.

If you have the list of big objects, you can put them into their
own pack file manually.  Feed their SHA-1 names on stdin to git
pack-objects, and save the resulting pack under .git/objects/pack.

Assuming the pack was called pack-DEADC0FFEE.pack, create a file
called pack-DEADC0FFEE.keep in the same directory.  This will stop
Git from trying to repack the contents of that pack file.

Now run `git gc` to remove those huge objects from the pack file
that contains all of the other stuff.

-- 
Shawn.