如何让Subversion使用第三方差异工具?

dic*_*oce 18 linux svn diff beyondcompare

我需要的不仅仅是默认差异!我最近购买了"Beyond Compare",我想将它与svn集成,所以当我输入时它会启动:

svn diff foo.c

我该怎么做呢?

Ned*_*der 24

来自Beyond Compare论坛帖子:

在/ usr/bin中/ bcompare_svn:

#!/bin/bash
/usr/bin/bcompare $6 $7 &
exit 0
Run Code Online (Sandbox Code Playgroud)

bcompare的调用是显而易见的,但我必须添加"exit 0",以便svn一次打开多个文件.

为了让svn调用我的脚本,我在〜/ .subversion/config的[helpers]部分添加了以下行

diff-cmd=/usr/bin/bcompare_svn
Run Code Online (Sandbox Code Playgroud)


And*_*ter 11

看看svn --diff-cmd.

  • 使用 --diff-cmd svn 客户端(我的是 1.6.6)仍然为指定的命令生成 -L 选项,如 -L "file1 (rev xyz)" -L "file2 (rev abc)" 所以,除非你的差异cmd 对这些没问题,它坏了。Chris 在他的 Beyond Compare 页面中有一个很好的解决方法,其中包括创建启动程序脚本。 (2认同)

sha*_*ank 8

我想对Andy Lester的回答添加评论,但我没有足够的声誉.但是,我想我可以回答这个问题.

无论如何......正如Andy已经注意到的那样,运行"svn help diff",但只是给你答案......

svn diff --diff-cmd <diff-cmd> --extensions <diff-cmd options>

svn diff --diff-cmd/usr/bin/diff --extensions"-bca"<filename(s)>