This does pretty much exactly what I want (and a lot more), but reposurgeon is now over three days into reading the fast-export stream at 100% CPU. My guess is that it's about 30% done.
It does look like a great tool for smaller repositories.
Thanks for the suggestion, though! It looks like git_fast_filter is my next stop.
Ken
On Dec 16, 2010, at 6:51 PM, Jakub Narebski wrote:
Show 34 quoted lines
> Please do not toppost.
>
> Ken Brownfield <krb@irridia.com> 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
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html