cvs2hg problem with CVS vendor branch (was Re: cvsps wrapper script)

Greg Ward greg-hg at gerg.ca
Mon Oct 5 14:52:53 CDT 2009


On Mon, Oct 5, 2009 at 1:01 PM, John Hein <jhein at timing.com> wrote:
> I tried to split the cvs repository into pieces and try using --existing-hgrepos
> to build up the hg repo in multiple conversions with cvs2hg.  It's not clear
> how well this will work (cvs2svn doesn't do well to do incremental conversions
> - "File already exists... path 'trunk'"), but I thought I'd try it.

The trouble is that there's no way to tell cvs2{svn,hg} to continue
converting from r2521 (or wherever it left off).  That's deeper in the
infrastructure than my code.

> But when I try to use --existing-hgrepos, I get:
>
> ERROR: directory '--hgrepos=/tmp/foo-hg' does not contain a Mercurial repository
>
> (and, yes, there is an hg repo there)
>
> Is cvs2hg supposed to support --existing-hgrepos at this point in its life?

Huh. Works for me. E.g. in my cvs2svn working copy:

  $ rm -rf main.hg
  $ ./cvs2hg --existing-hgrepos main.hg test-data/main-cvsrepos
ERROR: directory 'main.hg' does not contain a Mercurial repository

That is expected and intended, but rather lame.  (I was slavishly
imitating the behaviour of cvs2svn --existing-svnrepos.)

But then:

  $ hg init main.hg
  $ ./cvs2hg --existing-hgrepos main.hg test-data/main-cvsrepos

works fine.  I can even convert the same CVS repository twice into
main.hg ... which is completely stupid, but it works!

Greg



More information about the Mercurial mailing list