我想配置它,以便svn diff filename显示超出比较的差异。
我在ubuntu上。在相关的说明中,每个人都使用差异和合并。 BC在Windows上很棒,但在Linux上非常难看,imo。
答案 0 :(得分:5)
就像其他答案所说的那样 - 你必须在脚本之外调用,并将其传递给subversion的--diff-cmd选项。我在linux上使用以下脚本:
#!/bin/bash
test `/usr/bin/bcompare "$6" "$7" -title="$3" -title2="$5" -readonly` > 2 && exit 1; exit 0
这类似于CooCooC帖子中的链接所说的,除了它将超出比较的返回值转换为subversion所期望的:0表示无差异,1表示差异。这消除了错误信息和中止,否则会妨碍你...
编辑:请参阅下面的colgur评论,更好的方法是:
/usr/bin/bcompare "$7" "$6" -title1="$5" -title2="$3" -readonly & wait $! [ $? -gt 2 ] && exit 1; exit 0
答案 1 :(得分:4)
请参阅SVN Book on External Diff Tools:
--diff-cmd
和--diff3-cmd
选项以及类似命名的运行时配置参数(请参阅the section called “Config”)的存在可能会导致使用外部差异的容易程度的错误概念(或者“diff”)并将工具与Subversion合并。虽然Subversion可以使用大多数流行的这类工具,但投入设置这些工具的努力往往变得非常重要。...
使用外部差异和合并工具(当然除了GNU diff和diff3)与Subversion的关键是使用包装器脚本将Subversion的输入转换为差异工具可以理解的东西,然后转换将工具的输出恢复为Subversion期望的格式 - GNU工具将使用的格式。以下部分介绍了这些期望的具体内容。
答案 2 :(得分:3)
答案 3 :(得分:0)
绝对是Beyond Compare的粉丝,因为它不仅是一个非常好的差异/合并工具,用于源代码控制,它在帮助同步目录/文件方面做得非常好。 在购买副本时,绝对不用脑子 - 不能担保Linux版本,因为我从未使用它。