Skip to content

mucius/misc_patches

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

viewvc の(ショートログ文字化け対策)パッチ

注意! 以下のパッチは現在では必要ありません。詳細は、2011/09/03の追記をご覧ください

このパッチができること

このパッチを当てることで、shift_jis, euc-jp, iso2022_jp, utf-8 が混在する Subversionのリポジトリの文字化けが起きにくくなります.具体的には、

  1. use_localtime=1にしたときの(Windowsバージョンでの)ディレクトリ画面の時間表示とログ
  2. view と blame 画面
  3. シンタックスハイライトをOnにしときの view, blame画面
  4. diff 画面

での日本語の文字化けが改善されます.但し、side by side diff での日本語混在による カラムずれの対策はまだです...

CVSのリポジトリに関しては未対策です.すいません...

下にも書いたのですが、ごく小さいファイルで文字コードがEUCかUTF-8の場合、 blameに失敗して、うまく変換できません。 blame の --force オプションに相当するものを 探してみたのですが、c のソースコードにある、svn_client_blame3() を使うための svn_diff_file_options_t をpythonから使うことができていない為、あきらめモードです... どなたか詳しい方、ご教示を... (ver.1.0.?では、コマンドラインのsvnをpipeで 使っているので、--forceを挿入済み)

  • misc_patches/viewvc/1.1.0-beta/viewvc_all.patch は安定版用(ver.1.1.0-beta)('08/11/13追加 python2.5用)
  • misc_patches/viewvc/1.0.7/viewvc_all.patch は安定版用(ver.1.0.7)('08/11/04追加 python2.5用)
  • misc_patches/viewvc/1.0.5/viewvc_all.patch は安定版用(ver.1.0.5)('08/03/03追加,'08/11/13 python2.5用に修正)
  • misc_patches/viewvc/viewvc_all.patch がchardetを使用した開発版 ( rev.2047に対するパッチ.ver1.2-dev)
  • misc_patches/viewvc/viewvc_pykf_all.patch も開発版ですが、pykfを使用

開発版で、pykf用のパッチを使う場合は、 misc_patches/pygments/lexer.patch (pygments用のパッチ)も必要です.

chardetは、http://chardet.feedparser.org にあります.

chardet用のパッチを当てた後で、やはり pykfにしたい場合は、 misc_patches/viewvc/forPykf/toutf8.py に置き換えて、 viewvc.py の "chardet" と書かれている 部分(2カ所あります)を全て"pykf"に書き換えることで、pykfが使えるようになります.

chardetを使わない場合は、pykf をインストールする必要があります. windows用のバイナリがあるのが嬉しいですね.

ああ,でも,ここのソースはヘッダファイルが足りないので,Linux等で使いたい人は

こちらの方 で提供されているtarballが良いようです.

注意

このパッチは,ブラウザの表示関係については何もしていません.

httpd.conf等に

AddDefaultCharset utf-8

と書いておけば文字化けしないはずですが,standalone.pyを使う場合は template/header/header.eztの

head部分に

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

と追加しておけばよいでしょう.

追記(2011/09/03)

3年ぶりにviewvcのリポジトリをチェックしてみたところ、本家の方でchardetをつかった 文字コード推定に対応していました。よかったよかった。 これは、ver.1.1.2から有効になっているようです。 ですので、trunkからの開発バージョンはもちろん、tarball/zipでダウンロードできる ver.1.1.11でも可能となっています。 但し、デフォルトでは無効になっているので、viewvc.confで、

detect_encoding = 1

とします。というわけで、ここのパッチはお役御免となったわけですが、

short_log_len = 20

などとしていると、ログに日本語を使っている場合、日本語の途中で切ってしまうために 文字化けすることがあります。これに対策するためのパッチを作りました。

  • misc_patches/trunk/viewvc/viewvc.patch

エラーが無くなるまで、文末から1バイトづつ減らしてはデコードしてみるという かなり強引な方法ですが...

追記 (2008/11/04)

  • toutf8() を独立ファイルにしました。
  • python2.5に移行したので、コーデック名が前と違っています。2.4の場合は、以前のパッチを参考にして修正してください。
  • 小さいファイルで、文字コードがeucか、utf-8の場合、blameに失敗するために、うまく変換できないことがあります。

追記 (2008/2/19)

  • mod_python用のファイル名が,viewvc.py から viewvc_mp.py のように変更になっています(!r1799).
  • mod_python を ver.3.3.1 にすると,viewvcがエラーを吐くようです. こちらの方が 対策されています.

追記 (2008/3/6)

  • リポジトリのディレクトリ構成を変更しました
  • リポジトリブラウザの最下部にある "ことなるフォーマットでダウンロード"からダウンロードすると、改行がLFのみになってしまうので、Windowsではパッチ当てに失敗するかもしれません。その時は改行記号を変えられるエディタでCR+LFに変更してみてください

追記 (2008/3/19)

  • 以下のパッチは、 [http://e.tir.jp/wiliki/viewcvs こちらの方] が作成されたviewvcvs用のものがオリジナルです。Tracのパッチも、そのパッチを借用した形になっています。 (Trac移動時に抜けてしまいました。ごめんなさい。)
  • y-miyoさんによる追加修正を反映しました(ver.1.0.5のみ)。

trac の(日本語文字コード混在環境向)パッチ

このところWindowsのソフト開発でもコメントにUTF-8を使っていたので, Tracのバージョンが上がって, パッチが無効になっていることに気づいていませんでした(!^_!^;;

そんなわけで,久々にパッチを更新しました.trac 0.10.4用ですが,きっと0.10.3でもいけるでしょう.

svn:mime-type をちゃんと設定してあげれば,このパッチは不要なのですが, マルチな環境にまたがったプロジェクトだったりすると,文字コードが混在してしまって, それをいちいちsvn:mim-typeで設定するのも大変かなあと.

もっとも,先にも書いたように,僕自身はWindowsでもLinuxでもutf-8でソースコードを 書くようになったので,それほど必要性を感じなくなってきたんですが...

  • misc_patches/trunk/trac/api.patch は,trac/mimeview/api.py に対するパッチ,
  • misc_patches/trunk/trac/text.patch は, trac/utils/text.py に対するパッチです.

pykf をインストールする必要があります.

追記 (2010/10/1)

またまた久々に、0.11 用と、0.12用のパッチを作成しました。

  • misc_patches/trunk/trac/0.11/Trac-0.11.7.patch が 0.11.7用
  • misc_patches/trunk/trac/0.12/Trac-0.12.patch が 0.12用です。

今回からパッチを一つにまとめました。以下のようにあててください。

% patch -p1 < Trac-0.12.patch

About

Patches for ViewVC and Trac for using mixed Japanese encodings.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages