Пытается настроить SVN внешнюю программу сравнения на Mac
У меня возникают проблемы при попытке установить внешнюю программу сравнения для SVN на Mac OSX Lion. У меня установлены и 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
Как мне исправить эту проблему?
2 ответа
Существует не так много утилит diff, кроме, конечно, GNU, которые будут принимать параметры, заданные svn (bbdiff - одна из немногих). Вы должны обернуть вызов в сценарий оболочки. Это объясняется в документах Subversion.
Редактировать Исходя из вашего комментария, что текстовый diff по умолчанию все еще выполняется, я думаю, что в вашем файле.subversion / config есть ошибка. Это соответствует вашему сообщению об ошибке. Наиболее вероятной причиной является пробел в начале diff-cmd
линия. Да, парсер Subversion сходит с ума в пробелах в начале строки. Я поставил пробел в начале моего diff-cmd
линия и получил ту же ошибку "Ожидается вариант".
Вот пример того, что я использую с 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 (но у вас есть Perl на вашем Mac, так что все в порядке).
По сути, вы должны знать различные позиции параметров, передаваемых вашей программе. Быстрый тест показывает, что были пройдены следующие параметры:
-u
(Унифицированный Diff)-L
(В diff используйте следующее как заголовок файла левой руки)bludgen.pl (revision 63)
(Название левой руки)-L
(В diff используйте следующее как заголовок правого файла)bludgen.pl (working copy)
(Заголовок справа).svn/text-base/bludgen.pl.svn-base
(Файл левой руки)bludgen.pl
(правая папка)
Больше информации здесь.