排序的GitPython标签

GitPython tags sorted(排序的GitPython标签)

本文介绍了排序的GitPython标签的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用GitPython库获取repo中的最新标记。通常我是这样做的:

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来做到这一点?

推荐答案

我刚刚看了一下,找到了code responsible for the sorting。因此,我别无选择,只能自己颠倒排序顺序,如

reversed(repo.tags)

如果愿意,您也可以使用底层的git命令,自己解析结果,如下例所示:

repo.git.tag(l=True) # equals git tag -l

这样,无论git tag能做什么,您都可以做(从给定的提交开始,按照遍历顺序列出标记可能会很有趣)。

这篇关于排序的GitPython标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:排序的GitPython标签

基础教程推荐