1

Я установил git и svn с homebrew на мой Mac под управлением 10.7.4. На моей машине есть две версии svn, и я настроил свой путь, чтобы сначала проверять домашние вещи. К сожалению, git использует неправильную версию svn, поэтому либо установил свою собственную версию где-то еще, либо игнорирует мой путь.

$ git --version
git version 1.7.10.4

$ svn --version
svn, version 1.7.5 (r1336830)

$ git svn --version
git-svn version 1.7.10.4 (svn 1.6.17)

$ /usr/bin/svn --version
svn, version 1.6.17 (r1128011)

$ which git svn
/usr/local/bin/git
/usr/local/bin/svn

$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin:/usr/local/git/bin

Я кратко посмотрел на git-svn.pl, к сожалению, я не знаю Perl, и я не мог определить, был ли там установлен путь. Итак, почему git не использует мой путь и как я могу заставить его использовать нужную мне версию svn?

Спасибо за прочтение.

1 ответ1

2

git svn вообще не использует ваш $PATH . Он использует $SVN::Core::VERSION , как вы можете видеть в git-svn.perl, ll. 408 - 412 в git version 1.7.11.rc3:

sub version {
        ::_req_svn();
        print "git-svn version $VERSION (svn $SVN::Core::VERSION)\n";
        exit 0;
}

Ни /usr/local/bin/svn ни /usr/bin/svn контролируют эту версию. Я смог повторить вашу проблему на OSX 10.7.4 и исправил ее с помощью оболочки 'cpan':

sudo cpan;   # sudo required on the mac for the subversion make
cpan[1]> install SVN::Core

Нажмите Enter при каждом запросе и сохраните настройки по умолчанию. Это займет некоторое время и может потребовать установки некоторых зависимостей. В моей локальной сети было все, что мне было нужно, но у меня было нездоровое количество случайных библиотек. Введите exit или Ctrl+C после завершения компиляции. Теперь попробуйте git svn --version:

$ git svn --version
git-svn version 1.7.11.rc3.5.g2ae48a9 (svn 1.7.3)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .