1

我正在尝试在 Windows 7 上使用 hgsubversion 将 Subversion 存储库转换为 Mercurial 存储库。在我解决了许多其他错误之后,我现在被使用的似乎是不正确的 Subversion 版本卡住了。

当我尝试时,hg clone file:///C:/source/我收到以下错误:

abort: Unable to open an ra_local session to URL
Unable to open repository 'file:///C:/source'
Expected FS format between '1' and '4'; found format '6'

这似乎表明 Subversion 存储库是 1.8+ 版本(确实如此),但我的本地 subversion 工具是旧版本。

事实上,hg version --svn显示:

Mercurial Distributed SCM (version 2.8)

...

hgsubversion: 691078c03ed9
Subversion: 1.6.16
bindings: SWIG

然而svn --version显示:

svn, version 1.8.4 (r1534716)
compiled Oct 28 2013, 05:30:01 on x86_64/x86-microsoft-windows5.1.2600

为什么 hgsubversion 报告正在使用旧版本的 Subversion?据我所知,我只安装了 Subversion 1.8.4。

或者这是因为 TortoiseHg 附带的捆绑 SWIG 绑定?我应该尝试其他一些绑定吗?

到目前为止,试图让它发挥作用一直是一种非常令人沮丧的经历。

4

1 回答 1

1

您遇到的问题是,您的计算机上有两个不同的 SVN 版本:您的常规服务器 svn,以及与 hgsubversion 捆绑在一起的版本。您可以通过以下方式解决此问题

  • 设置一个 SVN 服务器(我读到应该有一个可以作为 windows 服务运行的 svnserve ),以便 hgsubversion 通过与版本无关的有线协议与您的 SVN-repo 对话
  • 转储您的 repo 内容,并将其加载到新创建的 repo 中,该 repo 使用 . 创建svnadmin --pre-1.7-compatible,以便 hgsubversion 版本可以读取它
于 2013-11-10T09:24:10.133 回答