Why git difftool does not open vimdiff in case of conflicts?
Asked Answered
R

2

7

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?

Rumormonger answered 30/3, 2016 at 15:3 Comment(0)
R
8

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

Rumormonger answered 4/4, 2016 at 8:49 Comment(0)
B
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
Broomstick answered 31/3, 2016 at 8:10 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.