我希望配置SVN,使得svn diff filename命令可以在Beyond Compare中显示差异。
我使用的是Ubuntu系统。另外,请问大家都用什么工具进行差异比较和合并呢?在Windows上,Beyond Compare很好用,但在Linux上看起来很丑陋。
我希望配置SVN,使得svn diff filename命令可以在Beyond Compare中显示差异。
我使用的是Ubuntu系统。另外,请问大家都用什么工具进行差异比较和合并呢?在Windows上,Beyond Compare很好用,但在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
这与CooCooC的帖子中提到的链接类似,不同之处在于它将Beyond Compare的返回值转换为Subversion所期望的值:0表示没有差异,1表示有差异。这可以消除错误消息和阻碍你的问题...
编辑:请参见colgur下面的评论,更好的方法是:
/usr/bin/bcompare "$7" "$6" -title1="$5" -title2="$3" -readonly & wait $!
[ $? -gt 2 ] && exit 1; exit 0
/usr/bin/bcompare "$7" "$6" -title1="$5" -title2="$3" -readonly &
wait $!
[ $? -gt 2 ] && exit 1; exit 0
- colgur--diff-cmd
和--diff3-cmd
选项及同名运行时配置参数(请参见“Config”一节),这可能会使人误解使用外部差异(或“差异”)和合并工具与Subversion的简单程度。尽管Subversion可以使用大多数流行的此类工具,但设置它们的努力通常被发现是非微不足道的。我绝对是Beyond Compare的粉丝,因为它不仅是一个非常好的用于源代码控制的差异/合并工具,而且在帮助同步目录/文件方面也做得非常出色。 购买一份副本绝对是毫无疑问的选择 - 不过我从未使用过Linux版本,无法担保其表现。