Я пытаюсь создать патч, используя diff, но я не могу заставить патч использовать символы конца строки, используемые в файлах при создании нового файла, или изменить конец строки, когда файл меняет его.В основном я делаю:
cp -r dir1 dir3
diff -ruN dir1 dir2 > dir3\patch.txt
cd dir3
patch -p1 < patch.txt
Все изменения между dir1
и dir2
применяются правильно, за исключением того, что символ конца строки для новых файлов по умолчанию равен CR+LF
, даже там, где файлв dir2
использует LF
в качестве маркера конца строки.Кроме того, любые файлы, в которых разница между ними заключается только в изменении конца строки, не исправляются каким-либо образом - diff, похоже, не видит никаких изменений.
Таким образом, запуск diff -rq dir2 dir3
дает кучу Files aaa and bbb differ
, но diff -rwq dir2 dir3
работает нормально.
Я использую diff - GNU diffutils version 2.7
и patch 2.5
из UnxUtils
в Windows XP.
Есть ли способ создания новых и измененных файловвключены в патч сохранить конец строки из исходного файла?