Reposurgeon Battles All Monsters!

Though there haven’t been any huge dramatic improvements since Subversion analysis got good enough to use even on horribly gnarly repositories, reposurgeon continues to quietly get better and faster. I shipped 2.43 a few minutes ago.

Credit for much of the recent under-the-hood work goes to Julien Rivaud. He’s been continuing to speed-tune the code in support of the conversion of the huge and tangled Blender repository, which finally finished last week. His latest improvement speeds up the evaluation of selection expressions by short-circuiting logical operations as they’re evaluated left to right.

Meanwhile, I’ve been adding some user-visible features as the need for them becomes apparent in doing conversions. Currently I’m in the process of lifting the history of groff from CVS to git – a surprisingly easy one, considering the source.

Recent new primitives include: =O, =M, =F selectors for parentless, merge, and fork commits; a svn_noautoignoresioption to suppress the normal simulation of default Subversion ignores in a translated repo; a ‘manifest’ command that reports path-to-mark mappings; a ‘tagify’ commant that changes empty commits into tags; and a ‘reparent’ command for modifying ancestry links in the DAG.

Fear the reposturgeon!

1 comment

  1. Shouldn’t that be “Reposturgeon Battles All Monsters!”?

    The primitives sound cool and I hope I run across a reason to use them in the future :)

Leave a Reply to Mike Swanson Cancel reply

Your email address will not be published. Required fields are marked *