Huge manifest when converting the FreeBSD cvs repository

Michael Haggerty mhagger at alum.mit.edu
Sun Sep 2 07:37:03 CDT 2007


Ulrich Spoerlein wrote:
> I used corecode's fromcvs to convert the FreeBSD src and ports
> repositories from CVS to hg. The src repo contains lots of branches,
> which seem to pose problems for the conversion process.
> 
> Interessted developers can take a look at the files under
> http://www.spoerlein.net/pub/
> 
> I can also make the real repository available. But due to bandwidth
> limits, please only download those files if you are really interessted
> in fixing the problem.
> 
> Let me know if I should run further tests!

I suggest experimenting with cvs2svn for this conversion:

    http://cvs2svn.tigris.org/

I am the main cvs2svn maintainer.  I recently added code to allow
cvs2svn to output directly to git.  It only took a day or two of
programming to get it to output data that can be read by the
git-fast-import tool (see git-output-option.py in the cvs2svn project).
 I naively imagine that it should be pretty easy to add hg output as
well (especially now that git output has been implemented).

cvs2svn was originally intended to convert to Subversion, but most of
the code in that project is devoted to dealing with CVS's many
peculiarities and creating sensible and self-consistent changesets.
It's not the fastest program in the world, but it can handle just about
every CVS repository we've ever seen.

If there is a good git-to-hg converter, the fastest way to test
cvs2svn's quality of conversion would be to use cvs2svn to convert to
git then the other tool to convert from git to hg.  (The conversion from
git to hg should be much more straightforward since the two project's
data models are so similar.)

Let me know if you want any help with this.

Michael


More information about the Mercurial mailing list