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さんが修正してくれると良いけど、日本語じゃ届かないよね。