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显示,它比较目录。

  1. 有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 

    它的工作原理!

  2. 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的版本。

http://subclipse.tigris.org/servlets/ProjectProcess;jsessionid=1BCECCE84434FF08FDE32136D13FF061?pageID=p4wYuA

安装后,您可以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)。