質問

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

スクリプトを作成することもできますが、それによって Eclipse プロジェクト ファイルが台無しになるのではないかと考えています。

役に立ちましたか?

解決

述べたように ここ そして ここ:

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

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

alt text

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

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

他のヒント

私も1つのラインの変化に汚染されたファイルを日食、同じでした。 ソリューション:gitの設定Eclipseの - >エントリを追加します。 キー:core.autocrlf 値:true

 loading=

"ここに画像の説明を入力します。

 loading=

"ここに画像の説明を入力します。

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

Eclipse ソリューションと前述のツールに加えて、 別の答え, 、 考慮する フリップ. 。通常の改行と Windows の改行の間で「反転」することができ、ファイルのタイムスタンプやその他の統計情報を保持するなどの優れた機能を備えています。

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

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

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

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

プロジェクトから1つのまたは2つのファイルをつかみ、それらを変換します。あなたはこれを行うには、メモ帳++を使用することができます。ただ、ファイルを開くFormat-に行く> Unixの(Windowsを使用している)に変換します。

Linuxの場合だけで、コマンドラインでこれを試してください:

sed 's/$'"/`echo \\\r`/" yourfile.java > output.java

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

find ./ -wholename "\*CVS/[RE]\*" -exec dos2unix -q -o {} \;
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top