190

デスクトップがクラッシュしたときに、EclipseワークスペースをLinuxからWindowsに移動する必要がありました。1週間後、私はそれをLinuxにコピーして戻し、コードを作成し、CVSにコミットします。そして残念ながら、Windowsの改行は多くのファイルを汚染しているため、CVS diffは、1行か2行を変更した場合でも、ファイル全体をダンプします。

スクリプトを作成することはできますが、Eclipseプロジェクトファイルが台無しになるのではないかと思います。

4

6 に答える 6

364

ここここで述べたように:

ファイルのエンコーディングをUnixに設定UTF-8し、新しいファイルの行末をUnixに設定して、テキストファイルがWindows OSに固有ではない形式で保存され、異種の開発者デスクトップ間で最も簡単に共有されるようにします。

  • ワークスペース設定に移動します(一般:ワークスペース)
  • テキストファイルのエンコーディングをに変更しますUTF-8
  • 新しいテキストファイルの行区切り文字を[その他]に変更し、選択リストから[Unix]を選択します

代替テキスト

  • 注:既存のファイルの行末を変換するには、Eclipseでファイルを開き、[File : Convert Line Delimiters to : Unix

ヒント:パッケージエクスプローラーで[次に]を選択し、メニューエントリに移動すると、既存のファイルを簡単に変換できます。File : Convert Line Delimiters to : Unix

于 2009-12-11T12:01:41.813 に答える
12

1行変更しても、同じ、日食で汚染されたファイルがありました。解決策:Eclipse git設定->エントリの追加:キー:core.autocrlf値:true

ここに画像の説明を入力してください

ここに画像の説明を入力してください

于 2016-11-11T09:55:01.573 に答える
8

便利なbashユーティリティがあります---dos2unixこれはDOS/MACからUNIXへのテキストファイル形式のコンバーターであり、ディストリビューションにまだインストールされていない場合は、パッケージマネージャーを介して簡単にインストールできるはずです。 dos2unixのマニュアルページ

于 2009-12-11T06:42:52.857 に答える
7

Eclipseソリューションと別の回答で言及されているツールに加えて、 flipを検討してください。通常の改行とWindowsの改行の間でどちらの方向にも「反転」でき、ファイルのタイムスタンプやその他の統計を保持するなどの優れた機能を実行します。

このように使用して、問題を解決できます。

find . -type f -not -path './.git/*' -exec flip -u {} \;

(gitを使用する場合に備えて、.gitディレクトリを無視する句を挿入しましたが、flipはデフォルトでバイナリファイルを無視するため、これは必要ない場合があります。)

于 2013-01-10T02:14:13.663 に答える
3

あなたはそれを試してみることができます。問題は、新しい行が与えられると、Windowsが改行と改行を挿入することです。Unixシステムは改行を挿入するだけです。したがって、余分なキャリッジリターン文字が、Eclipseが改行を台無しにする理由である可能性があります。

プロジェクトから1つまたは2つのファイルを取得し、それらを変換します。Notepad++を使用してこれを行うことができます。ファイルを開き、[フォーマット]-> [Unixに変換]に移動します(Windowsを使用している場合)。

Linuxでは、コマンドラインでこれを試してください。

sed 's/$'"/`echo \\\r`/" yourfile.java > output.java
于 2009-12-11T06:39:45.967 に答える
3

すべての子ディレクトリのCVS/*ファイルからキャリッジリターン(\r)を再帰的に削除するには、UNIXシェルで次のコマンドを実行します。

find ./ -wholename "\*CVS/[RE]\*" -exec dos2unix -q -o {} \;
于 2011-08-10T14:22:57.177 に答える