Subversionの深掘りをしたいわけではなく、使うにあたってちゃんと知りたい、というのが目的であった。
その目的からすると、特に懸案であった文字エンコーディングの内部機構はずいぶんおさえられたので、あとは現象論でおさえればよいように思えてきた。現象論を整理してみよう。
日本語のみ探る。
- パッチ無しリポジトリOSX
- メッセージ
- from:OSX:OK:NFC
- to:Ubuntu:OK
- from:Ubuntu:OK:NFC
- to:OSX:OK
- from:OSX:OK:NFC
- ファイル名
- from:OSX:NG:?:svn addはできるがsvn statusにて不整合状態とありsvn ciできない。
- from:Ubuntu:OK:db/revsはNFC
- to:OSX:NG:ファイルシステム上はNFD。Terminalでは化けないが、ScreenやEmacsでは化ける。ただしsvn statusすると、端末にかかわらず
$ svn status
? が.txt
! が.txt
$
という状態になる。
- from:OSX:NG:?:svn addはできるがsvn statusにて不整合状態とありsvn ciできない。
- メッセージ
ふむ。リポジトリとしてのOSXは、パッチ無しでも問題なさそうだ。
OSXの文字エンコーディング問題というのは、あくまでOSX上のWorking directoryの問題のようだ。
整理してみよう。
リポジトリ Ubuntu/GNU/Linux
クライアント パッチ済OSX
クライアント Ubuntu/GNU/Linux
という組み合わせは今までもいろいろなところで運用している。なのでこれは整合している。
今回分かったのは、
リポジトリ パッチ無しOSX/パッチ有りOSX
クライアント パッチ済OSX
クライアント Ubuntu/GNU/Linux
という組み合わせでも整合しそうだ、ということだ。
そして問題はクライアント側に集中しており、
- svn statusでNFC/NFD不整合が発生し、working directoryをまともに扱えない。
- TerminalはNFDのファイル名を化けなく表示できるが、screen -U、Emacsのdired、Emacsのshell modeは文字化けをおこす。
ということがある。1番目が致命的。
短期的視点では、OSXがNFDを採用したのは失敗に思える。
よろよろ。
0 件のコメント:
コメントを投稿