1

Linux にデプロイされた Rails プロジェクトを含む Git リポジトリ (元は CVS、次に SVN、現在は Git) があります。すべてがうまくいくようです。

git に変換したので、リポジトリ内のファイルの多くにCRLF行末が含まれていることがわかりました。すべてが一貫していることを望みますが ( )、行末LFを持つすべてのファイルの編集履歴を失うことを犠牲にしてはいけません。CRLF

ファイルをそのままにしておくことができない理由を考えてもらえますか? シェル スクリプトや cron ファイルなどに問題があり、うまく応答しなかったことを覚えているようですCRLF

core.autocrlfまた、Git オプションとについてはすべて知っていますが、すべてのテキスト ファイルをチェックアウト時に (Linux 側で) 変換する方法core.safecrlfありますか?つまり、core.autolf オプションなどですか?CRLFLF

4

2 に答える 2

1

davitenio の回答と Daniel Beardsley のコメントへのコメントこの小さなプログラムを dos2unix のラッパーとして使用できると思います。

#!/bin/sh
for f in $@; do
    if [ $(file -b -n -i -m /dev/null $f | grep -c "text") -gt 0 ]; then
        dos2unix $f
    fi
done

ただし、失敗するコーナーケースがまだいくつかある可能性があります。

于 2010-06-22T11:12:13.430 に答える