是否可以在Mac OS上以图形方式查看"svn diff"输出?
大多数图形差异程序允许您每次只查看一个文件.当你使用svn并且改变了10个文件时,这是非常不方便的.
对于Linux,我在" kompare "程序中找到了一个解决方案.我做:
svn diff > diffOut; kompare diffOut
Run Code Online (Sandbox Code Playgroud)
并且作为结果,我用图形化的工作计划和检查所有文件一次喜欢上了它显示图片.
Mac OS有同样的事吗?
PS"meld"程序似乎也是这样(或者它没有?),我已经尝试安装它,但是出现了错误.因此,我支持我无法在OSx 10.7下安装它.
小智 62
您可以使用Apple的FileMerge工具或Kaleidoscope.这两个都有命令行调用:
opendiffksdiffMac 操作系统有 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
Run Code Online (Sandbox Code Playgroud)
它有效!
svn 支持所谓的外部 diff。
要使用它,应该创建 svn-wrapper 脚本,该脚本将采用“svn diff”命令返回的参数,并使用所需参数调用 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
Run Code Online (Sandbox Code Playgroud)
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 $*
Run Code Online (Sandbox Code Playgroud)
将此脚本放入 svnwrapper.sh 文件中。使文件可执行:
chmod +x svnwrapper.sh
Run Code Online (Sandbox Code Playgroud)
并将其放在某个公共路径中,该路径添加到 $PATH 变量中。现在你可以使用调用 svn
svn diff --diff-cmd=svnwrapper.sh
Run Code Online (Sandbox Code Playgroud)
或者只需在 ~/.subversion/config 文件中的 [helpers] 部分添加:
diff-cmd = svnwrapper.sh
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
47789 次 |
| 最近记录: |