[git] Fix show diff with parent for merge revisions, especially for moved files ...
authorKirill Likhodedov <Kirill.Likhodedov@jetbrains.com>
Sun, 29 Jul 2012 10:22:09 +0000 (14:22 +0400)
committerKirill Likhodedov <Kirill.Likhodedov@jetbrains.com>
Sun, 29 Jul 2012 10:23:08 +0000 (14:23 +0400)
commit96f544626327a61187fb93dc934807e06596c01f
treec53522149e60185748f9d919e77412fec8113ccb
parent18c26485a63361760379e9199df65fa8b4c67d1d
[git] Fix show diff with parent for merge revisions, especially for moved files (IDEA-89376)

For merge revisions collect correct information about file paths of the file, how it was named in both parent revisions.
For it call git diff -M --name-status <parent>..<current> for both parents: if the file was renamed in one of merged branches, it will be noted in the diff output.
This process happens in the background, along with check if the file was touched in the revision.
Btw, use correct path to check if the file was touched in the merge revision (the file can be renamed after this merge, and current name can be different).
plugins/git4idea/src/git4idea/history/GitDiffFromHistoryHandler.java