IntelliJ annotate vs git blame

Я использую функцию аннотации IntelliJ, чтобы увидеть в Редакторе, кто последний раз изменил строку в файле.

теперь я использую JGit для чтения одних и тех же аннотаций, и они отличаются. Мне кажется, что Intellij проверяет, что строка не была изменена между коммитами и по-прежнему использует старое сообщение. JGit не видит этого и поэтому делает другое сообщение.

может ли кто-нибудь подтвердить, что поведение Jgit blame и IntelliJ отличается? В чем причина и как я могу заставить IntelliJ вести себя так же, как JGit? Может быть, IntelliJ игнорирует изменения пробелов?

Я использую IntelliJ 15.0.1 и JGit 4.1.1

2 ответов


IntelliJ IDEA не имеет собственного алгоритма вычисления аннотаций; он просто запускает стандартный git blame команда и анализирует ее вывод. Нет способа заставить его вести себя иначе.

вы можете найти код, реализующий команду Annotate в плагине IntelliJ IDEA git здесь.


Вы были правы, источник, связанный в ответе Йоля, показывает, что плагин вызывает git blame с -w опция, которая игнорирует различия пробелов. Такое поведение не кажется изменяемым.