subversion のロケール

某所のサーバに subversionリポジトリを置いていました.

某所のサーバは Debian GNU/Linux 3.1(sarge) で動いてます. 手元の環境は大抵 Debian GNU/Linux 4.0(etch) に移行しました. それに伴って手元の環境では LANG を ja_JP.UTF-8 にして, 必要に応じて ja_JP.eucJP(ja_JP.EUC-JP) に切り替えて作業してました.

手元の環境で作業した後で, commit する分にはとくに問題無かたのですが, 某所のサーバで作業して commit した後, 手元の環境で 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

と怒られ, update できなくなりました.

適当にググると LC_ALL LC_CTYPE あたりを適切に設定すれば良い, とか言う記述が殆んどで, 試すわけですが, 動作が良くかわかりません

例えば

 unset LANG
 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.UTF-8 のまま. 最初に LC_ALL で怒られているから, これを変えてみても, 怒られかたは一緒.

...良くわかんない. 手元の環境では

  • LANG を設定していないにもかかわらず LANG で怒られる.
    • 当然別の値(ja_JP.EUC-JP)を設定していても.
  • LC_ALL を設定していてもダメ

そして, こんな事になってからはサーバ側で同じ様に怒られるようになった.

でもそっちは

LANG=C svn update

で update とか commit とかできる.

...良くわかんない

とりあえず眠いので寝る事にする.