编程语言
首页 > 编程语言> > python – 如何使用pysvn尝试SVN导出时解决此错误?

python – 如何使用pysvn尝试SVN导出时解决此错误?

作者:互联网

我试图使用Python SVN绑定(pysvn)在存储库上执行导出,并遇到以下错误:

python: subversion/libsvn_subr/dirent_uri.c:955: svn_dirent_join: Assertion `svn_dirent_is_canonical(base, pool)' failed.
Aborted (core dumped)

示例代码是:

import pysvn
client = pysvn.Client()
uri = 'https://svn.mycompany.com/myproject/trunk/'
# This works fine
print client.list(uri)
# This crashes with the above error
r = client.export(uri, './temp', force=True)

但是,从shell提示符执行svn导出–force https://svn.mycompany.com/myproject/trunk/可以正常工作.

我正在使用:

> Python 2.7.3
> Subversion 1.7.5
> CentOS 6.0 x64

请问有什么想法吗?

解决方法:

Subversion API在内部使用规范URL和路径.您的URL有尾部斜杠,这不是规范的URL.删除尾部斜杠或使用svn_uri_canonicalize()函数在调用Subversion API函数之前规范化URL.

您可以在Subversion API文档中找到更多详细信息:
http://subversion.apache.org/docs/api/latest/svn_dirent_uri_8h.html

标签:python,svn,pysvn
来源: https://codeday.me/bug/20190626/1289395.html