Subject: Re: Truncating and cleaning a imported git repositary to make it more usable

From: Johannes Sixt <[email-masked]>
Date: Fri, 28 Mar 2008 17:43:58 +0100

Alex Bennee schrieb:
> On Fri, Mar 28, 2008 at 3:52 PM, Alex Bennee <[email-masked]> wrote:
> 
>>  ajb@pitcairn:/export/git/fresh.git$ git-filter-branch --tree-filter
>>  'rm -rf big_dira big_dirb' dev-branch
>>  warning: refname 'dev-branch' is ambiguous.
>>  Which ref do you want to rewrite?
> 
> Ignore me. Not sure why but:
> 
> git-checkout dev-branch
> git-filter-branch --tree-filter  'rm -rf big_dira big_dirb' HEAD

You really shouldn't do it this way, unless you do it on a ramdisk. Better
use an --index-filter. This is modeled after the last example in the man
page (and, of course, untested):

git filter-branch --index-filter \
        'git ls-files -s |
	 grep -v "	big_dira" |
	 grep -v "	big_dirb" |
                GIT_INDEX_FILE=$GIT_INDEX_FILE.new \
                        git update-index --index-info &&
         mv $GIT_INDEX_FILE.new $GIT_INDEX_FILE' HEAD

where the space before big_dir is actually a literal TAB!

-- Hannes