【发布时间】:2016-03-07 04:34:38
【问题描述】:
我能够使用github3 成功列出存储库中的标签:
repo.iter_refs(subspace='tags')
这会生成github3.git.Reference 对象的生成器。有没有办法让我使用类似的机制来获取 github3.git.Tag 对象?现在我不得不将每个Reference 对象转换成我自己的Tag 版本。
【问题讨论】:
标签: python git github3.py
我能够使用github3 成功列出存储库中的标签:
repo.iter_refs(subspace='tags')
这会生成github3.git.Reference 对象的生成器。有没有办法让我使用类似的机制来获取 github3.git.Tag 对象?现在我不得不将每个Reference 对象转换成我自己的Tag 版本。
【问题讨论】:
标签: python git github3.py
因此,获取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!干杯!