如何使用JGit记录两个发布标记之间的提交

时间:2018-02-15 09:51:52

标签: jgit

我有一个案例,例如运行git命令,如

$ git log 1.0.201802090918...1.0.201802071240" 

在我的repo下获取发布标记1.0.201802090918和1.0.201802071240之间的不同提交列表。所以我想知道如何使用JGit进行编码以获得相同的效果。

1 个答案:

答案 0 :(得分:0)

LogCommand允许指定它将包含的提交范围。范围需要以ObjectId s给出。如果标签mrk的起点和终点,则需要首先提取它们引用的提交ID。下面的代码段说明了必要的步骤:

ObjectId from = repo.resolve("refs/tags/start-tag");
ObjectId to = repo.resolve("refs/tags/end-tag");
git.log().addRange( from, to ).call();

如果使用带注释的标签,则可能必须首先未剥离,如下所述:what is the difference between getPeeledObjectId() and getObjectId() of Ref Object?