【问题标题】:hgsubversion reports old subversion version on Windowshgsubversion 在 Windows 上报告旧的 subversion 版本
【发布时间】:2013-11-05 12:59:20
【问题描述】:

我正在尝试在 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 绑定?我应该尝试其他一些绑定吗?

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

【问题讨论】:

    标签: svn mercurial hgsubversion


    【解决方案1】:

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

    • 设置一个 SVN 服务器(我读到应该有一个可以run as windows service 的 svnserve),以便 hgsubversion 通过与版本无关的有线协议与您的 SVN-repo 对话
    • 转储你的 repo 内容,并将其加载到新创建的 repo 中,该 repo 使用svnadmin --pre-1.7-compatible 创建,以便 hgsubversion 版本可以读取它

    【讨论】:

    • hgsubversion 捆绑了SVN 版本?感谢您的回答,但是,我决定放弃尝试在 Windows 上进行转换。相反,我在 Virtualbox 中安装了 Ubuntu,并在那里成功进行了转换。 :)
    • 三年后我自己也遇到了这个问题。运行 svnadmin 时无法识别预兼容标志。
    • @DCShannon 也许您可以像我一样在 Linux VM 中进行转换?据我所知,与在 Windows 7 上的体验相比,它运行得非常顺利。
    猜你喜欢
    • 2022-07-01
    • 1970-01-01
    • 2022-01-07
    • 2012-01-28
    • 2015-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-23
    相关资源
    最近更新 更多