我在运行 10.7.4 的 Mac 上安装了git
Homebrew svn
。我的机器上有两个版本的 svn,我已设置路径以首先检查 Homebrew 内容。不幸的是,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)