gpt4 book ai didi

python - 使用 PYSVN 获取 SVN Repository 的 HEAD 修订号

转载 作者:太空狗 更新时间:2023-10-30 00:25:36 35 4
gpt4 key购买 nike

我正在使用 pysvn 来监视 Subversion 目录中的更改。这就是我从修订中获取信息的方式:

(...)
svn_root = "http://svn/"
client = pysvn.Client()
from_revision = pysvn.Revision(pysvn.opt_revision_kind.number, 1500)
to_revision = pysvn.Revision( pysvn.opt_revision_kind.head )

revisions = client.log(svn_root, to_revision, to_revision, discover_changed_paths=True)

现在我想获取的更改不是来自特定修订版,就像在我的示例中那样,而是最近 5 个修订版中的更改(从 head - 5head ).我怎样才能做到这一点?我怎样才能得到主要修订的编号?

我可以通过从 Python 调用 Shell 来完成。但我想有一种使用 pysvn 的“Pythonic”方式。

最佳答案

明白了。当提供到 checkout 的 SVN 源的路径时,我可以像这样请求 HEAD 修订:

headrev = client.info(svnroot).get("revision").number

另一种方法是这样的:

headrev = pysvn.Revision( pysvn.opt_revision_kind.head )            
revlog = svnclient.log( url, revision_start=headrev, revision_end=headrev, discover_changed_paths=False)
headrev = revlog[0].revision.number

(注意,后者仅在您使用 SVN 存储库的根目录作为 url 时有效。如果您提供存储库的子 url 而不是 HEAD 本身,则 revlog 将为空)

关于python - 使用 PYSVN 获取 SVN Repository 的 HEAD 修订号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5528690/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com