CVS Conversion to Hg

Giorgos Keramidas keramida at
Mon Mar 10 16:49:26 CDT 2008

On 2008-03-10 15:53, Martin Gadbois <martin.gadbois at> wrote:
> Matt Mackall wrote:
> > What you need to do is use CVS modules configuration to pull all those
> > parts into one CVS checkout workspace and convert that. Don't ask me how
> > to do that though, I've suppressed those memories.
> I've tried to do change the CVS "CVSROOT/modules" file to contain all
> the sub-projects:
> top &proj1 &proj2 &proj3 ...
> "cvs get top" recovers all the proj* modules under "top", but when I do
> "hg convert top", it only converts  module "proj1".
> I have not tried with other converters.
> Is that the method you kinda remembered?

If your CVS repository is not prohibitively large, you can manually
'create' a module, by repo-surgery in a copy of the entire repository.

For example, if your original CVS repository is `/cvsroot' you can use a
copy from `/var/tmp/cvsroot', like this:

    mkdir -p /var/tmp/cvsroot
    cd /cvsroot
    find . | cpio -p -dmu /var/tmp/cvsroot

    # Now manually move everything to a module called `foobar'
    cd /var/tmp/cvsroot
    mkdir foobar
    mv proj1 proj2 proj3 ... projN \

More information about the Mercurial mailing list