Почему git-svn не уважает мой $PATH?
Я установил git
а также svn
с доморощенным на моем 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 ответ
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)