- Download the perforce visual tool suite from here: http://www.perforce.com/perforce/downloads/index.html
- Copy only the p4merge.app file into your /Applications/ directory
$ git config --global merge.tool p4mergetool
$ git config --global mergetool.p4mergetool.cmd \
"/Applications/p4merge.app/Contents/Resources/launchp4merge \$PWD/\$BASE \$PWD/\$REMOTE \$PWD/\$LOCAL \$PWD/\$MERGED"
$ git config --global mergetool.p4mergetool.trustExitCode false
$ git config --global mergetool.keepBackup false
$ git config --global diff.tool p4mergetool
$ git config --global difftool.p4mergetool.cmd \
"/Applications/p4merge.app/Contents/Resources/launchp4merge \$LOCAL \$REMOTE"
When you run into a conflict when merging simply run:
$ git mergetool
- You will be prompted to run "p4mergetool", hit enter and the visual merge editor will launch.
- Using the merge tool you can resolve the conflict and then save the file.
- After you exit the merge tool take a look back at your terminal. You will be asked if the merge was successful, choose yes if all is well or no if you need to start over.
- This prompting is happening because the "trustExitCode" option is turned off. Personally I always like to be asked, but you can have git just trust the exit code from the merge tool.
Most recent version of git already have included configuration for P4Merge. The only thing you need to do on a Mac is:
Note the
p4merge
instead ofp4mergetool
. This will setup P4Merge with the correct launch arguments. This was tested with:At the end, the only required configuration related to P4 you need in your
.gitconfig
(excluding your personal preferences) should be: