Improved conversion from cvs => bzr

Robert Collins robertc at robertcollins.net
Mon Sep 4 04:13:32 BST 2006


On Sun, 2006-09-03 at 13:47 -0500, John Arbash Meinel wrote:
> I had an idea about how the conversion process could be changed to make
> it faster.
> 
> Basically, the idea is that in a cvs => bzr conversion, you first read
> the rlog, and you parse that so that you get all the revisions you want
> to generate, similar to how tailor does it (and I assume cscvs does it),
> only you actually assign the final revision id for every changeset.

This is the basic approach used by my mercurial plugin.

The key things in the CVS case are:

 * to generate the per file graph you need the revision ids for the
commits that will be occuring.
 * to generate the commits that are needed you need the rlog data for
all the files to synthesis changesets [including breaking loops and
enforcing monotonic increases of revids while grouping by timestamp etc]

So you have to generate all the rlogs first. Then you can turn those
into inventories, then you can do each files data straight into a knit,
and finally write the inventories then write the revisions.

Rob [ who has done this a few too many times now ]

-- 
GPG key available at: <http://www.robertcollins.net/keys.txt>.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 191 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20060904/3236e8ea/attachment.pgp 


More information about the bazaar mailing list