目前我正在尝试获取正在运行的远程Subversion存储库的克隆。远程存储库仅在非常慢的链接上可用,所以我使用svnsync
创建了本地Subversion存储库。近三十个小时后,我现在拥有Subversion版本库的本地副本。如何使用hgsvn从本地(file:///)SVN仓库进行克隆?
我该如何将其克隆到新的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,显然,这是在我的时间之前。)
是否hgsvn
不明白file:///
协议说明符,即使我试图强制它与svn+file:///
?
注:之前我曾尝试通过hg
和hgsvn
进行克隆,但最终在通过hgsvn
进行同步之后经过一段时间后出现错误。因为克隆整个历史需要很长时间,所以我通过hgsvn
与本地Subversion版本库副本一起进行克隆,就像我以前在远程版本中那样。
等一下,'hgsvn'和'hgsubversion'有区别。哇。直到现在,这个事实完全避开了我。 +1为现在的答案。我将不得不首先用替代扩展来测试它。是的,我知道'svn +'是用来消除歧义的,尽管这对本地回购也是有意义的。 – 0xC0000022L 2013-03-16 14:24:54
作品,谢谢。我只是没有意识到这是两个不同的项目。 – 0xC0000022L 2013-03-18 11:19:27