问题
I have conflicts, so I type:
git mergetool
I then get a message saying:
Hit return to start merge resolution tool
Normally when I do this, it open kdiff3 so I can merge the differences.
now when I do it, it just continues to the next file, and kdiff3 doesn't open at all.
I triple cheched my git config and my system path and all seems perfect. Config file is as follows:
[merge]
tool = kdiff3
[mergetool "kdiff3"]
path = c:/Program Files (x86)/KDiff3/kdiff3.exe
[diff]
guitool = kdiff3
[difftool "kdiff3"]
path = c:/Program Files (x86)/KDiff3/kdiff3.exe
[core]
editor = \"C:/Program Files (x86)/GitExtensions/GitExtensions.exe\" fileeditor autocrlf = true
[user]
name = James Farrell
email = info@jamespfarrell.com
[github]
user = whygosystems
token = 87d00c2e613b3a7c8c1be817b75b8a33
[diff]
external = C:/Program Files (x86)/Git/cmd/git-diff-wrapper.sh
Anyone have any ideas what might be wrong?
I have a feeling (though I could be wrong, that this has been a problem, since I installed the new Github windows client)....
回答1:
I realize this is old, but for future googlers, KDiff3 also has an option where if the merge is trivial, it will resolve it silently and never even show a window.
I've had that happen to me in the past, so it might be what's happening for you. I think the option is called 'Auto save and quit on merge without conflicts'.
回答2:
I haven't used git for this purpose on Windows in a while, but your config file shows some interesting differences re: program strings.
[core]
editor = \"C:/Program Files (x86)/GitExtensions/GitExtensions.exe\" fileeditor autocrlf = true
vs
[difftool "kdiff3"]
path = c:/Program Files (x86)/KDiff3/kdiff3.exe
I suspect that there might be some issue with the spaces in the program name. Try setting your diff/mergetool executable paths to:
path = \"c:/Program Files (x86)/KDiff3/kdiff3.exe\"
回答3:
Again, for future Googlers:
As of version 2.48.02 (29 November 2014), Git Extensions started distributing the 64-bit version of kdiff3. (See https://github.com/gitextensions/gitextensions/blob/master/GitUI/Resources/ChangeLog.md#version-24802-29-november-2014.)
So if you're running a 32-bit OS and had the Git Extensions installer install kdiff3, your kdiff3 won't even run by itself. The solution is to download the 32-bit version (http://sourceforge.net/projects/kdiff3/files/kdiff3/) and reinstall. I didn't even need to uninstall the 64-bit version first, as the installer simply overwrote the previous install.
回答4:
Yet another answer for future Googlers:
Actually, no external merge tool will start. An issue was filed in August 2015: https://jira.atlassian.com/browse/SRCTREEWIN-3543
来源:https://stackoverflow.com/questions/10883336/kdiff3-wont-open-with-mergetool-command