将cvs转换为mercurial

adr*_*anm 9 cvs mercurial

我正在尝试将CVS存储库转换为mercurial但无法使其工作.

我从一个干净的结账开始:

cvs -d :sspi;username=xxx;hostname=yyy.local:/cvsrepos checkout repo
Run Code Online (Sandbox Code Playgroud)

哪个工作正常

然后我做:

hg convert .
Run Code Online (Sandbox Code Playgroud)

但它失败了:

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')
Run Code Online (Sandbox Code Playgroud)

我在Windows 7上运行cvsnt

编辑:
调查此更多,似乎mercurial启动本地服务器cvs server,然后与该实例而不是远程服务器进行通信.

我基于以下观察:

  1. 我创建了一个cvs.bat文件,用于将命令行参数发送到文件.该文件显示参数"server".
  2. 进程监视器显示hg.exe尝试打开C:\cvstest\:sspi;username=xxx;hostname=yyy.local:\cvsrepos当然失败的文件 .

是不是hg不理解sspi连接字符串?

编辑2:

不是解决方案,但我找到了一种解决方法:将完整的远程存储库复制到我的机器上,并且:

cvs -d :local:\localcopyofrepo checkout repo
hg convert repo
Run Code Online (Sandbox Code Playgroud)

一切都很好

Rag*_*ram 0

看起来您正在使用ConvertExtension。您可以尝试hg convert从父文件夹中指定文件夹名称,而不是.看看它是否有效吗?