Re: Trying to use git-filter-branch to compress history by removing large, obsolete binary files
- From
Sam Vilain <sam@vilain.net>
- Date
- Oct 8, 2007, 02:28 UTC
- Message-ID
- <470995C7.40606@vilain.net>
- In-Reply-To
- <51419b2c0710071747w14d0c265x2de42fca50552394@mail.gmail.com>
Elijah Newren wrote:
Show 8 quoted lines
> On 10/7/07, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote: >> It should be as easy as git filter-branch and git clone. > > Yes, a git filter-branch, git clone, AND git gc in the clone avoids > all those funny ref editing commands. However, cloning a 5.6GB repo > (the size of one of the real repos I'm dealing with) will likely take > a long time (and may push me past the limits of disk space), so using > other steps to avoid the need to clone actually seems nicer.
You can just delete the logs and references that you don't want and run git gc --prune.
However.
git gc creates a new pack before deleting the old one. Garbage collection usually does this; make a copy of everything to a new place and then free all of the old space. If *that* is a problem, ie you don't have enough space for two copies of the repository and the junk, you'll have to do a partial import, leave the junk you don't want unpacked, cleanup and prune, then finish the import. Which sounds like a lot of hassle when you should really just find a place with more space to work with!
Sam.