2010年4月4日日曜日

subversionでテキストがバイナリに誤認識されてしまう場合には


subversionに日本語のUTF-8ファイルを追加したときに、テイストファイルであるにも関わらずバイナリと誤認識されてしまうことがあります。バイナリと認識されてしまうと、svn diffで差分を表示することができずに困ります。

バイナリと認識されてしまっていることは、svn addしたときに(bin)と表示されるのでわかります。また、次のようにしても調べられます。
$ svn propget svn:mime-type hoge.tex
application/octet-stream
これはmime-typeがapplication/octet-streamになってしまっていることを表しています。

バイナリと誤認識されたファイルをテキストとして再認識させるには、mime-typeをtext/で始まる文字列にすれば大丈夫です。あるいは単にmime-typeを消すだけでもOK。
$ svn propset svn:mime-type text/x-tex hoge.txt
$ または svn propdel svn:mime-type hoge.txt
$ svn commit -m ''
さらに文字コードを指定したい場合は svn:mime-type 'text/plain; charset=euc-jp' などとすればよいです。

■最近のエントリ
WiMAXを契約したのでそのまとめ
Haskell(GHC)をMac OSX 10.6 Snow Leopardにインストールする方法
Silverlightとトロイの木馬
ghciのコマンドまとめ
MacBookPro用インナーケースまとめ
-

0 件のコメント: