las*_*igh 7 git homebrew path git-svn
我已经在我的mac上安装git并svn使用自制程序运行10.7.4.svn我的机器上有一个版本/usr/bin似乎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)
Run Code Online (Sandbox Code Playgroud)
那么,我可以更改git-svn使用的svn版本吗?如果是这样,我该怎么做呢?
谢谢阅读.
- 更新评论 -
$ 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
Run Code Online (Sandbox Code Playgroud)
我做了一点挖掘,看起来git-svn使用了subversion的perl绑定.经过一些实验,我发现安装perl的升级版svn 可以解决这个问题.在Mac OSX上,这将是这样的:
# First, I had to take ownership of the perl libs dir,
# so homebrew could create perl modules
chown $USER -R /Library/Perl/5.12/darwin-thread-multi-2level
# Then, remove and reinstall Subversion, but add the perl option:
brew remove svn
brew install --perl svn
# Lastly, reinstall git (this may be optional, but it may also help.)
brew remove git
brew install git
Run Code Online (Sandbox Code Playgroud)
您的问题归结为一个简单的事实,即您更新的Subversion安装不包含随附的perl模块,因此git-svn正在回退更完整的系统安装.
为了记录,symlinking/usr/bin/svn到/ usr/local/bin/svn绝对没有用.这$PATH与perl模块无关,也与其他任何事情无关.