Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用beyond compare作为外部svn diff工具_Svn_Ubuntu_Merge_Diff_Beyondcompare - Fatal编程技术网

如何使用beyond compare作为外部svn diff工具

如何使用beyond compare作为外部svn diff工具,svn,ubuntu,merge,diff,beyondcompare,Svn,Ubuntu,Merge,Diff,Beyondcompare,我想对其进行配置,使svn diff filename以超越比较的方式显示差异 我在ubuntu上。在一个相关的注释中,每个人都使用什么来区分和合并。BC在windows上非常棒,但在Linux上非常难看,依我看。请参阅: 存在--diff cmd和--diff3 cmd选项,以及类似命名的运行时配置参数(请参阅),可能会导致错误的概念,即使用外部差异(或“diff”)和将工具与Subversion合并是多么容易。虽然Subversion可以使用大多数流行的此类工具,但在设置这些工具时投入的精力

我想对其进行配置,使svn diff filename以超越比较的方式显示差异


我在ubuntu上。在一个相关的注释中,每个人都使用什么来区分和合并。BC在windows上非常棒,但在Linux上非常难看,依我看。

请参阅:

存在
--diff cmd
--diff3 cmd
选项,以及类似命名的运行时配置参数(请参阅),可能会导致错误的概念,即使用外部差异(或“diff”)和将工具与Subversion合并是多么容易。虽然Subversion可以使用大多数流行的此类工具,但在设置这些工具时投入的精力往往是非常重要的

在Subversion中使用外部diff和merge工具(当然除了GNU diff和diff3)的关键是使用包装器脚本,将Subversion的输入转换为您的差异化工具可以理解的内容,然后将工具的输出转换回Subversion期望GNU工具使用的格式。以下各节介绍了这些期望的具体内容

绝对是的粉丝,因为它不仅是一个非常好的用于源代码管理的diff/merge工具,而且在帮助同步目录/文件方面做得非常好。 一个绝对不需要动脑筋的人,当涉及到购买拷贝时,不能保证Linux版本,因为我从未使用过它。

请看这里:

正如其他答案所说,您必须从脚本调用beyond compare并将其传递给subversion的--diff cmd选项。我在linux上使用以下脚本:

#!/bin/bash
test `/usr/bin/bcompare "$6" "$7" -title="$3" -title2="$5" -readonly` > 2 && exit 1; exit 0
这类似于Cooc帖子中的链接所说的,只是它将beyond compare的返回值转换为subversion所期望的值:0表示无差异,1表示差异。这将消除错误消息,并中止那些以其他方式妨碍您的操作

编辑:请参见下面colgur的评论,更好的方法是:

/usr/bin/bcompare "$7" "$6" -title1="$5" -title2="$3" -readonly & wait $! 
[ $? -gt 2 ] && exit 1; exit 0

“如何将beyond compare用作外部svn diff工具”?我认为它指的是“在相关说明中,每个人都在使用什么进行diff和merge”。如果插入适当的标点符号,则会产生另一个问题。在Windows世界中,Araxis merge是我首选的visual diff应用程序(比beyond compare IMO好得多)。但是在GNU/Linux下,我为什么要使用Meld以外的东西呢?“在相关的注释中,每个人都使用什么来区分和合并呢?”!?没问题,我们都读得太快了-一定是想发布第一个答案/评论;-)请每个帖子只问一个问题谢谢你的回复Nathan。它确实在我的系统(Ubuntu 12.04)中编写了一个名为“2”的文件。我做了一些可能代表您意图的更改:
/usr/bin/b比较“$7”“$6”-title1=“$5”-title2=“$3”-只读&
等待$
[$?-gt 2]&退出1;退出0
@colgur很酷,看起来更好。我从来没有注意到额外的文件被写出来,现在已经太久了,我不太清楚我为什么这样做:(帮助比公认的答案多得多:)谢谢你的脚本