PySVN是否需要安装Subversion?

时间:2010-02-04 03:34:48

标签: python windows svn ubuntu-9.04 pysvn

我有使用pysvn的python脚本,并检出或更新从本地仓库获得的本地副本。

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

我在没有安装subversion的Windows机器上运行它。用于获取实际repo副本的svnsync是在另一台机器上完成的。 有了这个,我认为PySVN不需要安装SVN就可以从包含svnsync结果的文件夹中签出或更新。

问题开始时在Windows中,某些repos包含具有小写和混合大小版本的文件。 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

1 个答案:

答案 0 :(得分:1)

这是因为你的Ubuntu正在使用太旧版本的SVN API访问repo。

Windows一个很好,因为它显然使用的是较新的版本。

根据PySVN download page

  

Windows二进制工具包

     

注意:这些Windows套件都是你的   需要。没有必要安装   任何Subversion工具包。

  

Mac OS X二进制套件

     

注意:这些Mac OS X套件就是您的全部   需要。没有必要安装   任何Subversion工具包。

但是,来吧

  

Linux二进制工具包

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

除此之外,它只说

  

针对Subversion 1.5.6和   Subversion 1.6.5

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

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