The difference between diff.tool and diff.guitool

The difference between diff.tool and diff.guitool

On a daily basis I am using Git on Windows and while I could use the command line for everything I find it much nicer to be able to see the git commit log all the time. After trying a few different tools I found Git Extensions to be a great Git GUI when pared with P4Merge for diff and merging. But out of the box Git Extensions only supports P4Merge as a merge tool, not a diff tool. Well it only take a simple change to your .gitconfig file to get it working.

[diff]
tool = p4merge
guitool = p4merge
[difftool "p4merge"]
cmd = "p4merge.exe $LOCAL $REMOTE"

By default Git Extensions set’s up kdiff3 as the guitool so hitting F3 wont pull up P4Merge. My setting the diff.guitool at P4Merge it all just magically starts working.