福岡のIT系の会社で働くエンジニアのブログです。

技術雑記

【macOS Big Sur】 git svn の Can't locate SVN/Core.pm を解決する

Twitter bookmark Facebook LINE Pocket Feedly RSS

git-svn が動かねー

リポジトリがSVNにて運用されているプログラムのメンテナンスが多々あるので git-svn 使っているのですが、macOS Big Surにしたら動かなくなったのでその解決策です。

 

まず、Xcode から svn(subversion)関連なくなってしまっていました。

svn: error: The subversion command line tools are no longer provided by Xcode.

https://developer.apple.com/documentation/macos-release-notes/macos-catalina-10_15-release-notes

Oh.... git svnもなくなってしまいましたと。

仕方ないので

brew install subversion
brew install git

で別途入れているのですが、これまた git , svn それぞれは大丈夫なのですが、 git-svnが動かない。

ググってみると、色々情報が出てくるので、新しめの情報であれこれ試してみたのですが、やはり動かない。

https://qiita.com/96usa_koi/items/c0275222a26b604a96b2

CPANで無理やりSVN::Core 入れてみたりしたのですが、結局動作せず一旦諦めました。

 

Docker orlandocaro/git-svn を試す

DockerHubに git-svn container image というのがあったので試してみました。

https://hub.docker.com/r/orlandocaro/git-svn

docker run --name $USER-git-svn --rm -it --volume /opt/svn:/opt/svn:ro --volume $PWD:/data orlandocaro/git-svn bash

うん、いい感じですね。

※ 初回実行時のみエラーが出たので、よく見てみると Docker の Preferences → Resources → File sharing に  /opt/svn を登録する必要がありました。

毎回コマンドをつらつら入力するのは大変なので .bash_profileにエイリアス登録して

alias gitsvn='docker run --name $USER-git-svn --rm -it --volume /opt/svn:/opt/svn:ro --volume $PWD:/data orlandocaro/git-svn bash'

とかして使っていました。

でも、動作が遅い。

いや、MacのDockerのファイルアクセスが遅いとのことです。

仕方ないので、これで動作するし、まあいいっかとしばらく使ってたのですが、やっぱりストレス!

シンボリックリンクで解決!

https://qiita.com/chakiralu/items/4000aacf3a39be07be2a を参考にさせていただきました。

細かいバージョンが自分のmacでは異なっていたので置き換えてシンボリックリンク貼ったところ、バッチリgit svn 動作しました。

ln -sf \
    /usr/local/opt/subversion/lib/perl5/site_perl/5.30.2/darwin-thread-multi-2level/SVN \
    /usr/local/Cellar/git/2.32.0/share/perl5

ln -sf \
    /usr/local/opt/subversion/lib/perl5/site_perl/5.30.2/darwin-thread-multi-2level/auto \
    /usr/local/Cellar/git/2.32.0/share/perl5

これで以前同様の快適生活に戻れました!

 

Twitter bookmark Facebook LINE Pocket Feedly RSS