Differences between revisions 1 and 4 (spanning 3 versions)
Revision 1 as of 2005-08-26 00:58:25
Size: 2201
Editor: waste
Comment:
Revision 4 as of 2005-08-26 01:22:57
Size: 2221
Editor: waste
Comment:
Deletions are marked like this. Additions are marked like this.
Line 8: Line 8:
 * ''-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)
   * * {{{-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)
Line 17: Line 17:

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''.
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}}}.
Line 35: Line 34:
Also take a look at ''contrib/convert-repo''. This is an extensible Also take a look at {{{contrib/convert-repo}}}. This is an extensible

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)