Reputation: 579
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?
Upvotes: 7
Views: 3276
Reputation: 579
Ok, I found the answer here.
git mergetool
must be used instead of git difftool
in case of conflicts.
Upvotes: 8
Reputation: 14603
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
Upvotes: 1