However I decided to go with the suggestion inside of Pro Git. The following is a summary of what I did, extracted more or less from the book.
#!/bin/sh # This script is a summary of the advice provided by the book Pro Git (Thanks to author). # to create visual merge and diff scripts to be used from cmd line git # Script by Peter Lynch (http://blog.peterlynch.ca) # 1. Download p4merge from perforce # http://www.perforce.com/perforce/downloads/macintoshlist.html#macosx104u ( summary ) # Download the "P4V: Visual Client", mount the the DMG, copy p4merge to /Applications # 2. Create wrapper scripts sudo cat > /usr/local/bin/extMerge <<extMerge #!/bin/sh /Application/p4merge.app/Contents/MacOS/p4merge \$* extMerge sudo cat > /usr/local/bin/extDiff <<extDiff #!/bin/sh [ \$# -eq 7 ] && /usr/local/bin/extMerge "\$2" "\$5" extDiff # 3. Set owner and perms sudo chown root /usr/local/bin/extMerge sudo chown root /usr/local/bin/extDiff sudo chmod ugo+x /usr/local/bin/extMerge sudo chmod ugo+x /usr/local/bin/extDiff # 4. Configure Git to use our new scripts git config --global merge.tool extMerge git config --global mergetool.extMerge.cmd \ 'extMerge "$BASE" "$LOCAL" "$REMOTE" "$MERGED"' git config --global mergetool.trustExitCode false git config --global diff.external extDiff # 5. confirm git config -l echo ---------- ls -la /usr/local/bin/ext*
Remember to execute the script using sudo or else you'll get permission denied errors.
Also, to bypass the external diff don't forget you can use
git diff --no-ext-diff.