如何查找在SVN存储库中创建分支的修订版本?

时间:2016-06-09 16:29:33

标签: python svn logging xml-parsing

从给定的SVN存储库,我正在尝试编写脚本来查找创建分支的修订。在TortoiseSVN修订图中,您可以轻松发现它们,所以我想这是可能的。

到目前为止,我几乎可以通过解析xml格式的完整详细日志(svn log -v --xml)并过滤logentry节点(带迷你模块的Python)来实现:

liste_revision = [item for item in doc.getElementsByTagName('logentry')
if (item.getElementsByTagName('path').length==1 and
item.getElementsByTagName('path')[0].getAttribute('kind')=="dir" and
item.getElementsByTagName('path')[0].getAttribute('action')=="A" and
"/branches/" in item.getElementsByTagName('path')[0].firstChild.nodeValue)]

我说几乎是因为有一两件不需要的项目仍然通过这些过滤器。这个算法也很重,因为我正在过滤整个日志。

所以我的问题是:

  • 是否存在直接过滤的svn log命令?我听说过svn log --stop-on-copy,但它看起来只适用于当前的分支。
  • 您认为有更好的过滤器可供使用吗?我从我的存储库中的示例中创建了这个。
  • (附属)我认为分支创建意味着修订吗?

0 个答案:

没有答案
相关问题