diff を使用してパッチを作成しようとしていますが、新しいファイルを作成するときにファイルで使用されている行末文字を使用したり、ファイルが変更されたときに行末を変更したりするパッチを取得できません。基本的に、私はやっています:
cp -r dir1 dir3
diff -ruN dir1 dir2 > dir3\patch.txt
cd dir3
patch -p1 < patch.txt
dir1
との間のすべての変更は適切に適用されますが、ファイルが行末マーカーとして使用されている場合でも、dir2
新しいファイルの行末文字がデフォルトで に設定されます。また、それらの違いが行末の変更だけであるファイルは、まったくパッチされていません-diffは変更を認識していないようです。CR+LF
dir2
LF
したがって、実行diff -rq dir2 dir3
すると大量の が得られますがFiles aaa and bbb differ
、正常にdiff -rwq dir2 dir3
動作します。
Windows XP でdiff - GNU diffutils version 2.7
andpatch 2.5
を使用しています。UnxUtils
パッチに含まれる新しいファイルと変更されたファイルの行末を元のファイルのままにする方法はありますか?