git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Performance issue exposed by git-filter-branch

From
Jakub Narebski <jnareb@gmail.com>
Date
Dec 17, 2010, 02:51 UTC
Message-ID
<m3lj4sll39.fsf@localhost.localdomain>
In-Reply-To
<9A686258-A504-4CBB-9993-048B45B5EE6A@irridia.com>
Please do not toppost.
Ken Brownfield <krb@irridia.com> writes:
Show 6 quoted lines
> 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
Previous: Ken BrownfieldNext: Ken Brownfield
Message 8 of 15 in “Performance issue exposed by git-filter-branch”
  1. Ken BrownfieldDec 17, 2010
  2. Jonathan NiederDec 17, 2010
  3. Ken BrownfieldDec 17, 2010
  4. Jonathan NiederDec 17, 2010
  5. Jonathan NiederDec 17, 2010
  6. Thomas RastDec 17, 2010
  7. Ken BrownfieldDec 17, 2010
  8. Jakub NarebskiDec 17, 2010
  9. Ken BrownfieldDec 21, 2010
  10. Jonathan NiederDec 17, 2010
  11. Elijah NewrenDec 17, 2010
  12. Ken BrownfieldFeb 4, 2011
  13. Elijah NewrenFeb 5, 2011
  14. Nguyen Thai Ngoc DuyDec 17, 2010
  15. Ken BrownfieldDec 21, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.