如何用JGit获取标签间的提交列表?

问题描述 投票:0回答:1

假设给定两个标签作为输入,比如 "v5.8.0.202005061305-m2 "和 "v5.7.0.202003090808-r"。

有没有办法用JGit获得两个标签之间的提交列表?

我知道GitHub有这样的功能,因为你可以比较两个标签,并查看中间的所有提交,但我们可以在JGit上做同样的事情吗?

java jgit
1个回答
1
投票

LogCommand 拥有 addRange 方法来指定您感兴趣的提交。

这是一个将标签名解析为提交 ID,然后使用 LogCommand 以列出该范围内的所有提交。

Git git = ...
Ref tag1 = git.getRepository().exactRef("refs/tags/tag1");
Ref tag2 = git.getRepository().exactRef("refs/tags/tag2");
Iterable<RevCommit> commits = git.log().addRange(tag1.getPeeledObjectId(), tag2.getPeeledObjectId());
for(RevCommit : commits ) {
  ...
}
© www.soinside.com 2019 - 2024. All rights reserved.