获取SVN存储库信息的Python库?

获取SVN存储库信息的Python库?,python,svn,svn-repository,Python,Svn,Svn Repository,我正在搜索一个库,它可以从SVN存储库(不是工作副本!)中提取(至少)以下信息: 修订号及其作者和提交消息 每次修订中的更改(添加、删除、修改的文件) 有一个Python库可以做到这一点吗 对于作者和提交消息,我可以解析“db/revprops/0/…”(简单格式),但查找更改的文件似乎并不容易,因此我宁愿使用支持SVN repos的库。有到libsvn的Python绑定:。它们促进了svn命令行客户端所能做的一切 特别是,该方法符合您的要求。我想您需要类似的方法。我已经研究并测试了它,但它

我正在搜索一个库,它可以从SVN存储库(不是工作副本!)中提取(至少)以下信息:

  • 修订号及其作者和提交消息
  • 每次修订中的更改(添加、删除、修改的文件)
有一个Python库可以做到这一点吗


对于作者和提交消息,我可以解析“db/revprops/0/…”(简单格式),但查找更改的文件似乎并不容易,因此我宁愿使用支持SVN repos的库。

有到libsvn的Python绑定:。它们促进了svn命令行客户端所能做的一切


特别是,该方法符合您的要求。

我想您需要类似的方法。

我已经研究并测试了它,但它似乎无法读取存储库(仅WCs)。如果我错了,请纠正我。@AndiDog:你错了。我已经更新了我的答案以给出提示。
pysvn.Client().log(“/var/svn repos/name of repo directory/”
总是给我错误“pysvn.\u pysvn\u 2\u 6.ClientError:“/var/svn repos/name of repo directory”不是工作副本”。我们讨论的是“存储库”的相同定义吗?对于repository,我指的是带有“conf”、“db”、“hooks”子目录的存储库,而不是工作副本。@AndiDog:Try
pysvn.Client().log(“file:///var/svn-repos/name-of-repo-directory/)
。这实际上是svn中非常基本的内容:平面路径被解释为工作副本,URI被解释为存储库。我假设您熟悉这一点,因为它也适用于svn命令行客户机,但我可能应该提到它。很酷,这很管用。我不知道URI样式和普通路径(->TortoiseSVN user:P)之间的区别。谢谢你,如果我能像这样提取相关信息,我明天会试试。现在就试用,我的两个要求都可以通过
pysvn.Client().log(“file:///path/to/repo,发现已更改的路径(路径=True)
。谢谢你的帮助!