目前我正在尝试运行一个远程颠覆存储库的克隆。远程存储库只能通过一个非常慢的链接获得,所以我svnsync
创建了一个本地 subversion 存储库。将近 30 小时后,我现在拥有了 subversion 存储库的本地副本。
我现在如何将其克隆到新的 mercurial 存储库?问题是以下两种使用形式file:///
似乎都不起作用:
$ hg clone svn+file:///home/user/repo repo.hg
abort: repository svn+file:///home/user/repo not found!
$ hg clone file+svn:///home/user/repo repo.hg
abort: repository file+svn:///home/user/repo not found!
$ hg clone file:///home/user/repo repo.hg
abort: repository /home/user/repo not found!
相反svn info file:///home/user/repo
,确实给了我信息并证明那个地方有一个适当的颠覆存储库。svn://
显然没有意义,因为我没有在本地运行服务器。
我也试过:
$ hgimportsvn file:///home/user/repo repo.hg
SVN branch isn't a copy
Finished! You can now pull all SVN history with 'hgpullsvn'.
但hgpullsvn
前半打修订唯一成功,然后出错:
Interrupted, please wait for cleanup!
External program failed (return code 1): hg '--encoding' 'utf-8' 'remove' '-A' 'branches/Company/CVSROOT'
branches/Company/CVSROOT: No such file or directory
(显然,这CVSROOT
源于之前从 CVS 转换为Subversion。这是在我之前。)
即使我尝试强制使用它也不理解协议说明hgsvn
符?file:///
svn+file:///
注意:我曾尝试通过hg
和hgsvn
之前进行克隆,但hgsvn
一段时间后通过同步时出现错误。由于克隆整个历史需要很长时间,所以我使用了本地颠覆存储库副本,我打算从中克隆,hgsvn
就像我过去所做的那样。