Differences between revisions 8 and 33 (spanning 25 versions)
Revision 8 as of 2005-08-26 01:36:59
Size: 2213
Editor: waste
Comment:
Revision 33 as of 2009-05-19 19:31:05
Size: 32
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== Converting from other SCM formats to Mercurial ==

See http://www.darcs.net/DarcsWiki/Tailor for a tool that handles several popular formats.

=== Example Tailor conversion from CVS ===

Things to know:
 * {{{-D}}} turns on debugging mode, printing each executed command. Good way to understand what Tailor is doing
 * {{{-v}}} verbose, echo the changelogs as well as the commmands being run (convenient for understanding progress)

{{{
 mkdir /path/to/hg/repo
 cd /path/to/hg/repo
 tailor.py -D -v --source-kind cvs --target-kind hg --bootstrap --repository $REP --module MODULENAME -r INITIAL
 tailor.py -D -v
}}}
When this is done, you should have a working Mercurial repository that matches the trunk of the CVS archive you have been using. The {{{--repository}}} option gets passed to CVS via the {{{-d}}} option, so anything that works for {{{$CVSROOT}}} will for for {{{--repository}}}.

Be aware that the last stage of this script will take a long time to run. Also, local access to the CVS repository instead of remote access may make it significantly faster.

==== Tailor 1.0

Hopefully latest tailor is much more easy to understand. See http://nautilus.homeip.net/~lele/projects/tailor/README.html#config-file-format where the second example shows a configuration sample involving CVS and Mercurial respectively as source and target backends. See also http://www.darcs.net/DarcsWiki/Tailor/VersionOne for a trace back of the changes.

=== From Arch 1.x/baz 1.5 to Mercurial ===

SamTardieu wrote a script to convert from Arch 1.0 archive format and I
enhanced it to write full changelog instead of just the summary. You can
find it on http://archives.keltia.net/hg/hg-convert. You need baz 1.5 because
the option to get the full changelog is different in 1.4 and more important, the format of the changelog is different. -- OllivierRobert

=== Other options ===

Also take a look at {{{contrib/convert-repo}}}. This is an extensible
framework for converting between repository types that is currently used for git to Mercurial conversion.



/hg.py there seems to not use hg addremove/ -- DanConnolly
/it seems to now as of 2005.8.17/ -- MichaelKJohnson
#redirect RepositoryConversion

ConvertingRepositories (last edited 2009-05-19 19:31:05 by localhost)