お久しぶりです
WPチームすぎやまです。
こんばんは
さて、弊社内ではファイル管理で主にSubversionを利用していますが
WindowsとMac間でしばしばSubversion UTF8-MAC問題
? パッチファイル.txt
! パッチファイル.txt
のようなファイルの存在を正しく取り扱えない問題に直面します。
それを回避するお話です(というか備忘録)
そもそもこの問題がなんで起こっているのかというとSubversionは内部の処理をUTF-8で行い、
クライアント環境での文字コードに合わせて適切なコードに変換してから処理を行っています。
けれどもOS Xのファイルシステムでは、実際には「UTF-8-mac」というUTF-8そのものとは少し異なるコードを用いているにも関わらず、
Subversionでは「UTF-8」と判断してしまうからです。
結果、日本語のファイル名、とくに濁点「゛」や半濁点「゜」を用いたファイルのステータスを見ようとすると先ほどの
? パッチファイル.txt
! パッチファイル.txt
のようになってファイルの存在を正しく取り扱えません。
ソースコードの管理に使用するだけならアルファベットのファイルしか多分扱わないので問題はないでしょうが、
・プログラマ以外の人とSubversionを使用する
・設計書などのドキュメントをバージョン管理する
・他のOS(Windowsなど)を使うユーザとSubversionを共用する
などという場合に非常に厄介な問題になるわけで。
この問題を解決しよう、というのが以下に記述する方法です。
※homebrewを使用するものとmacportを使用するものがありますが
これから記述するものはmacportを使用するものになります。
作業にはmacのターミナルでコマンドを叩くのが主な作業になります。
①xcode,macportのインストール
https://developer.apple.com/jp/technologies/tools/
http://www.macports.org/install.php
※macportのインストールが完了したらターミナルを再起動する
②現在のsubversion をアンインストール
sudo port uninstall subversion
③念のためワーキングディレクトリをつくってそこで作業
cd /
sudo mkdir svn
cd svn
④最新のmacportだとsubversionの1.7をインストールできないためリビジョンを指定してインストールする。106653は1.7の最新
※実際に自分でインストールしたときには最新の1.8系のunicode_pathが正しく動作しない
という情報があったため1.7系の最新をインストールしました。
sudo svn co http://svn.macports.org/repository/macports/trunk/dports/devel/subversion -r 106653 svn
⑤unicode_path付きをインストールする
sudo port install +unicode_path
⑥最後に
which svn
として、/opt/local/binの下にパスが通っていればOK。
作業完了です。