Bug #983
tool/file2lastrev.rb の文字コードの問題
| Status: | Closed | Start date: | 01/05/2009 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | - | % Done: | 100% |
|
| Category: | core | |||
| Target version: | 1.9.1 RC2 | |||
| ruby -v: |
Description
tool/file2lastrev.rb が cygwin でエラーを起こしている。 svn info の出力に US-ASCII でないバイトが入っているため、 エラーがでます。 file2lastrev.rb の先頭にある ENV['LANG'] = ENV['LC_ALL'] = ENV['LC_MESSAGES'] = 'C' は効果がないみたいです (このためにあるかどうかも分かりません)。 添付した patch で問題が納まったが、これは一般的な解決かどうか 分かりません。 よろしくお願いします。 Martin.
Associated revisions
* tool/file2lastrev.rb (get_revisions): fixes problem with
svn on cygwin. [ruby-dev:37702].
Patch by Kouhei Sutou.
History
Updated by Yui NARUSE about 3 years ago
LANG=C しているのは、svn info の出力を英語で固定するためだと思います。 基本的には force_encoding するのではなく、svn info の方を何とかするべきだと思うのですが、 出力が US-ASCII のみになるようにできますかね?
Updated by Martin Dürst about 3 years ago
成瀬さんと同意ですが、一部の cygwin の場合はなぜか LANG=C の設定でも 曜日だけが日本語 (Shift_JIS) ででてしまう。subversion のレポを 調べたところ、そこの部分だけは APR (subversion が使っている Apache Portable Runtime) に任せている。 自分の PC ではその問題はおこなないが、複数の学生のところでは起こります。 現在考えられるのは学生のところは cygwin の subversion (/usr/bin/svn) ではなく、 Windows の subversion (例えば /cygdrive/c/Program Files/svn とか) を使っている ということです。その場合 ARP の挙動が違う可能性があります。subversion そのもの はどの場合でも LANG 環境変数を考慮します。
Updated by Kouhei Sutou about 3 years ago
- File ruby-file2lastrev-svn-info.diff added
こういうときはsvn info --xmlを使った方がよいと思います。
Updated by Martin Dürst about 3 years ago
svn info --xml で確かめたところ、US-ASCII 文字以外はでません。
Updated by Yuki Sonoda about 3 years ago
- Target version set to 1.9.1 RC2
Updated by Yuki Sonoda about 3 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
Applied in changeset r21486.