Вот пример того, что я использую с 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
(Unified Diff)
-L
(В diff используйте следующее как заголовок файла левой руки)
bludgen.pl (revision 63)
(заголовок слева)
-L
(В diff используйте следующий текст в качестве заголовка правого файла)
bludgen.pl (working copy)
(заголовок справа)
.svn/text-base/bludgen.pl.svn-base
(файл левой руки)
bludgen.pl
(правая папка)
Подробнее здесь .