P4Merge as a git mergetool and difftool on Linux
Sadly, no Sourcetree for Linux. Console it is. Not for merging though. P4Merge.
P4Merge
Download P4Merge, extract the archive and create a link (somewhere in your $PATH).
$ sudo tar \
--no-same-owner \
--extract --ungzip \
--file ~/Downloads/p4v.tgz \
--directory /opt
$ sudo ln \
--symbolic \
/opt/p4v-2014.2.951414/bin/p4merge \
/usr/bin/p4merge
--no-same-owner
ensures the files are owned by the current user (root) and not by whomever created the original archive.
--directory /opt
sets the destination (installation) directory for p4v.
Mergetool
Edit your ~/.gitconfig
file:
[merge]
tool = p4merge
[mergetool "p4merge"]
cmd = p4merge "$BASE" "$LOCAL" "$REMOTE" "$MERGED"
trustExitCode = true
Difftool
Edit your ~/.gitconfig
file:
[diff]
tool = p4merge
[difftool "p4merge"]
cmd = p4merge "$LOCAL" "$REMOTE"
Nice to have
This has nothing to do with p4merge, but it makes the git mergetool
and git difftool
commands a bit more usable from the console by not asking stupid questions and creating sissy backup files.
Edit your ~/.gitconfig
file:
[mergetool]
prompt = false
keepBackup = false
keepTemporaries = false
[difftool]
prompt = false