デスクトップがクラッシュしたときに、EclipseワークスペースをLinuxからWindowsに移動する必要がありました。 1週間後、私はそれをLinuxにコピーし、コードを喜んでコピーし、CVSにコミットします。そして悲しいことに、Windowsの改行は多くのファイルを汚染しているので、CVS diffは1行か2行を変更したとしてもファイル全体をダンプします!
スクリプトを作成できましたが、Eclipseプロジェクトファイルが台無しになるのではないかと思っています。
ファイルエンコードを
UTF-8
に設定し、新しいファイルの行末をUnixに設定して、テキストファイルがWindows OSに固有ではない形式で保存され、異種開発者デスクトップ間で最も簡単に共有されるようにします。
- ワークスペースの設定に移動します(一般:ワークスペース)
- テキストファイルのエンコードを
UTF-8
に変更します- 新しいテキストファイルの行区切り文字をその他に変更し、選択リストからUnixを選択します
- 注:既存のファイルの行末を変換するには、Eclipseでファイルを開き、
File : Convert Line Delimiters to : Unix
を選択します
Tip:パッケージエクスプローラーで選択し、メニューエントリFile : Convert Line Delimiters to : Unix
に移動することで、既存のファイルを簡単に変換できます。
便利なbashユーティリティ-dos2unix
-があります。これは、DOS/MACからUNIXへのテキストファイル形式コンバータで、ディストリビューションにまだインストールされていない場合は、パッケージマネージャから簡単にインストールできます。 dos2unix manページ
すべての子ディレクトリのCVS/*ファイルから復帰(\r
)を再帰的に削除するには、Unixシェルで次を実行します。
find ./ -wholename "\*CVS/[RE]\*" -exec dos2unix -q -o {} \;
試してみてください。問題は、新しい行が指定されたときに、Windowsが改行と改行を挿入することです。 Unixシステムは、ラインフィードを挿入するだけです。したがって、余分なキャリッジリターン文字が、Eclipseが改行を台無しにする理由になる可能性があります。
プロジェクトから1つまたは2つのファイルを取得して変換します。これを行うには、Notepad ++を使用できます。ファイルを開くだけで、Format-> Convert to Unix(windowsを使用している場合)に移動します。
Linuxでは、コマンドラインでこれを試してください:
sed 's/$'"/`echo \\\r`/" yourfile.Java > output.Java