我正在使用转换扩展程序,所以我不确定它是否是正确的工具,因为:
hg convert svn://svn blah
给出:
svn://blah does not look like a Subversion repository
假设我的仓库没有匿名访问权限,我该怎么做?
答案 0 :(得分:3)
您需要在您的subversion存储库中使用http
网址,或者更好地将整个内容与svnsync结合使用,并使用file
网址。以下是一些更多细节:
https://www.mercurial-scm.org/wiki/ConvertExtension#More_about_Subversion_URL_and_Paths_Handling
答案 1 :(得分:1)
使用Mercurial的convert
extension:
convert=
添加到.hgrc的[extensions]
部分,如下所示:
[扩展]
转换=
sudo apt-get install python-subversion
hg convert
命令
hg convert -h
寻求帮助hg convert http://[svnserver]/[Project] --source-type svn [DestinationDir]
(参见注释2) hg push https://[mercurialserver]/[Project]
注意:您甚至可以重复执行hg convert命令,以包含上次转换后在svn存储库中所做的新更改。
note 2 :当hg转换无法使用http://
或svn://
时,您可以首先签出Subversion存储库(或更新现有存储库)并进行转换使用当地结账;例如:hg convert [DirectoryOfLocalCheckout] --source-type svn [DestinationDir]