python - PySVN 需要安装 Subversion 吗?

标签 python windows svn ubuntu-9.04 pysvn

我有 python 脚本,它使用 pysvn 并 checkout 或更新也从本地存储库获取的本地副本。

client.checkout(url, 
path,
revision=pysvn.Revision(pysvn.opt_revision_kind.number, RevNumber),
ignore_externals=False)

我在未安装 subversion 的 Windows 计算机上运行此程序。用于获取实际存储库副本的 svnsync 是在另一台计算机上完成的。 有了这个,我假设 PySVN 不需要安装 SVN 就能够从包含 svnsync 结果的文件夹中 checkout 或更新。

当在 Windows 中某些存储库包含小写和混合大小写版本的文件时,就会出现问题。当更新或创建两个大小写不同的文件时,Windows 会出错,所以我跳进 Ubuntu 来运行我的脚本。

在 Ubuntu 中,我使用 pysvn 运行脚本时遇到此错误:

pysvn._pysvn_2_6.ClientError: Unable to open an ra_local session to URL
Unable to open repository xxxx
Expected FS format between '1' and '3'; found '4'

经过一番搜索,这似乎是与 svn 1.6 相关的错误消息,但 pysvn 据说支持该错误消息,并且 sudo apt-get install python-svn 告诉我我有最新版本...

那么,这是因为 SVN 还是 pySVN 造成的?如果 Windows pysvn 不提示这一点,为什么 Ubuntu 会提示呢?或者它是否与机器上有 svn 相关?

弄清楚这个问题将有助于我回答我的 previous post 基本上关于同一主题的问题

最佳答案

这是因为您的 Ubuntu 正在使用太旧的 SVN API 版本访问存储库。

Windows 版本没问题,因为它显然使用的是较新的版本。

根据PySVN download page :

Windows binary kits

Note: These windows kits are all you need. It is not necessary to install any Subversion kits.

Mac OS X binary kits

Note: These Mac OS X kits are all you need. It is not necessary to install any Subversion kits.

但是,来吧

Linux binary kits

它没有提到任何关于不需要 Subversion 的事情。我的猜测是 PySVN linux 需要 subversion,因此只使用 1.5.x

除此之外,还只说了

built against Subversion 1.5.6 and Subversion 1.6.5

适用于 Windows 和 Mac OSX,不适用于 Linux

您需要在 Ubuntu 上安装支持较新存储库格式的 SVN 客户端。显然你可以等到PySVN的Nix版本更新,或者找到另一个SVN工具......

关于python - PySVN 需要安装 Subversion 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2197156/

相关文章:

windows - cygwin 中的 Node 解释器 KO?

Windows 上的 C++ 在启动后立即关闭程序

windows - exe中的DllMain?

windows - 设置 SVN 服务器?

python - 打印函数反斜杠消失Python 3

python - 具有 lambda 函数的 Pandas .filter() 方法

python - 使用 Python 多处理运行 .exe 文件时出错

python - JSON 解码字符串

sql-server - 需要好的方案/工作流程来使用 Subversion 管理数据库对象

SVN:错误设置属性 'log':无法执行 PROPPATCH