[https://gitlab.com/esr/reposurgeon Reposurgeon] is a tool by Eric Raymond that is for editing version-control repositories. It can be used to migrate from one system to another; like [[Git/migrating_to_git|migrating from Subversion to Git]]. A lot of large software projects <ref>e.g. [http://wiki.blender.org/index.php/Dev:Ref/Proposals/MigrationToGit Blender], [https://wiki.mozilla.org/ReleaseEngineering/How_To/VCSSync Mozilla], [http://esr.ibiblio.org/?p=4071 Network UPS Tools] </ref>have migrated from Subversion to Git, and reposurgeon is one of the few tools that can actually accomplish large migrations.
[https://git.wiki.kernel.org/index.php/InterfacesFrontendsAndTools#Interaction_with_other_Revision_Control_Systems There are many other tools] for importing and even bi-directional interfaces between repositories. However, reposurgeon is probably the best tool for doing large complex migrations.
[http://esr.ibiblio.org/?p=4071 From January 2012]:
See below for a description of the <code>git filter-branch</code> command
== Examples ==
* http://blog.runtux.com/2014/04/18/233/
* https://github.com/cmusatyalab/coda-git-conversion/blob/master/lwp.lift
== Re-writing history ==