无法加载Subversion的Python绑定
这是关于将一个SVN代码库转换成Mercurial代码库的第二部分内容。
使用的命令是:
hg convert file://c:/svnrepository
但是,我得到的输出是:
assuming destination svnrepository-hg
initializing destination svnrepository-hg repository
file://c:/svnrepository does not look like a CVS checkout
file://c:/svnrepository does not look like a Git repo
Subversion python bindings could not be loaded
file://c:/svnrepository is not a local Mercurial repo
file://c:/svnrepository does not look like a darcs repo
file://c:/svnrepository does not look like a monotone repo
file://c:/svnrepository does not look like a GNU Arch repo
file://c:/svnrepository does not look like a Bazaar repo
file://c:/svnrepository does not look like a P4 repo
abort: file://c:/svnrepository: missing or unsupported repository
我关注的那一行是:
Subversion python bindings could not be loaded
我已经安装了Python 2.5,并且从Subversion网站上安装了Python的Subversion绑定。但是我还是遇到了这个错误。
3 个回答
sudo apt-get install python-subversion
在Ubuntu上,这个方法对我有效。
我想把评论中提到的实际解决方案提出来,来自Alex Martelli的回答:
根据这个链接,Subversion的绑定已经包含在TortoiseHG里。所以你只需要在TortoiseHG中启用转换扩展。 – tonfa
哦,明白了!又向前迈了一步。我把路径改成指向TortoiseHG里的hg,而不是Mercurial,这样就解决了这个问题。现在它只是认为这个仓库不是SVN的,啊哈! – Paul
这个方法对我也有效。
如果你现在在Windows上使用标准的HG命令行版本,具体步骤是:
- 安装TortoiseHG
- 右键点击一个文件 / TortoiseHG / 全局设置... / 扩展 / {勾选“convert”}
- 确保TortoiseHG是你的hg命令的路径:
- Win键+暂停 / 高级 / 环境变量 / 系统变量 / Path
- 从路径中删除C:\Program Files\Mercurial
- 确保C:\Program Files\TortoiseHG在路径中
这个问题的详细解释可以在这里找到,标题是“从Subversion转换”:
要使用Subversion,你需要先安装它的Python绑定。这些绑定是通过SWIG生成的,在Windows上需要单独安装,可以在http://subversion.tigris.org/找到。需要注意的是,使用Win32的Mercurial二进制文件是无法完成这项工作的,因为无法将Subversion的绑定安装到它自带的Python库中。所以,你需要在独立的Python上安装Mercurial。如果你同时安装了Win32的二进制文件,可能还需要像这样设置:“set HG=python c:\Python25\Scripts\hg”,以覆盖默认的Win32二进制文件。对于Mac OS X,最简单的方法是安装CollabNet的Subversion版本,然后将/opt/subversion/lib/svn-python中的内容复制到Python安装的site-package目录下。
不幸的是,使用