Mac OS 用のコンパレがあります。これは KDE SDK の一部であり、MacPorts を使用して入手できます。
sudo port install kdesdk4
launchctl load -w /Library/LaunchAgents/org.freedesktop.dbus-session.plist
export PATH="/Applications/MacPorts/KDE4/kompare.app/Contents/MacOS:"$PATH
そしてそれは動作します!
Svn はいわゆるexternal diffをサポートしています。
これを使用するには、svn-wrapper スクリプトを作成する必要があります。このスクリプトは、「svn diff」コマンドによって返されるパラメーターを取得し、必要なパラメーターを指定して difference を呼び出します。
「svn diff」が返すパラメーターの例を次に示します。
-u -L code/Class1.h (revision 16518) -L code/Class1.h (working copy) code/.svn/text-base/Class1.h.svn-base code/Class1.h
opendiff には最後の 2 つが必要です。したがって、次の bashスクリプトが適切です。
#!/bin/sh
if [ $# -lt 2 ]; then
echo "usage: $0 [ignored args...] file1 file2" >&2
exit 1
fi
# The last two arguments passed to this script are the paths to the files
# to diff.
while [ $# -gt 2 ]; do
shift
done
exec opendiff $*
このスクリプトを svnwrapper.sh ファイルに入れます。ファイルを実行可能にしました:
chmod +x svnwrapper.sh
$PATH 変数に追加される共通パスに配置します。これで、次を使用して svn を呼び出すことができます
svn diff --diff-cmd=svnwrapper.sh
または ~/.subversion/config ファイルのセクション [helpers] に追加するだけです:
diff-cmd = svnwrapper.sh