ホーム > 開発 > eclipseでshift_jisなCVSサーバへ

eclipseでshift_jisなCVSサーバへ

思う所あって、プログラミング用のPCをWindowsからLinuxに換装した。
最近はeclipseをメインにJavaがほとんどだったので、特に困る事も無いと判断。
既存のリポジトリはshift_jisだけど、eclipseでもNetBeansでもテキストファイルのエンコーディングは指定できるし。

でもハマル(–;
リポジトリのコミットコメントが、バケバケになっていた。

一瞬リポジトリを直接eucに変換する事も考えたけど、ライブラリとかはOS Xからもコミットしているので避けたい。
それに、@とかのエスケープが必要なので、単純変換ではダメな雰囲気。

ぐぐってみた所、逆の用途を想定したCVSコミットメッセージ国際化パッチが配布されていた。
恐らく、文字コードの指定をshift_jisにしてしまえばOK。
だけどダウンロードして見ると、2.1のモジュールにパッチを当てた物である事が判った。
利用している2.1.1 RC2は既に該当モジュールが新しくなっているので、危険を感じて諦める。

その後さらにぐぐると、パッチに関するスレッドを発見。
早速試したところ、既存のヒストリの文字化けは解消。
でも、新規にコミットしたコメントは化けてしまう。
元ネタのスレッドでは、書き込み側の対処は要らないような事が書いてあるけど、ウチはサーバ側に日本語関係のパッチをまったく当てていないのでダメなんだと思われる。
その後、あからさまに怪しい二カ所にパッチを当て、無事書き込み時の文字化けも解消した。

2.1.1 RC2用のパッチを置いておくので、Linuxでshift_jisなcvsにコミットする人はどうぞ。
逆にWindowsやOS Xでeucなcvsにコミットする人も、エンコード名を弄れば良いかと。

あ、パッチするソースはplugins/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/connection/Connection.javaだから(^_^;;

広告
カテゴリー:開発 タグ:
  1. ohnaka
    2003年7月28日16:36

    2.1.1のソースを落としてきまして、同様の修正をかけてコンパイルしてみました。うまくいっています。

    ただ、手もとのソースには、
    static String readLine(InputStream in)
    というメソッドも存在します。どこで使っているメソッドなのか等、深くは追わなかっのですが、私はそちらのメソッドにも同様の修正を加えました。

    また、
    lugins/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/CVSTeamProvider.java
    の、getCommitTemplate()メソッドの

    return new String(out.toString()); を
    return new String(out.toString(“EUC-JP”));
    に変える事で、ログテンプレートに EUCな文字列を書いている場合の文字化けが解消されます。

    以上です。

  2. marvel
    2003年8月6日14:11

    バグレポにも、この手の情報をつけた方が対処が早く進むのかもしれないですね。
    英文での説明が大変ですが(汗

  3. スミ
    2003年11月28日15:49

    Eclipseで修正したソースを反映させる具体的なやり方を教えていただけないでしょうか?
    パッチの適用方法、適用するパッチの作成方法など、初心者でよく分かりません。
    上記の日本語対応も、変更する場所はよく分かるのですが、変更した後どうすれば実際に有効になるのかが分からない状態です。
    基本的なことかもしれませんが、教えて頂けると助かります。
    忙しい中すみません。

  4. marvel
    2003年12月1日10:52

    僕は下記の手順で、ソースからeclipse全体をビルドしてみました。
    まずは、これをやってみてください。
    http://www.eclipse.org/downloads/index.php

    次にパッチの当て方ですが、ちょっとgoogleで検索すると出てくるはずです。
    例えば下記とか。
    http://www.ctt.ne.jp/~nashorn/terminal/diff.html

    そのあと再コンパイルして、エラーが出なければOKかと思います。
    あるいは、コンパイルしてできたバイナリの中で、該当クラスが入っているcvs.jarだけを取り出して、使用しているeclipseのバイナリと差し替えても良いです。

  5. Anonymous Coward
    2003年12月6日11:02

    CVSのコミット時コメントの文字列を強制的にエンコード指定しているようですが、これをWindow->Preference->Editorのエンコード指定から取り出す方法ってご存じでしょうか?

  6. Anonymous Coward
    2003年12月8日16:56

    Connection.javaのパッチのエンコード指定(パッチの内容だと”Shift_JIS”になっているところを

    import org.eclipse.core.resources.ResourcesPlugin;
    とインポート宣言してから
    ResourcesPlugin.getEncoding()
    に差し替えるとプレファレンスのエディタで指定したエンコードになりますね。

  1. No trackbacks yet.

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。