Subject: Re: Performance issue exposed by git-filter-branch

From: Jakub Narebski <[email-masked]>
Date: Thu, 16 Dec 2010 18:51:32 -0800 (PST)

Please do not toppost.

Ken Brownfield <[email-masked]> writes:

> I had considered this approach (and the one mentioned by Jonathan)
> but there are no git tools to actually perform the filter I wanted
> on the export in this form.  I could (and will) parse fast-export
> and make an attempt a filtering files/directories... my concern is
> that I won't do it right, and will introduce subtle corruption.  But
> if there's no existing tool, I'll take a crack at it. :-)

You can try ESR's reposurgeon:

  http://www.catb.org/~esr/reposurgeon/

It's limitation is that it loads structure of DAG of revisions (but
not blobs i.e. contents of file) to memory.  IIRC.  It is not
streaming, but "DOM" based, otherwise some commands would not work.

By the way, git-filter-branch documentation recomments to use
index-filter with git-update-index instead of tree-filter with git-rm,
and if tree-filter is needed, to use some fast filesystem, e.g. RAM
one.

But probably you know all that.
-- 
Jakub Narebski
Poland
ShadeHawk on #git