6

10.7.4を実行しているMacにhomebrewをインストールgitしました。私のマシンには、使用しているsvnバージョンのように見えるバージョンがあります。svn/usr/bingit 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)

では、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
4

3 に答える 3

7

少し掘り下げましたが、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

問題は、更新されたSubversionインストールに付随するperlモジュールが含まれていなかったという単純な事実に要約されるため、git-svnはより完全なシステムインストールにフォールバックしていました。

ちなみに、/ usr / bin/svnを/usr/ local / bin/svnにシンボリックリンクしてもまったく効果がありませんでした。これは他のこととは何の関係もありませ$PATHんし、perlモジュールとはすべて関係があります。

于 2012-06-15T05:33:58.490 に答える
1

システムには、2つのバージョンのSubversionがインストールされています。1.6.17インチ/usr/bin/svnと1.7.5インチです/usr/local/bin/svn。を実行すると、を正しくsvn解析してで1つを取得しますが、気にせず、でのバージョンを使用するだけです。$PATH/usr/local/bin/svngit-svn/usr/bin

コードをざっと見てみると、特定のバイナリを明示的に指すgit-svn.plAlien-SVN(を使用するPerl Subversionライブラリ)には何もないので、カスタムを見ないようにするためのセキュリティ「機能」だと思います。git-svnsvn$PATH

アクセスできる場合の簡単なオプションは、;に置き換えること/usr/bin/svnです/usr/local/bin/svn。おそらく、シンボリックリンクを削除して置き換えることによって。それ以外の場合は、のソースを掘り下げて、git-svn.plカスタムを受け入れるように書き直す必要があると思います$PATH

于 2012-06-14T09:48:54.120 に答える
0

同じ問題でここに到達したものの場合:GITには、HomebrewのバージョンのSVNを使用するオプションがあります。

brew install --with-brewed-svn git

この助けを願っています(私はそれを見つける前に長い間掘りました!)

于 2016-08-30T14:51:34.607 に答える