Setting up p4merge
as diff and merge tool on Windows. Tried for Git version 1.8.4.msysgit.0
.
Two alternatives are explained: using the command line, and directly editing the config file.
Being the installation path "C:Program Files\Perforce\p4merge.exe"
, just run:
$ git config --global diff.tool p4merge
$ git config --global difftool.p4merge.path 'C:\Program Files\Perforce\p4merge.exe'
$ git config --global merge.tool p4merge
$ git config --global mergetool.p4merge.path 'C:\Program Files\Perforce\p4merge.exe'
Apparently in earlier versions mergetool.p4merge.cmd
needed to be provided instead of the path,
but doesn't work anymore due to Git trying to support p4merge:
setting
mergetool.p4merge.cmd
will not work anymore since Git has started trying to support p4merge, seelibexec/git-core/git-mergetool--lib
. instead it directly usesmergetool.p4merge.path
If that option is already set (check if git config --global --get mergetool.p4merge.cmd
prints a value),
it needs to be removed:
$ git config --global --unset mergetool.p4merge.cmd
The same applies to difftool.p4merge.cmd
.
Open ~/.gitconfig
(git config --global --edit
) and add or change:
[merge]
tool = p4merge
[mergetool "p4merge"]
path = C:\\Program Files\\Perforce\\p4merge.exe
[diff]
tool = p4merge
[difftool "p4merge"]
path = C:\\Program Files\\Perforce\\p4merge.exe
As before, if inside [mergetool "p4merge"]
or [difftool "p4merge"]
there is
a cmd
option, it needs to be removed so that Git doesn't try to execute it.
As some people have mentioned before, use double quotes like
or else it will not work.
Also, if you don't have p4merge installed, it's here https://www.perforce.com/downloads/visual-merge-tool