【问题标题】:Is there a way to get Tag objects instead of Reference ones when listing tags from a repository?从存储库中列出标签时,有没有办法获取标签对象而不是引用对象?
【发布时间】:2016-03-07 04:34:38
【问题描述】:

我能够使用github3 成功列出存储库中的标签:

repo.iter_refs(subspace='tags')

这会生成github3.git.Reference 对象的生成器。有没有办法让我使用类似的机制来获取 github3.git.Tag 对象?现在我不得不将每个Reference 对象转换成我自己的Tag 版本。

【问题讨论】:

    标签: python git github3.py


    【解决方案1】:

    因此,获取github3.git.Tag 对象的唯一方法是尝试retrieve a specific annotated tag(这是一个以非常具体的方式创建的标签)。

    如果这是您想要做的,那么您的代码将类似于

    tags = [repo.tag(r.object.sha) for r in repo.iter_refs(subspace='refs')]
    

    您可以通过当前方法或通过 repo.iter_tags() 获得轻量级标签(实际上是 GitHub 上的大多数标签)。要么工作。后者将返回 github3.repos.RepoTag,而不是 github3.git.Tag,因为 API 为每个返回的信息大不相同。

    【讨论】:

    • 我不敢相信我错过了文档中的repo.iter_tags() call!干杯!
    • 不用担心@Piotrek!这就是我关注这个标签的原因。 :-D
    猜你喜欢
    • 2019-06-03
    • 1970-01-01
    • 2011-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多