【问题标题】:How do you get hgsubversion working?你如何让 hgsubversion 工作?
【发布时间】:2010-07-23 18:53:47
【问题描述】:

hgsubversion 的在线文档很烂,IMO(我不想这么说)。我一直按照Quick Start 中的说明进行操作。

我做了什么?

  1. 我安装了 Mercurial:

    D:\repos\experimental>hg --version Mercurial 分布式 SCM(1.6 版)

  2. 我安装了 TortoiseHg 以匹配 Mercurial 版本。

  3. 我下载了 hgsubversion 存储库:

    D:\devapps> hg 克隆http://bitbucket.org/durin42/hgsubversion

  4. 我修改了我的 .hgrc 如下:

    [扩展名] hgsubversion=D:\devapps\hgsubversion\hgsubversion

    D:\repos\experimental>hg 帮助 hgsubversion hgsubversion 扩展 - 与 Subversion 存储库集成

    hgsubversion 是 Mercurial 的扩展,允许它充当 Subversion 客户端,提供快速、增量和双向同步。

  5. 我安装了PySVN for Python 2.5

  6. 我试图克隆一个 SVN 存储库:

    ...> hg clone http://path/to/repository/ repository-hg

我得到了以下结果:

...
abort: Subversion 1.5.0 or later required, but no bindings were found!

WTF?我遵循的说明中没有任何内容告诉您如何安装它。任何帮助是极大的赞赏!! (我只是想尽可能地在没有 SVN 的情况下工作 - 请帮助!)。

【问题讨论】:

  • 好吧,我已经完成了这个sh!t ...当它不需要成为python大师来使用时,也许我会试一试...但是现在,我将找到另一种方法来破解我的 java 源,而不是通过调试晦涩难懂的 python 问题...... -- 一个苦人
  • 投票。我也为此浪费了太多天。我认为您必须从源代码编译 SWIG 绑定!正是这样的东西让我远离*nix。 :(
  • 我想出了一种无需从源代码编译即可使其正常工作的方法...请参阅我发布的答案...基本上从 PATH 中删除常规的 Mercurial 安装,只留下 TortoiseHg ...跨度>
  • 是的,正如快速入门所说,绑定与 TortoiseHg 捆绑在一起,因此在安装并克隆存储库后,您就完成了所有设置。另请参阅tortoisehg.bitbucket.org/manual/1.1/nonhg.html#hgsubversion-svn,它再次说明您只需要克隆 hgsubversion 存储库。
  • 如果有人和我有同样的问题:从 THG 3.4 开始,不再捆绑颠覆绑定。它们必须单独下载和安装。见:bitbucket.org/tortoisehg/thg/wiki/libsvn

标签: svn mercurial hgsubversion


【解决方案1】:

如我的blog post 中所述,您需要执行以下操作才能使其正常工作:

  • 从 PATH 变量中删除 /path/to/Mercurial
  • 在 PATH 上只保留 /path/to/TortoiseHg

现在,当您从命令行调用“hg”时,将使用 TortoiseHg 二进制文件,并且 hgsubversion 扩展将按照宣传的方式工作!

我希望这对某人有帮助!

【讨论】:

  • 实际上我正要建议你这样做,因为安装 Mercurial 和 TortoiseHg 是多余的,因为后者会打包前者。无论如何,+1,很高兴你找到了出路。也感谢您的博文。
  • TortoiseHg 不再包含绑定。 -- bitbucket.org/tortoisehg/thg/wiki/libsvn
  • 博客链接失效
  • 今天的问题很可能只是因为 TortoiseHg 不再包含绑定,最好从上面的页面安装它们,而不是使用这个过程。
【解决方案2】:

在挖掘了同样的问题之后,我发现了一个关于 bitbucket 的很好的说明,它是正确安装 python 绑定的解决方案。 https://bitbucket.org/tortoisehg/thg/wiki/libsvn

【讨论】:

    【解决方案3】:

    我实际上对 Windows 了解不多,但我的理解是 TortoiseHG 应该捆绑您需要的一切。他们有some instructions,看起来你已经关注了,但也许你可以在their mailing list 寻求帮助?他们几乎是最好的跟进者。

    目前需要 SWIG 绑定,但我们即将支持一些其他应该不那么难安装的绑定(不是 PySVN,subvertpy)。由于我无法对其进行测试,因此我无法就这些在 Windows 上的简单/难易程度做出任何可靠的声明。

    【讨论】:

      【解决方案4】:

      我遇到了完全相同的问题,然后就放弃了。主要问题是对于最新版本的 SVN,没有预编译的 win32 Python SWIG 绑定。

      您可能想看看 hgsvn 工具是否能满足您的需求:https://www.mercurial-scm.org/wiki/WorkingWithSubversion#With_hgsvn

      这不是一个适当的扩展,只是三个工具的捆绑包:hgimportsvnhgpullsvnhgpushsvn

      【讨论】:

        【解决方案5】:

        看起来 Python 找不到 Subversion 绑定。

        如果可以,请尝试安装 TortoiseHg,它将它们捆绑在一起。也许是因为我安装了它,所以我使用 hgsubversion 完全没有问题。

        【讨论】:

        • 嗯...如果您启动 python 的交互式解释器并尝试“从 svn 导入客户端”会发生什么?您看到此错误是因为“from svn import something”在 hgsubversion 代码中没有成功,正如 bitbucket.org/durin42/hgsubversion/src/aafbf0d40dc2/… 所示
        • D:\repos\experimental>python Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] on win32 Type "帮助”、“版权”、“学分”或“许可”以获取更多信息。 >>> 从 svn 客户端导入文件“”,第 1 行从 svn 客户端导入 ^ SyntaxError: invalid syntax >>> 从 svn 导入客户端 >>>
        • 似乎工作...... >>>来自svn import client >>>来自svn import core >>> core.SVN_VER_MAJOR 1 >>> core.SVN_VER_MINOR 5 >>> core.SVN_VER_MICRO 3 > >>
        • 我同时安装了 2.5 和 3.x 的 python ...目前正在卸载后者以防引起冲突:)
        • 是的,这可能是原因。可悲的是我不是python专家:(
        猜你喜欢
        • 2016-02-24
        • 1970-01-01
        • 2016-04-11
        • 2011-11-09
        • 2014-10-30
        • 2011-12-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多