CVS migration help
Michael Haggerty
mhagger at alum.mit.edu
Tue Oct 7 11:41:32 BST 2008
Jelmer Vernooij wrote:
> Am Dienstag, den 07.10.2008, 00:01 +0200 schrieb Thomas Manson:
>> I've look to it... but didn't tryed yet...
>>
>> It really misses straightforward howto (for all tools except bzr
>> cvsimport)
> cvsps-import should be the best solution here, we should just fixing
> that imho. What's blocking you from using it?
No conversion tool that is based on cvsps will be able to do a truly
reliable job of migrating from CVS. cvsps, which was written for
another purpose, simply is not robust enough and does not emit enough
information for a complete conversion. I gave many concrete examples of
its shortcomings on the Mercurial mailing list [1].
Deducing a project's history from CVS's incomplete records is a very
tricky thing; cvs2svn's feature list [2] will give you an idea of the
kinds of things an industrial-strength converter needs to handle.
cvs2svn deduces the CVS changesets itself, using a much more robust
algorithm than that used by cvsps. (The main disadvantage of cvs2svn is
that it can only be used for one-time conversions, not for tracking a
live CVS repository incrementally.)
cvs2svn/cvs2git can create output in git-fast-import format [3], which
should also be readable by the bzr fast-import tool. It hasn't gotten
much testing in "cvs2bzr" mode, but given that 90% of the job is
inferring CVS's history, it should not be too much work to fix any
problems in the "2bzr" part. Therefore, any feedback would be much
appreciated.
(By the way, if you want to use cvs2svn to convert to bzr, I suggest
that you use the trunk version of cvs2svn, which has several
improvements compared to release 2.1.1.)
Michael
[1] http://selenic.com/pipermail/mercurial-devel/2008-February/004975.html
[2] http://cvs2svn.tigris.org/features.html
[3] http://cvs2svn.tigris.org/cvs2git.html
More information about the bazaar
mailing list