Mac OS 有 kompare。它是 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 支持所谓的外部差异。
要使用它,应该创建 svn-wrapper 脚本,该脚本将采用“svn diff”命令返回的参数,并根据所需参数调用不同的参数。
这是参数“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 需要最后两个。因此,下一个 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