Status of the mtn to hg migration

John Bailey rekkanoryo at
Thu Mar 24 20:39:02 EDT 2011

Hey guys,

I thought it was about time to post an update on the status of the migration
from monotone to mercurial.

Any files referenced below are located in this mercurial repository:

Richard and Felipe have been working on identifying patch authors and correctly
mapping their entries in the mtn history to better-looking entries for hg.
There are currently 295 authors whose entries need to be properly mapped.
Related to this, we will have numerous additions (I'd say a minimum of 300) to
our COPYRIGHT file when we're nearer to being able to convert.  The authors that
need to be mapped are in the file authormap.TODO.  Assistance is welcome.

Richard identified 50 revisions in the mtn history with broken or invalid UTF-8
in their changelogs.  One of those revisions was the one I already knew about
which caused hg convert to abort.  The remaining 49 revisions came to mtn from
our ancient cvs history by way of svn and tailor.  In cvs, the log entries were
correct with no broken UTF-8.  When we converted to Sourceforge's svn, however,
the migration tool screwed these revisions up.  Tailor happily passed the busted
changelogs onto mtn, which happily accepted it.  Coincidentally, hg convert also
didn't have a problem with these reivsions.  It turns out that although the
changelogs were clearly wrong, and thus broken, they were still technically
valid UTF-8.  The migration scripts now strip these bad changelog certs and
apply new, corrected changelog certs to the mtn database prior to running hg

With Richard's assistance, I identified a number of revisions with multiple
changelog certs.  In order to prevent data loss during the conversion, I have
reviewed every one of these revisions and made the appropriate adjustments to
the conversion scripts to ensure each revision has precisely one changelog (hg
convert will use the first cert returned from the mtn automate call and ignore
additional values).

In my eyes, the most important remaining tasks are:
  * Finish the authormap.TODO mapping as discussed above
  * Identify patch writers on our native (i.e. post-svn) mtn history--we have
reivisions on which the committers didn't use the --author argument to 'mtn commit'
  * Review the branchmap and make appropriate changes
    * Personal branches:
      * Leave them in the main repo or split them into separate repos?
      * What about naming?  Richard doesn't like cpw prefixes, as it's messy
when people get promoted to developer.

All remaining tasks are discussed here:

Please provide any assistance or discussion you can!


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the Devel mailing list