我正在尝试使用 GitPython lib 获取存储库中的最新标签。通常我是这样做的:
repo = Repo(project_root)
last_tag = str(repo.tags[-1])
但是一旦版本 1.10 发布,我总是得到 1.9 ;( 我知道它与输出有关git tag -l
列出相同的订单。所以它会是1.1, 1.10, 1.2, ..., 1.9
问题是如何使用GitPython获取最新的标签? (我知道git tag -l | sort -V
我知道如何解决这个问题而不使用 repo 对象。但也许有人知道我在这个库中获取排序标签列表时缺少什么)
自定义排序功能始终是一个选项,但我仍然想知道是否有办法使用 GitPython 来做到这一点?
The IterableList
返回的对象repo.tags
在 GitPython 中扩展了list
Python 类,这意味着您可以按照您想要的方式对其进行排序。要获取创建的最新标签,您可以简单地执行以下操作:
import git
repo = git.Repo('path/to/repo')
tags = sorted(repo.tags, key=lambda t: t.commit.committed_datetime)
latest_tag = tags[-1]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)