続: subversion とロケール

先日, id:sasakyh:20071130#p2 で呟いていたのだけれど, その原因がようやくわかった. 症状は

  • リポジトリのあるサーバでは, ロケールを設定した後で status, commit ができる
    • LANG=ja_JP.UTF-8 では駄目. unset LANG + LC_ALL=C で可能になる
  • リモートのラップトップからは何やっても駄目

これは svn+ssh で作業していたのが問題で, リモートから接続する際には ssh 接続後に svnserve が呼ばれる. でもって, svnserve はやっぱり unset LANG + LC_ALL=C でなければロケール回りのエラーで怒られた.

結論から言うと,

  • サーバはまだ sarge で動いていて, locale で UTF-8 がサポートされていない
    • locale -a で utf8 が無い.

という事だった.

エラーメッセージ

 svn update
 svn: error: cannot set LC_ALL locale
 svn: error: environment variable LANG is ja_JP.UTF-8
 svn: error: please check that your locale name is correct

は正しかった訳だ.

とりあえず, サーバ側の LANG を ja_JP.EUC-JP に戻しておく.