log命令中是否有“--no-merge”选项的等价物或使用JGit过滤日志的任何其他选项? 当然,我可以检查提交消息,如果它从“合并”开始,但可能是更好的方法吗?
答案 0 :(得分:2)
超过一年过去了,但我会发布一条记录的答案。
我们目前处于 JGit 的第4.3版。在此版本中,您可以使用RevWalk#setRevFilter()
和RevFilter.NO_MERGES
,它完全符合您的要求(仅报告非合并提交)。
public void logNonMerges(Repository repo){
try(RevWalk walk = new RevWalk(repo)) {
walk.setRevFilter(RevFilter.NO_MERGES);
Iterator<RevCommit> i = walk.iterator();
while(i.hasNext()){
RevCommit commit = i.next();
// do whatever you want
}
}
}