6

After reading this, I configured git to use vimdiff as diff/merge tool by adding following lines to my ~/.gitconfig:

[diff]
        tool = vimdiff
[merge]
        tool = vimdiff
[difftool]
        prompt = false
[alias]
        d = difftool

But git difftool still just prints diff (no vimdiff). Any ideas?

UPDATE. Seems like git difftool works fine, if I have some uncommitted changes in repo, i.e. it opens vimdiff as expected. But it fails to open vimdiff if I do git difftool after merge with conflict. Any ideas why?

Community
  • 1
  • 1
Vram Vardanian
  • 539
  • 1
  • 5
  • 15

2 Answers2

5

Ok, I found the answer here. git mergetool must be used instead of git difftool in case of conflicts.

Community
  • 1
  • 1
Vram Vardanian
  • 539
  • 1
  • 5
  • 15
1

I don't know as for the why. But to fix it, reset the state of the conflicted file.

git status
    both modified: mymyfile.txt

git difftool myfile.txt #Fails
git reset myfile.txt

git status
    M myfile.txt

git difftool myfile.txt #should work
Igal S.
  • 13,146
  • 5
  • 30
  • 48