Это дополнительный вопрос jgit - git diff, основанный на расширении файла .
Я пытаюсь добавить отформатированный 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();
}
}
Поэтому я вынужден создать DIffFormatter
для каждой записи различий.
Есть ли лучший способ создать List<String> from List<DiffEntry>
без создания нового DiffFormatter
каждый раз?