如何在JGit中从提交中获取diff条目列表时跳过二进制文件?

时间:2016-04-27 09:53:03

标签: java git jgit

我正在尝试使用JGit找到一种方法来获取每次提交的插入次数。 在JGit中从提交中获取diff条目列表时,有没有办法跳过二进制文件?或者我应该获取所有差异条目,从每个条目获取路径并手动检查mime类型?

diffs = diffFormatter.scan(directParent, commit);
...
path = repoDirectory + diff.getNewPath();
...
type = Files.probeContentType(Paths.get(path));
if (type ...

我想知道我是否可以用JGit本身做到这一点。

1 个答案:

答案 0 :(得分:0)

在你的问题中草拟的方法应该可以正常工作。

或者,您可以使用DiffFormatter::setPathFilter()指定排除某些文件的TreeFilter

但是,请注意,如果工作副本不存在,或者在极少数情况下,如果内容类型发生更改,则使用工作目录来探测内容类型可能会失败。