这是基于文件扩展名的jgit-git diff的后续问题.
我试图添加格式化的差异,List<String>但如果我尝试使用相同的DiffFormatter下面,然后以前的条目附加到下一个条目.
List<String> changes = new LinkedList<>();
try (OutputStream outputStream = new ByteArrayOutputStream();
DiffFormatter diffFormatter = new DiffFormatter(outputStream)) {
diffFormatter.setRepository(git1.getRepository());
TreeFilter treeFilter = PathSuffixFilter.create(".txt");
diffFormatter.setPathFilter(treeFilter);
List<DiffEntry> entries = diffFormatter.scan(newTree, oldTree);
for (DiffEntry diffEntry : entries) {
diffFormatter.format(diffEntry);
changes.add(outputStream.toString());
diffFormatter.flush();
}
}
Run Code Online (Sandbox Code Playgroud)
因此我被迫DIffFormatter为每个差异条目创建一个.
有没有更好的方法来创造List<String> from List<DiffEntry>而不是DiffFormatter每次都创造新的?