eclipseのCVSで改行コードが自動変換されてしまう

2007年 7月 9日 11:30

Java系の開発ではもはや定番のeclipseですが、Windows環境のeclipseからCVSを使用すると、改行コードが自動で変換されてしまう場合があります。

通常のJavaのソースの場合はあまり問題にならないのですが、Javaのプロジェクトと一緒にシェルスクリプトなんかを作ってcommitしておくと、いつのまにかに改行がCR+LFになっていて、Linux上に持っていっても動かない。なんてことになります。
開発環境がWindowsで、実行用のサーバがLinuxだったりすると、問題が発生しやすいです。

原因は、下記メニューにチェックが入っているからで、このチェックが入っていると、eclipseの実行環境(例えばこの場合はWindows)に合わせてチェックアウトしたファイルの改行コードが自動変換されてしまいます。

ウィンドウ>設定>チーム>CVSメニュー
ファイルおよびフォルダータブ
プラットフォーム行終了を使用するためにテキスト・ファイルを変換

なので、このメニューのチェックボックスをオフにすれば、自動変換を停止させることができるわけです。

ちなみに、eclipse から CVSにコミットした場合は必ず改行コードはLFでコミットされるようです。また、eclipse上でCVS側とdiffを取った場合、改行コードは無視して比較されるようです。そのため、既にローカルのファイルがCR+LFファイルとなってしまっている場合、上記の設定を変えて、更新しても、そのままCR+LFファイルとして残ってしまうようです。

これを回避するには、ローカルのCR+LFになってしまっているファイルの改行コードを手動で変更するか、一度削除して、再度チェックアウトするかの方法を取ることになります。

また、設定の変更後はeclipseを再起動しないと有効にならなかったりするので、それらの変換作業は、上記設定を行い、eclipseを再起動後に行うといいでしょう。

ちなみに、eclipse 3.2.0で確認しました。

—————————————————————–
2008-04-23 CVSサーバ側の改行コードの説明が間違っていたので訂正しました。


トラックバック URL


※言及リンクのないトラックバックは削除されます。
※書き込まれてから公開されるまで時間がかかる場合があります。

コメントをどうぞ

Spam protection by WP Captcha-Free

※書き込まれてから公開されるまで時間がかかる場合があります。