Для начала;
git config --global diff.tool tmdiff git config --global difftool.tmdiff.cmd 'git diff "$LOCAL" "$REMOTE"|mate'
который запускается с git difftool
или же
git diff | mate
Ни один из них не даст вам возможности объединить файлы, это важно для вас?
git config --global core.editor "/usr/local/bin/mate -w"
Будет устанавливать TextMate в качестве редактора по умолчанию, что, как я считаю, позволяет мне разрешать конфликты слияния в TextMate.
Что касается пакета Diff, он просто работает для меня.