[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[cvs-ml 953] Re: WinCVS での改行コード



武です。
どうもありがとうございます。
# ちょっと難しくて理解度はいまいちですが。

<200011151053.TAA25204@hasu.box2.kmc.kyoto-u.ac.jp>の記事において
slakichi@kmc.kyoto-u.ac.jpさんは書きました。

>> こんにちは、山田です。
>> 
>> <200011150831.RAA23319@sdkgw.ai.shinko-elec.co.jp>の記事において
>> take@ai.shinko-elec.co.jpさんは書きました。
>> 
>> >下にメールをそのまま添付しましたが、この2つはほとんど同じような原因を
>> >違う現象で見ているような気がするんですが、違いますでしょうか?
>> 
>> えーと、多分違うと思います。
>> 
>> 柳田さんの「改行コードがおかしい」というのは、柳田さんがおっしゃるとお
>> り、WinCVSがテンポラリファイルをテキストモードで開いているからである、と
>> 考えられます。これは多分WinCVSのバグです。

わかりました。
# 本当はわかってないけど、私の早とちりらしいということで、忘れてください。
# 「外部diff」とか似たような単語が並んでいたのでつい反応してしまいました。

>> そして武さんの方ですが、これはupdate -pしたときに、チェックアウト内容が
>> バッファにためられて*wrapperを通らず*、knjwrpのクライアント側で出力時
>> (handle_m関数)にEUC→SJIS変換をやろうとして文字コードの認識に失敗した、
>> と言うことだと思います。
>> # ソースコードだけを見て実地検分はしていないので確証はもてませんが
>> 
>> ためしに、wrapnkfでどんなファイルでも同じ内容を出力するように書き換え
>> て、WinCVS上でupdate -p をするとその「同じ内容」が返ってくるのか、それ
>> ともファイルの中身が返ってくるのか確かめてみてはいかがでしょうか。

よくわかっていないんですが、とりあえずできることをやってみました。
    1) 外部diffとか使わずに、単にupdate -pしてみると、同様の文字化けが
       起こりました。
    2) サーバー(FreeBSD)のwrapnkfで「同じ内容」が返ってくるようにして、
       update -pでは「同じ内容」は返ってきませんでした。
       単なるupdateだと「同じ内容」が返ってきました。

ということで、山田さんの仰るとおりになったんだと思います。(たぶん)

結局これは何が原因なのでしょうか?
私の設定? それともサーバー側のcvs? WinCvs?
山田さんの説明からして、「WinCvsのhandle_m関数のEUC→SJIS変換の文字コードの
認識」の失敗と理解したんですが。

それから加藤さんの教えにしたがって、WinCvsをVC++でコンパイルしてデバッガで
実行してってやったら、症状が出ました。
でも、handle_mとかhandle_mbinaryを通るというのは確認できてません。
# break point設定してと思ったら、、あれできない??(^^?

			武 直樹 (take@ai.shinko-elec.co.jp)