Subversion 1.8 macOSにおける日本語ファイル名対応版のインストール方法

Subversion macOSにおけるUTF-8-mac(NFD問題)とは

SVN (Subversion)をmacOSで使おうとすると
macOSにおける文字の取り扱い(NFD, UTF-8-macなどという)の独自性の問題により、日本語濁点等が入ったファイル名が、他OSでは別の文字列として認識されてしまい、ファイル取扱いが難しくなる。

詳しい話はこういうの参照
https://qiita.com/knaka/items/48e1799b56d520af6a09

解決策

解決策としては、Homebrewを使って当該独自性を吸収するパッチ(unicode-path)を当てたSubversion1.8をインストールするのが良い。
パッチを当てた独自tapを公開している方がいらっしゃるので、それを利用する。
https://github.com/Homebrew/legacy-homebrew/issues/49263
https://github.com/tholu/homebrew-tap

具体的にはterminalで次の2行を実行する。

brew tap tholu/tap
brew install -–with-unicode-path tholu/tap/subversion18

参考: http://bhind13.com/info/2645/

途中、場合によってはXcodeのCLT(command line tool)がないよとか、gccがインストールされてないよというエラーが出たりしますが、それぞれインストールして進めていきます。

ところが!
2019年3月1日現在、以下のようなエラーで止まってしまう。

Error: An exception occurred within a child process:
 MethodDeprecatedError: Calling scons is disabled! Use system "scons" instead.
Please report this to the tholu/tap tap, or even better, submit a PR to fix it:
 /usr/local/Homebrew/Library/Taps/tholu/homebrew-tap/subversion18.rb:101

問題の原因は、2019年1月にHomebrewからsconsが外されたためのようです。

https://discourse.brew.sh/t/deprecated-scons-call/3988
https://github.com/Homebrew/brew/pull/5490

解決策その2

仕方ないので、メッセージに出てきた以下の.rbファイルの中身を修正します。
/usr/local/Homebrew/Library/Taps/tholu/homebrew-tap/subversion18.rb

具体的には101,102行目について

    scons *args
    scons "install"

上の部分を、下のように変更します。

system "scons", *args
system "scons", "install"

これでもう一度以下のようにインストールを実行

brew install -–with-unicode-path tholu/tap/subversion18

できました!

2019年1月以降にHomebrewを入れた or brew updateした場合にのみ生じて、まだ日本語で似たことを書いてる人がいなかったので、専門外ですが記事にしてみました。

tholuさんが修正してくれると良いけど、日本語じゃ届かないよね。

#Homebrew #svn #subversion #macOS  

いいなと思ったら応援しよう!