IntelliJ annotate vs git blame

15,063

Solution 1

IntelliJ IDEA does not have its own algorithm for calculating annotations; it simply runs the standard git blame command and parses its output. There is no way to force it to behave differently.

You can find the code implementing the Annotate command in the IntelliJ IDEA Git plugin here.

Solution 2

You were right, the source linked in yole's answer shows that the plugin is calling git blame with the -w option, which ignores whitespace differences. This behavior doesn't seem to be modifiable.

Solution 3

IntelliJ ignores whitespace by default. You can change this in the context menu of the annotations (right-click on an annotation): enter image description here

Share:
15,063
EhmKah a.k.a. Michael Krauße
Author by

EhmKah a.k.a. Michael Krauße

Updated on June 07, 2022

Comments

  • EhmKah a.k.a. Michael Krauße
    EhmKah a.k.a. Michael Krauße almost 2 years

    I am using IntelliJ's annotate feature to see in the editor who last changed a line in a file.

    Now I am using JGit to read the same annotations and they differ. For me it seems that Intellij checks that a line has not been changed between commits and still uses the old commit message. JGit does not see it and so makes an other message.

    Can anybody confirm that the behavior of JGit blame and IntelliJ differs? Whats the reason and how can I force IntelliJ to behave the same like JGit? Maybe IntelliJ ignores whitespace changes?

    I am using IntelliJ 15.0.1 and JGit 4.1.1

    • koppor
      koppor over 7 years
      For the googlers landing here searching for the function i nIntelliJ: it's right click in the editor -> git -> Annotate
    • TT--
      TT-- almost 6 years