# Possible git bug when using filter-branch to remove large binaries

2 messages from 2009-02-15 to 2009-02-15. Participants: Juan Zanos, Thomas Rast.
Thread: https://gitlist.dev/t/17808

## Juan Zanos, 2009-02-15 21:35

Subject: Possible git bug when using filter-branch to remove large binaries
Message-ID: <34854909-55F5-4869-A7A6-0E179F2F7A44@talkhouse.com>
URL: https://gitlist.dev/e/34854909-55F5-4869-A7A6-0E179F2F7A44%40talkhouse.com

```
Hi Vger,

I'm trying to remove a directory of large binaries from a git  
repository    There is a directory of 85M in a git repository of  
92M.  So the binaries are relatively massive and should never have  
been checked in in the first place.  I've tried to use filter-branch  
to permanently remove those binaries.  The directory successfully  
vanishes. However, the repository + working directory only goes from  
216M down to 133M.   That means the binaries were only removed from  
the working directory.   The repository remains bloated.   I've tried  
a handful of magic incantations using commands such as gc, prune,  
reflog expire --all, etc..  None of these have  worked.   In fact,  
after cloning the 133M (repo + working) and running gc the directory  
actually increased in size from 133M to 290M!

I'm not really sure I understand what's  going on here.   It  sounds  
like the growth to 290M  is a  bug.  If so I'm  happy to provide the  
repo as a test case as well as the exact commands I use.  On the  
other hand, I'm finding that the git API is  complex enough that I   
could easily be doing something wrong or missing some command.   In  
that case is there a simple set of commands I could use to remove a  
directory of really large binaries that never should  have been  
checked in in the first place and reclaim the space ?  I've checked  
pretty thoroughly on Google to find people who have successfully done  
this, but it seems mostly people have failed to actually reclaim space.

Cheers,
Juan

```

## Thomas Rast, 2009-02-15 21:55

Subject: Re: Possible git bug when using filter-branch to remove large binaries
Message-ID: <200902152255.05655.trast@student.ethz.ch>
URL: https://gitlist.dev/e/200902152255.05655.trast%40student.ethz.ch
In-Reply-To: <34854909-55F5-4869-A7A6-0E179F2F7A44@talkhouse.com>

```
Juan Zanos wrote:
> I'm trying to remove a directory of large binaries from a git  
> repository
[...]
> The directory successfully  
> vanishes. However, the repository + working directory only goes from  
> 216M down to 133M.   That means the binaries were only removed from  
> the working directory.

We're in fact trying to make a generic recipe and put it in 'man
git-filter-branch'.  The preliminary patch is here:

  http://article.gmane.org/gmane.comp.version-control.git/109925/

Once you convince your eyes to ignore the leading +, it should be
fairly easy to read in patch form. ;-)

It would be very helpful if you could try the recipe, and report if it
worked.

-- 
Thomas Rast
trast@{inf,student}.ethz.ch

```
