我正在尝试将Subversion存储库转换为Mercurial。
这就是我所做的:
安装了TortoiseHg 2.9.2(使用Mercurial 2.7.2)
安装了Python 2.7(不像链接所说的Python 2.6)
使用路径代替指定here的集合来表示存储库:
设置一个Web服务器来托管存储库(确保通过服务器管理器安装了CgiModule)
在C:\ MyRepository
中设置Mercurial存储库确保在C:\ MyRepository \ .hg \ hgrc文件中添加了
[extensions]
convert =
输入C:\MyRepository>hg convert http://www.myrepository.org:8080/svn --debug --traceback
我得到了这个输出:
assuming destination svn-hg
initializing destination svn-hg repository
svn: cannot probe remote repository, assume it could be a subversion repository. Use --source-type if you know better
Traceback (most recent call last):
File "hgext\convert\subversion.pyo", line 264, in __init__
File "hgext\convert\transport.pyo", line 89, in __init__
File "libsvn\client.pyo", line 1845, in svn_client_open_ra_session
SubversionException: ("Repository moved permanently to 'http://myrepository.org:8080/'; please relocate",
5011)
using http://myrepository.org:8080/svn
sending capabilities command
real URL is http://myrepository.org:8080/
requested URL: 'http://myrepository.org:8080/svn?cmd=capabilities'
sending between command
sending capabilities command
requested URL: 'http://myrepository.org:8080/?cmd=capabilities'
capabilities: none
requested URL: 'http://myrepository.org:8080/?cmd=between&pairs=0000000000000000000000000000000000000000-
0000000000000000000000000000000000000'
http authorization required
realm: VisualSVN Server
user: tolao
password:
http auth: user tolao, password *********
Traceback (most recent call last):
File "mercurial\dispatch.pyo", line 97, in _runcatch
File "mercurial\dispatch.pyo", line 778, in _dispatch
File "mercurial\dispatch.pyo", line 549, in runcommand
File "mercurial\dispatch.pyo", line 869, in _runcommand
File "mercurial\dispatch.pyo", line 840, in checkargs
File "mercurial\dispatch.pyo", line 775, in <lambda>
File "mercurial\util.pyo", line 507, in check
File "hgext\convert\__init__.pyo", line 283, in convert
File "hgext\convert\convcmd.pyo", line 497, in convert
File "hgext\convert\convcmd.pyo", line 56, in convertsource
File "hgext\convert\hg.pyo", line 241, in __init__
File "mercurial\hg.pyo", line 112, in repository
File "mercurial\hg.pyo", line 102, in _peerorrepo
File "mercurial\httppeer.pyo", line 245, in instance
File "mercurial\statichttprepo.pyo", line 159, in instance
File "mercurial\statichttprepo.pyo", line 106, in __init__
File "mercurial\scmutil.pyo", line 823, in readrequires
File "mercurial\scmutil.pyo", line 223, in read
File "mercurial\statichttprepo.pyo", line 42, in read
IOError: [Errno None] HTTP Error 500: Internal Server Error
abort: HTTP Error 500: Internal Server Error
知道为什么我最终得到'500内部服务器错误'了吗?
答案 0 :(得分:1)
您正在使用的mercurial转换扩展程序说您应该使用svnsync
来同步本地的完整svn历史记录并从中进行转换。从本地源转换将避免这种情况(因为500来自您的远程服务器,这将超出图片)并节省了大量的总时间。
答案 1 :(得分:0)
您输入的网址似乎不正确。仔细检查您是否输入了Subversion存储库的正确URL。它应该是http://www.myrepository.org/svn/<repo-name>
。