47

是否可以在 Mac OS 上以图形方式查看“svn diff”输出?

大多数图形差异程序每次只允许您查看一个文件。当您使用 svn 并且已经更改了 10 个文件时,这非常不方便。

对于 Linux,我在“ kompare ”程序中找到了解决方案。我愿意:

svn diff > diffOut; kompare diffOut

结果我使用图形程序并立即检查所有文件,就像图片上显示的那样。

Mac OS 有同样的事情吗?

PS“融合”程序似乎做同样的事情(或者它没有?),我已经尝试安装它,但出现错误。因此我认为我无法在 OSx 10.7 下安装它。

4

11 回答 11

64

您可以使用 Apple 的FileMerge工具或Kaleidoscope。这两个都有命令行调用:

  • 要打开 FileMerge,从 Xcode 内部安装命令行开发人员工具并使用opendiff
  • 打开万花筒,从万花筒内部安装其命令行工具并使用ksdiff
于 2012-08-07T16:11:04.383 回答
9

KDiff是一个开源的、可视化的文本差异程序。您可以在 windows、unix、linux 和 Mac OSX 中使用它。试试看。在 windows 上,它会自动为 svn diff 添加自己。我不使用 Mac OSX,因此不能说那里也有这个功能。

比较或合并两个或三个文本输入文件或目录,

以下来自 kdiff3 站点的图像 url显示它比较目录。

于 2012-08-19T20:12:24.510 回答
4

DiffMerge既免费又很棒。还进行3路比较和合并。

于 2013-12-17T12:35:37.500 回答
3
  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 支持所谓的外部差异

要使用它,应该创建 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
于 2012-08-14T01:41:17.810 回答
2

如果您想从比较目录结构和目录中的文件快速切换,万花筒是一个非常好的选择。也可以比较多于 2 个副本。我也觉得比较文件的算法(匹配块和颜色代码更改)非常好。最后,您需要支付 15 天的试用期。

于 2013-10-15T18:03:13.487 回答
0

我不太确定我是否理解正确,但是我在 mac 上使用带有 subclipse 插件的 Eclipse。

http://www.eclipse.org/downloads/?osType=macosx

确保您阅读该页面以获取正确的版本,并考虑您使用的 svn 版本。

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

安装后,您可以选择同步透视图,查看所有冲突且需要更改的文件。

但是,我不确定它是否会让您说 diff 随机文件,我认为这是您的要求。不过你可以试试。

于 2012-08-19T21:12:08.140 回答
0

这是一个很好的文件文件差异工具。P4Merge:http ://www.perforce.com/product/components/perforce-visual-merge-and-diff-tools

于 2014-02-28T20:39:28.413 回答
0

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

Diff(为每个文件启动 FileMerge)

> svn diff --diff-cmd fmdiff
于 2014-07-18T04:34:32.713 回答
0

Beyond Compare不是免费的,但我已经使用并喜欢它。

于 2015-02-04T01:36:07.597 回答
0

在这里您可以找到最新版本的Meld for OSX .dmg安装程序。

于 2019-03-28T12:26:36.233 回答
-2

Beyond Compare是您可以添加到列表中的另一个。它是免费且跨平台的(Windows、Mac、Linux)。

于 2015-11-21T12:19:49.800 回答