バイナリにして回避
Windows版Eclipse3.0.1でCVSにテキストファイルを登録したりCVSからテキストファイルを取り出したりする際に、改行コードがどのように変換されるかを調査した。また、Eclipseの「ウィンドウ」→「設定」→「チーム」→「CVS」の「プラットフォーム行終了を使用するためにテキスト・ファイルを変換」という設定が改行コードの変換動作にどう影響するのかも調べた。
ケース1-1:「プラットフォーム行終了を使用するために テキスト・ファイルを変換」にチェックをした場合
CRなファイルをEclipse上でcvs add。CVSにはどう保存される? → CR
LFなファイルをEclipse上でcvs add。CVSにはどう保存される? → LF
CR+LFなファイルをEclipse上でcvs add。CVSにはどう保存される? → LF
ケース1-2:「プラットフォーム行終了を使用するために テキスト・ファイルを変換」のチェックを外した場合
CRなファイルをEclipse上でcvs add。CVSにはどう保存される? → CR
LFなファイルをEclipse上でcvs add。CVSにはどう保存される? → LF
CR+LFなファイルをEclipse上でcvs add。CVSにはどう保存される? → LF
ケース2-1:「プラットフォーム行終了を使用するために テキスト・ファイルを変換」にチェックをした場合
CRなファイルをEclipse上でcvs checkout。Eclipse上でどう見える? → CR
LFなファイルをEclipse上でcvs checkout。Eclipse上でどう見える? → CR+LF
CR+LFなファイルをEclipse上でcvs checkout。Eclipse上でどう見える? → CR+LF
ケース2-2:「プラットフォーム行終了を使用するために テキスト・ファイルを変換」のチェックを外した場合
CRなファイルをEclipse上でcvs checkout。Eclipse上でどう見える? → CR
LFなファイルをEclipse上でcvs checkout。Eclipse上でどう見える? → LF
CR+LFなファイルをEclipse上でcvs checkout。Eclipse上でどう見える? → CR+LF
分かったこと
Eclipseは単独のCRを改行コードとみなさない?
EclipseはテキストファイルをCVSに登録する際改行コードを LFのみに自動的に変換する。
「プラットフォーム行終了を使用するためにテキスト・ファイルを変換」設定は CVSからテキストファイルを取り出す際にプラットフォームのデフォルトの 改行コードに変換するかどうかを指定するためのもの。 CVSにテキストファイルを登録する際には何の影響も及ぼさない。 チェックしておくと改行コードがプラットフォームのデフォルトのものに変換される。 チェックを外しておくと改行コードの変換は行なわれない。以上