我在尝试为Mac OSX Lion上的svn设置外部比较程序时遇到问题。我已经安装了xxdiff和opendiff。
我将以下行添加到~/.subversion/config:
diff-cmd = opendiff
diff3-cmd = opendiff或
diff-cmd = /Applications/xxdiff.app/Contents/MacOS/xxdiff
diff3-cmd = /Applications/xxdiff.app/Contents/MacOS/xxdiff但是当我调用svn时,我得到了这个错误:
svn: /Users/tre11/.subversion/config:49: Option expected如何解决此问题?
发布于 2012-03-07 23:46:49
当然,除了GNU实用程序之外,没有多少diff实用程序可以接受svn提供的参数(bbdiff是为数不多的几个)。您需要将调用封装在shell脚本中。这是对in the subversion docs的解释。
编辑配置根据您的评论默认文本仍在运行,我认为您的.subversion/文件中存在错误。这与您的错误消息一致。最可能的原因是diff-cmd行开头的空格。是的,subversion的解析器在行首的空格处会出现异常。我在diff-cmd行的开头放了一个空格,得到同样的"Option expected“错误。
发布于 2012-03-08 04:41:11
下面是我在MacVIM中使用的一个示例
#! /usr/bin/env perl
use strict;
use warnings;
use constant DIFF => qw(mvim -d -f);
my $parameters = $#ARGV;
my $file1 = $ARGV[$parameters - 1];
my $file2 = $ARGV[$parameters];
my $title1 = $ARGV[$parameters - 4];
my $title2 = $ARGV[$parameters - 2];
$ENV{TITLE} = "$title1 - $title2";
system DIFF, '-c', 'let &titlestring=$TITLE', $file1, $file2;这是一个Perl程序(但是您的Mac上有Perl,所以没问题)。
基本上,你必须知道传递给你的程序的各种参数位置。快速测试表明通过了以下参数:
-u (统一Diff)-L (在diff中,使用以下内容作为左手文件的标题) left hand file)bludgen.pl (revision 63) (在diff中,使用以下内容作为右手文件的标题) right hand title).svn/text-base/bludgen.pl.svn-base (Left hand file)bludgen.pl (Right hand file)bludgen.pl (working copy) )更多信息here。
https://stackoverflow.com/questions/9603647
复制相似问题