9

I'm trying to convert a CVS repository to mercurial but can't get it to work.

I start with a clean checkout:

cvs -d :sspi;username=xxx;hostname=yyy.local:/cvsrepos checkout repo

Which works fine

I then do:

hg convert .

But it fails with:

assuming destination .-hg
initializing destination .-hg repository
connecting to :sspi;username=xxx;hostname=yyy.local:/cvsrepos
abort: unexpected response from CVS server (expected "Valid-requests", but got 'E cvs [server aborted]: Root :sspi;username=xxx;hostname=yyy.local:/cvsrepos must be an absolute pathname\n')

I'm running cvsnt on windows 7

Edit:
Investigated this a bit more and it seems like mercurial starts a local server cvs server and then communicates with that instance instead of the remote server.

I base this on the following observations:

  1. I created a cvs.bat file that sends the command line arguments to a file. The file shows the argument "server".
  2. process monitor shows that hg.exe tries to open the file C:\cvstest\:sspi;username=xxx;hostname=yyy.local:\cvsrepos which of course fails.

Can it be that hg does not understand the sspi connection string?

Edit 2:

Not a solution but I found a workaround: Copy the complete remote repository to my machine and:

cvs -d :local:\localcopyofrepo checkout repo
hg convert repo

Everything worked fine

adrianm
  • 14,468
  • 5
  • 55
  • 102
  • 1
    That's what I attempted to say in my answer, you could mark it as answered though that, or add your own answer and mark it as the answer. – Kit Roed Nov 10 '10 at 21:42

2 Answers2

2

Looks like the error message is telling you to use an absolute pathname to the repository, try using

hg convert <full_path_including_drive>

rather than the . path on a checked out sandbox of your CVS repository. You could also try specifying the repository type in the convert command by adding -s cvs to the command, the result would look something like this:

hg convert -s cvs C:\sandbox\cvsrepos
Kit Roed
  • 5,167
  • 5
  • 30
  • 34
0

It looks like you are using ConvertExtension. Can you try hg convert from the parent folder and specify the folder name, instead of . and see if it works?

Raghuram
  • 51,854
  • 11
  • 110
  • 122
  • Yes, I'm using ConvertExtension ("hgext.convert=" in .hgrc). Specifying source and/or target folder makes no difference. – adrianm Nov 09 '10 at 09:58