Differences between revisions 1 and 2
Revision 1 as of 2005-08-26 00:58:25
Size: 2201
Editor: waste
Comment:
Revision 2 as of 2005-08-26 01:05:29
Size: 2219
Editor: waste
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
See http://www.darcs.net/DarcsWiki/Tailor for a tool that handles several popular formats. See http:/''www.darcs.net''DarcsWiki/Tailor for a tool that handles several popular formats.
Line 24: Line 24:
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. 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.
Line 30: Line 30:
find it on http://archives.keltia.net/hg/hg-convert. You need baz 1.5 because find it on http:/''archives.keltia.net''hg/hg-convert. You need baz 1.5 because
Line 40: Line 40:
/hg.py there seems to not use hg addremove/ -- DanConnolly
/it seems to now as of 2005.8.17/ -- MichaelKJohnson
''hg.py there seems to not use hg addremove'' -- DanConnolly
''it seems to now as of 2005.8.17'' -- MichaelKJohnson

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

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