for (RevCommit commit : commits) {
Iterator<DiffEntry> toMergeDiffs = command(DiffTree.class).setReportTrees(true)
.setOldTree(ancestor.get()).setNewTree(commit.getId()).call();
while (toMergeDiffs.hasNext()) {
DiffEntry diff = toMergeDiffs.next();
String path = diff.oldPath() == null ? diff.newPath() : diff.oldPath();
if (diffs.containsKey(path)) {
diffs.get(path).add(diff);
} else {
diffs.put(path, Lists.newArrayList(diff));
}