OSX(10.3)のファイルシステムHFS+では大文字小文字は区別されない

あるときからOSX上で svn checkout すると

subversion/libsvn_wc/log.c:338: (apr_err=155009)
svn: In directory 'manger/tags/lastxango/add_through_mecab/dic'
subversion/libsvn_subr/io.c:565: (apr_err=2)
svn: Can't copy 'manger/tags/lastxango/add_through_mecab/dic/.svn/tmp/text-base/keywords.csv.svn-base' to 'manger/tags/lastxango/add_through_mecab/dic/keywords.csv.tmp': No such file or directory

とかいうよくわからないエラーが出てくるようになって困っていた。
原因はファイル名の大文字小文字が区別されるsolaris上で Keywords.csv というファイルと keywords.csv というファイルのふたつを作っていたせいだった。
OSX(10.3)では、大文字小文字の情報は保持されるけど、ファイルを扱う時には区別されない。NTFSとおんなじだ。wikipediaのHFS参照。

現在のHFS+はさらに拡張が進められ、特に下位互換のない部分はHFSXと呼ばれている。主な特徴としては
* ジャーナリング機構の追加(10.2.3以降。10.3以降でデフォルトで活用される)
* ファイルにメタデータ部の追加(10.3以降。10.4以降デスクトップ検索機能”Spotlight”で利用される)
* 大文字小文字の区別(10.4以降。ディスクユーティリティで初期化する際に指定できる)

間違って大文字バージョンと小文字バージョンができていただけなので、一方を削除してcommitしなおしたら正しくcheckoutできるようになった。


About this entry