我有 python 脚本,它使用 pysvn 并检查或更新从本地 repo 获得的本地副本。
client.checkout(url,
path,
revision=pysvn.Revision(pysvn.opt_revision_kind.number, RevNumber),
ignore_externals=False)
我在没有安装颠覆的 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有关?
弄清楚这一点将有助于我回答我以前关于同一主题的帖子