我正在开发一个使用 pysvn 的工具。该工具的前任作者附带了 pysvn1.4,因此它可以在任何具有 python 的机器上使用,而无需下载或安装 pysvn。
我想更新该工具以使用 pysvn 1.6。
到目前为止,我所做的是在我的机器上安装了 pysvn1.6,并将 pysvn 文件夹从我的 /usr/lib/python/site-package/pysvn 目录移动到我的源文件目录中,因为看起来就是这样以前的作者做到了。
当前的文件系统结构如下:
assorted.py files
assorted.pyc files
pysvn folder that includes old version of pysvn
__init__.py
__init__.pyc
__pysvn.so
但是,当我运行程序时,我收到此错误:
Traceback (most recent call last):
File "slocmine.py", line 195, in ?
sys.exit(main(sys.argv[0:]))
File "slocmine.py", line 113, in main
logjsonstr = pyslocd_svn_log.doit(svn, url)
File "/users/users1/chindes/newsloc/svn/lib/python2.4/pyslocd_svn_log.py", line 114, in doit
revision=pysvn_rev_head, depth=pysvn.depth.empty)
AttributeError: 'module' object has no attribute 'empty'
源自此(以前有效)代码:
repoinfo = svn.info2(repoPathUrl,
revision=pysvn_rev_head, depth=pysvn.depth.empty)
这表明我没有正确导入模块,尽管我可能错了。
编辑:似乎我有 1.6.2 版的 pysvn 和 1.6.15 版的 subversion,它们显然不兼容。