A tool for editing version-control repository history.

reposurgeon enables risky operations that version-control systems don't want to let you do, such as editing past comments and metadata and removing commits. It works with any version control system that can export and import git fast-import streams, including git, hg, fossil, bzr, CVS, RCS, bk, and src. It can also read Subversion dump files directly and can thus be used to script production of very high-quality conversions from Subversion to any supported DVCS.


reposurgeon-3.42.tar.xzcompressed source tarball
TODOto-do file
NEWSproject news
reposurgeon-3.42.md5source tarball MD5 checksum
COPYINGproject license
features.htmlHow reposurgeon wins
dvcs-migration-guide.htmlDVCS migration HOWTO
repomapper.htmlHTML rendering of repomapper.1
repodiffer.htmlHTML rendering of repodiffer.1
repocutter.htmlHTML rendering of repocutter.1
reporting-bugs.htmlHow to report bugs
reposurgeon.htmlHTML rendering of reposurgeon.1
repotool.htmlHTML rendering of repotool.1

The project repository is at

Project statistics are available at OpenHub.

There is a project IRC channel.

If you appreciate this code (and especially if you make money by using it) please support me on Patreon.

Recent Changes

3.42: 2017-03-06:
     Read/write support for BitKeeper (but BitKeeper's importer is flaky).


This work is funded by...

My Bronze supporters on Patreon: Martin Hohenberg, Jerod Tufte, Jae Yang, Daniel Garber, Kyle Burkholder, Josh Stegmaier, Mike Nichols, Donald Greer, Mark Ping, John D. Bell, Tom Taylor, Arnold F. Williams, George Brower, Michael Nygard, Brendan Long, Aaron deBruyn, Sven Dowideit, Dave Witten, Jolyon Ansuz, Jonathan Cast, James Cronin, David L. Jessup, Christopher Chang, Jacob Lyles, Neil Anuskiewicz, Mordant, Clemens Ladisch, Jason Azze, Wojciech Woytniak.