Mac OS 10.7上的graphics化多文件对比较
是否可以在Mac OS上以graphics方式查看“svn diff”输出?
大多数的graphics差异程序允许您每次只能查看一个文件。 当你使用svn并且像10个文件一样改变时,这是非常不方便的。
对于Linux,我在“ kompare ”程序中find了一个解决scheme。 我做:
svn diff > diffOut; kompare diffOut
结果我使用graphics化程序,并像在图片上一样检查所有文件。
Mac OS有同样的东西吗?
PS“meld”程序似乎做同样的(或不?),我已经试图安装它,但有一个错误 。 因此,我supsu,我不能安装在OSx 10.7下。
您可以使用Apple的FileMerge工具或万花筒 。 这两个都有命令行调用:
- 打开FileMerge,从Xcode内部安装命令行开发工具并使用
opendiff
- 打开万花筒,从万花筒里面安装命令行工具,并使用
ksdiff
KDiff是一个开源的,可视化的文本差异程序。 你可以在windows,unix,linux和Mac OSX上使用它。 给它尝试。 在Windows上,它会自动添加svn diff。 我不使用Mac OSX因此不能说这个function也可以在那里使用。
比较或合并两个或三个文本input文件或目录,
从kdiff3网站下面的图像url显示,它比较目录。
-
有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支持所谓的外部差异 。
要使用它,应该创build一个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中,这个path被添加到$ PATHvariables中。 现在你可以使用svn了
svn diff --diff-cmd=svnwrapper.sh
或者添加到〜/ .subversion / config文件中的[helpers]部分:
diff-cmd = svnwrapper.sh
DiffMerge既免费又好用 。 也做3路比较和合并。
万花筒是一个非常好的select,如果你想从比较目录结构和目录中的文件快速切换。 也可以比较两个以上的副本。 我也有印象,比较文件(匹配块和颜色代码变化)的algorithm是非常好的。 最后,有15天的试用期,比你需要支付。
我不太确定,如果我已经正确理解,但是我使用Eclipse在Mac上的subclipse插件。
http://www.eclipse.org/downloads/?osType=macosx
确保你阅读页面以获得正确的版本,并考虑到你使用的svn的版本。
安装后,您可以select同步透视图,查看所有冲突的文件并需要更改。
我不知道,但是如果它会让你说不同的随机文件,我认为你有点问。 你可以尝试一下。
这是一个不错的文件文件比较工具。 P4Merge: http ://www.perforce.com/product/components/perforce-visual-merge-and-diff-tools
Bruno De Fraine写了一些脚本,为每个文件启动OSX的FileMerge: http : //www.defraine.net/~brunod/fmdiff/
安装
> svn co http://soft.vub.ac.be/svn-gen/bdefrain/fmscripts/ fmscripts > cd fmscripts > make > sudo make install
差异(为每个文件启动FileMerge)
> svn diff --diff-cmd fmdiff
比较不是免费的,但我已经使用它,并喜欢它。
超越比较是另一个你可以添加到列表中。 它是免费的和跨平台的(Windows,Mac,Linux)。