Re: Truncating and cleaning a imported git repositary to make it more usable
- From
Johannes Sixt <j.sixt@viscovery.net>
- Date
- Mar 28, 2008, 16:43 UTC
- Message-ID
- <47ED204E.3020602@viscovery.net>
- In-Reply-To
- <b2cdc9f30803280903w4a6e3a6l9e33fd188af9995a@mail.gmail.com>
Alex Bennee schrieb:
Show 11 quoted lines
> On Fri, Mar 28, 2008 at 3:52 PM, Alex Bennee <kernel-hacker@bennee.com> 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' HEADwhere the space before big_dir is actually a literal TAB!
-- Hannes