Re: Performance issue exposed by git-filter-branch

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Dec 16, 2010 at 8:08 PM, Jonathan Nieder <jrnieder@xxxxxxxxx> wrote:
> Ken Brownfield wrote:
>
>> 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.
>
> Keep in mind that the two suggestions were subtly different from one
> another.
>
> For the "filter fast-import stream" technique, apparently there is a
> tool called reposurgeon[1] to do that. Âgit_fast_filter[2] has the
> same purpose, too, if I remember correctly.

Yes, git_fast_filter was written precisely because git-filter-branch
took waaaaaay too long.  IIRC, git-filter-branch would have taken
about 2-3 months for our use case (there's no way we could have shut
down the repositories for that long), whereas git_fast_filter (serving
along with fast-export and fast-import) allowed us to drop that to
about an hour (we couldn't use --index-filter with filter-branch as we
needed to do a number of operations on the actual file contents as
well).

All git_fast_filter really does is parse the fast-export output into
some basic python data structures, making it easy for you to modify
those structures as necessary (assuming basic python skills, though if
you only need to do what one of the examples shows then you could even
get away without that), and then pipes the results back out in the
format fast-import expects.  It has a few examples with it; removing
existing files is one of the simple examples.

I haven't really bothered keeping the public repository up-to-date
since there hasn't been any prior external interest in it, but we
haven't modified it much internally either, and most of those
modifications are likely for niche stuff that you wouldn't need.

Elijah
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]