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

[cvs-ml 747] cvs-1.10.8 knjwrp clint/server bug?



加藤です.

先日,秋葉さんという方から,cvs knjwrp で
	cvs update した際に client 側の
	file の漢字コードが EUC-JP と SJIS に混在してしまうバグ
の報告とその対策 patch をいただきました.
秋葉さん,どうもありがとうございます.

現在,不幸にして,すぐに使える C/S の再現環境がなく確認しきれてないの
ですが,だいたい以下のような症状のようです.
どなたか,チェックして下さると助かります.

#ちっとはわかりやすい説明になっているとよいのですが....

------------------- ここから ---------------------
1.環境
(1) client: WinCVS knjwrp +  server: cvs knjwrp
(2) client の漢字コード SJIS,server の漢字コード EUC-JP
※ WinCVS1.1b で cvs-1.10.8 なら,特に minor version は問わない模様.


2.症状
(1) cvs update した際に client 側の file の漢字コードが EUC-JP と SJIS
    に混在してしまう.

3.原因
 server 側で RCS-Diff を送るときに
1. wrapnkf を通過しないため EUC で送られてくる.
2. (MD5 sum が EUC で算出されている.)


4.例

foo.txt,v リポジトリ(server)		foo.txt (client)
rev. 1.1				rev. 1.1
-----------				-----------
ABCDEF					ABCDEF
-----------				-----------

rev. 1.2
-----------
ABCDEF
あいうえお  <--- EUC
-----------

の場合,cvs update foo.txt を行うと,client 側の foo.txt は
-----------
ABCDEF
あいうえお  <--- EUC
-----------

となってしまう.

○原因 
 2行目が server から EUC で差分として送られてきて client で patch をあ
てる際に,server も client も EUC で MD5 を取るのでエラーとは判断されない.
そのため,ファイルは EUC のままで SJIS に変換されない.


ところが...

foo.txt,v リポジトリ(server)		foo.txt (client)
rev. 1.1				rev. 1.2
-----------				-----------
ABCDEF					ABCDEF
-----------				あいうえお  <--- SJIS
					-----------
rev. 1.2
-----------
ABCDEF
あいうえお  <--- EUC
-----------

rev. 1.3
-----------
ABCDEF
あいうえお  <--- EUC
カキクケコ  <--- EUC
-----------

の場合,cvs update foo.txt を行うと,client 側の foo.txt は,

rev. 1.3
-----------
ABCDEF
あいうえお  <--- SJIS
カキクケコ  <--- EUC
-----------
 
3行目が server から EUC で差分として送られてきて,client で patch をあ
てる.ところがこの場合,server は EUC で client は SJIS + EUC の状
態で MD5 を取るのでエラーと判断され,ファイル全体を checkout しにいく.
よって,wrapnkf を通過して SJIS のファイルに

となって,症状が見えにくくなっている.

4.対策パッチ
<URL:http://www.linkclub.or.jp/~tumibito/soft-an/cvs/income/akiba.000831.patch>

------------------- ここまで ---------------------


---------------------------------------------------------
今月の目標:
	かげろうお銀は誰がやるのか考えよう.

	加藤裕史 E-mail: tumibito@air.linkclub.or.jp
	<URL:http://www.linkclub.or.jp/~tumibito/>