Size: 3559
Comment:
|
Size: 3815
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 10: | Line 10: |
== Bitkeeper == Because of the threatening behavior of Bitmover, no Bitkeeper conversion tools have been made publically available. See GenericConversion for details on building your own repository conversion tool. |
|
Line 35: | Line 30: |
== SVN == | == Subversion == The development version of Mercurial includes a version of the convert extension that can import Subversion trees. It uses the Subversion API, so it can speak any Subversion repository access protocol. This support is under active development. |
Line 58: | Line 55: |
== Bitkeeper == Because of the threatening behavior of Bitmover, no Bitkeeper conversion tools have been made publically available. See GenericConversion for details on building your own repository conversion tool. |
Arch / TLA / Baz 1.5
Tools for Arch conversion can be found at ArchConversion.
Bazaar?
- ["Tailor"] - a generic conversion tool.
CVS
Multiple convertors exist for converting from CVS to Mercurial:
- ["convert-repo"] - the development version of Mercurial includes a CVS converter
- ["Tailor"] - a generic conversion tool
- ["fromcvs"] - a fast, incremental CVS to Mercurial converter
[http://hg.beekhof.net/hg/cvs-import hg-cvs-import] (need info)
Darcs
A sample Darcs conversion script is available in the contrib/ directory of the Mercurial source.
For a more accurate conversion, which preserves Darcs information on renames and some information on tags, use ["Tailor"].
Git
See GitConversion (incremental).
Subversion
The development version of Mercurial includes a version of the convert extension that can import Subversion trees. It uses the Subversion API, so it can speak any Subversion repository access protocol. This support is under active development.
Converters that work on local repositories or data (faster, if this is an option for you):
http://hg.omnifarious.org/~hopper/svn2hg - requires python2.5 and is very rough, lacking in documentation or any UI niceties at all to speak of.
Converters that work on remote repositories:
http://ajayu.memi.umss.edu.bo/viborita/weblog/svn2hg.py-convertir-repositorio-subversion-mercurial - simple script that downloads every rev info from svn server. Works on subdirectories of the repo. Handles branches, tags, etc. inefficiently (does not tell hg that they are different from any other diff). Requires pysvn, mercurial source. Use the download link, not copy&paste.
[http://hg.rosdahl.net/yasvn2hg yasvn2hg] - yet another SVN to HG converter. Handles branches, tags and file copies/renames. Calls the svn client for each changeset, so it's not very fast. Converts whole repository only. Direct links: [http://hg.rosdahl.net/yasvn2hg/raw-file/tip/yasvn2hg yasvn2hg program], [http://hg.rosdahl.net/yasvn2hg/raw-file/tip/README README file].
[http://dingoskidneys.com/cgi-bin/hgwebdir.cgi/queue-convert-svn/] - Patch queue against Mercurial. Patches create a convert-repo hacked to support SVN as a source. Uses the SVN API, not SVN command line + subprocess.
Syncing tools:
[http://cheeseshop.python.org/pypi/hgsvn hgsvn] allows you to work on SVN checkouts using Mercurial (mirroring all SVN history in a local Mercurial repository on which you can also do local development). It is useful for managing private branches, submitting patches to project maintainers, have fast local operations instead of slow remote "svn up/log/blame", etc. Also useful as "one-shot" conversion tool if you just remove all the svn directories ("find . -name '.svn' |xargs rm -r") afterwards.
SubversionToMercurialSync (like hgsvn, but more primitive)
Perforce
[http://hg.omnifarious.org/~hopper/p4_to_hg p4_to_hg]
This utility can actually keep two repositories in sync.
Currently, it's slapped together and built to serve my particular needs, but it could probably be modified into something more general. It currently makes no attempt to do anything with Perforce's ability to track branches or the movement of changesets from branch to branch. -- EricHopper 2005-09-27 06:31:03
Bitkeeper
Because of the threatening behavior of Bitmover, no Bitkeeper conversion tools have been made publically available. See GenericConversion for details on building your own repository conversion tool.
Other systems
["Tailor"] is a conversion tool that can do simple conversions from a variety of systems. See GenericConversion for details on building your own repository conversion tool.