A tool by Eric S. Raymond for surgical operations on repositories during conversion
A tool by Eric S. Raymond for surgical operations on various types of repositories during conversion from one into another or automated synchronization between two formats.
It uses the git-fast-export
format that is understood by or for which tools are available in most modern distributed version control systems (DVCS) as an intermediate format common to all the target version control systems.
The tool is able to read Subversion dumps natively and uses cvs-fast-export
by the same author for CVS and RCS interoperability. It is written in Python and can be sped up by running it via PyPy.
The accompanying tool repopuller
is a frontend to cvs-fast-export
and svnsync
respectively and can be used do incremental updates to the mirror of a source repository.
The tool is able to manipulate the relationship between commits as well as other meta-data such as author, tag and branch. It can synthesize branches, tags, merges and also remove them both interactively and via a script.
See the official page for more info and follow the DVCS migration HOWTO for migrations from Subversion or CVS to Bazaar, Git or Mercurial.
Interoperability as of version 3:
- Git
- Mercurial (hg)
- Bazaar (bzr)
- Darcs
- Subversion (svn)
- CVS
- RCS