你如何让hgsubversion正常工作?

22
在线文档对于hgsubversion来说不太好,我个人觉得(我很不想这么说)。我一直在按照快速启动中的说明进行操作。
我都做了些什么呢?
1. 我安装了Mercurial:
D:\repos\experimental>hg --version Mercurial Distributed SCM (version 1.6)
2. 我安装了TortoiseHg以匹配Mercurial版本。
3. 我下载了hgsubversion存储库:
D:\devapps> hg clone http://bitbucket.org/durin42/hgsubversion 4. 我修改了我的.hgrc文件如下:
[extensions] hgsubversion=D:\devapps\hgsubversion\hgsubversion
D:\repos\experimental>hg help hgsubversion hgsubversion扩展 - 与Subversion存储库集成
hgsubversion是Mercurial的扩展,允许它作为Subversion客户端,提供快速、增量和双向同步。
5. 我安装了Python 2.5的PySVN
6. 我尝试克隆一个SVN存储库:
...> hg clone http://path/to/repository/ repository-hg
然后我得到了以下结果:
...
abort: Subversion 1.5.0 or later required, but no bindings were found!

什么鬼?我正在按照指示操作,但根本没有告诉我如何安装这个东西。非常感谢任何帮助!(我只想尽可能不使用SVN的方式来工作-请帮帮我!)。


1
好了,我对这个破玩意儿已经没兴趣了...如果不需要成为Python大师才能使用,也许我会尝试一下...但现在,我要找另一种方法来黑我的Java源代码,而不是通过调试晦涩的Python问题...--一个沮丧的人 - les2
点个赞。我也花了太多天在这上面了。我认为你必须从源代码编译SWIG绑定!像这样的事情让我远离*nix。 :( - leoger
我找到了一种方法,可以在不编译源代码的情况下使其正常工作...请看我发布的答案...基本上是从PATH中删除常规的Mercurial安装,只留下TortoiseHg... - les2
1
是的,就像快速入门所说的那样,绑定已经与TortoiseHg捆绑在一起了,因此在安装并克隆存储库后,您就可以开始使用了。另请参阅http://tortoisehg.bitbucket.org/manual/1.1/nonhg.html#hgsubversion-svn,其中再次解释了您只需要克隆hgsubversion存储库即可。 - Martin Geisler
1
如果有人和我遇到了同样的问题:自从THG 3.4版本以后,Subversion绑定不再捆绑在一起。它们必须单独下载和安装。请参见:https://bitbucket.org/tortoisehg/thg/wiki/libsvn - Uwe Raabe
5个回答

13

如我在博客文章中所述,你需要执行以下步骤才能使此项工作 :

  • 从你的PATH变量中删除 /path/to/Mercurial
  • 只保留 /path/to/TortoiseHg 在路径中

现在,当你从命令行调用 'hg' 时,将使用TortoiseHg二进制文件,并且hgsubversion扩展将按照其说明正常工作!

我希望这能对某些人有所帮助!


其实我正想建议你这样做,因为安装Mercurial和TortoiseHg是多余的,因为后者打包了前者。无论如何,+1,并且很高兴你找到了出路。还要感谢你的博客文章。 - s.m.
5
TortoiseHg不再包括绑定。--https://bitbucket.org/tortoisehg/thg/wiki/libsvn - Mike C
1
博客链接已失效。 - DCShannon
今天的问题很可能只是因为TortoiseHg不再包含绑定,最好的方法是从上面的页面安装它们,而不是使用这个过程。 - jmd

3

3
我对Windows其实不是很了解,但我的理解是TortoiseHG应该会包含你所需的一切。他们有一些说明,看起来你已经按照这里的步骤操作了,但也许你可以在他们的邮件列表上寻求帮助?他们几乎是最好的跟进者。
目前需要SWIG绑定,但我们即将支持其他绑定(不是PySVN,subvertpy),这些绑定应该更容易安装。我无法确定这些绑定在Windows上的难易程度,因为我没有测试的方法。

2
我曾经遇到过同样的问题,但最终放弃了。主要问题是没有针对最新版本的SVN预编译的win32 Python SWIG绑定程序。
你可以尝试使用hgsvn工具来解决你的问题:https://www.mercurial-scm.org/wiki/WorkingWithSubversion#With_hgsvn 这不是一个正式的扩展,只是三个工具的捆绑:hgimportsvn、hgpullsvn和hgpushsvn。

1

看起来Python找不到Subversion绑定。

如果可以的话,请尝试安装TortoiseHg,它会捆绑它们。也许因为我已经安装了它,所以使用hgsubversion时没有任何问题。


嗯...如果你启动Python的交互式解释器并尝试“from svn import client”,会发生什么?您看到此错误是因为在hgsubversion代码中,“from svn import something”无法成功,从这里http://bitbucket.org/durin42/hgsubversion/src/aafbf0d40dc2/hgsubversion/svnwrap/svn_swig_wrapper.py#cl-27看来。 - s.m.
D:\repos\experimental>python Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] on win32 输入 "help"、"copyright"、"credits" 或 "license" 以获取更多信息。
import from svn client File "<stdin>", line 1 import from svn client ^ SyntaxError: 无效语法 from svn import client
- les2
似乎可以工作...
from svn import client from svn import core core.SVN_VER_MAJOR 1 core.SVN_VER_MINOR 5 core.SVN_VER_MICRO 3
- les2
我同时安装了Python 2.5和3.x版本...目前正在卸载后者以防止冲突 :) - les2
TortoiseHg不再包含SVN绑定。 - Mike C
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接