Я использую JGit для оценки затронутых файлов между фиксацией идентификаторов. Код, который я настроил, соответствует кулинарной книге jgit.
https://github.com/centic9/jgit-cookbook/blob/master/src/main/java/org/dstadler/jgit/porcelain/DiffFilesInCommit.java
Я в основном ищу интересующий меня идентификатор фиксации и тот, что был непосредственно перед этим, используя git log. Затем я вставляю их в пример кода.
Проблема в том, что он возвращает множество файлов, которые не были затронуты или добавлены как часть этого коммита, которых должно быть только 2.
Если я запускаю git diff HASH1 HASH2
, я получаю тот же результат с тоннами файлов, которые не были затронуты.
И наоборот, при запуске git diff-tree -r HASH1
я получаю ровно 2 файла, которые меня интересуют.
Я что-то неправильно понимаю? Чем отличаются git diff и diff-tree? Как мне повторить поведение git diff-tree с помощью jgit?