我是否需要指定分支以列出JGit中两个修订版之间的提交?

时间:2017-03-17 16:16:22

标签: java git jgit

我想使用JGit获取存储库中两个修订版(哈希)之间的提交列表。

我不知道提交(开始提交哈希,结束提交哈希)是在一个分支中还是在不同的分支中。

我知道如何从JGit中的提交开始遍历树。

我的问题:我是否必须在存储库的所有分支中查找提交哈希值,或者我可以像这样只使用Respository::resolve()

Repository repository = git.getRepository();
walk.parseCommit(repository.resolve(commitHash));

并确保我会找到提交开始和结束?

1 个答案:

答案 0 :(得分:1)

分支以及其他引用(例如标记)只是提交ID的指针。因此,您可以安全地使用commit id列出两次提交之间的修订。

完成你的例子:

ObjectId startCommit = walk.parseCommit( repository.resolve( startCommitId ) );
RevCommit endCommit walk.parseCommit( repository.resolve( startCommitId ) );
// configure and use walk