2009年2月27日金曜日

【Subversion】UbuntuとOSXを使った現象論の整理

点滴をうったら多少元気になった。。。

Subversionの深掘りをしたいわけではなく、使うにあたってちゃんと知りたい、というのが目的であった。
その目的からすると、特に懸案であった文字エンコーディングの内部機構はずいぶんおさえられたので、あとは現象論でおさえればよいように思えてきた。現象論を整理してみよう。

日本語のみ探る。


  • パッチ無しリポジトリOSX

    • メッセージ

      • from:OSX:OK:NFC
      • to:Ubuntu:OK

      • from:Ubuntu:OK:NFC
      • to:OSX:OK

    • ファイル名

      • 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
        $

        という状態になる。




ふむ。リポジトリとしてのOSXは、パッチ無しでも問題なさそうだ。
OSXの文字エンコーディング問題というのは、あくまでOSX上のWorking directoryの問題のようだ。

整理してみよう。

リポジトリ Ubuntu/GNU/Linux
クライアント パッチ済OSX
クライアント Ubuntu/GNU/Linux

という組み合わせは今までもいろいろなところで運用している。なのでこれは整合している。

今回分かったのは、

リポジトリ パッチ無しOSX/パッチ有りOSX
クライアント パッチ済OSX
クライアント Ubuntu/GNU/Linux

という組み合わせでも整合しそうだ、ということだ。

そして問題はクライアント側に集中しており、


  1. svn statusでNFC/NFD不整合が発生し、working directoryをまともに扱えない。
  2. TerminalはNFDのファイル名を化けなく表示できるが、screen -U、Emacsのdired、Emacsのshell modeは文字化けをおこす。


ということがある。1番目が致命的。

短期的視点では、OSXがNFDを採用したのは失敗に思える。

よろよろ。

0 件のコメント: