Я пытаюсь применить патч к файлу с окончанием строки Windows в системе Linux, и у меня возникают конфликты из-за возврата каретки в файле .
Параметр -l
(игнорировать пробелы) не игнорирует символы EOL. Есть ли способ заставить патч игнорировать окончания строк в стиле Windows?
Попробуйте использовать параметр --binary, из man-страницы (выделено мной)
- binary
Записать все файлы в двоичном режиме, кроме стандартного вывода и / dev / TTY. При чтении отключите эвристику для преобразования концов строки CRLF в окончания строк LF. (В POSIX-совместимых системах чтение и запись никогда не преобразуют окончания строк. В Windows чтение и запись по умолчанию преобразуют окончания строк, а исправления должны генерироваться diff --binary, когда окончания строк значимы.)
Я не совсем понимаю вышесказанное, но у меня на компьютере с Linux работало применение патча Unix к файлу DOS.
У меня была эта проблема с diff, который был вручную скопирован и вставлен из консольного вывода git diff
, в файл патча с LF. Чтобы этот файл исправления снова заработал - чтобы его можно было применить к фактическим файлам, которые использовали CR и LF - нужно было сделать несколько вещей вручную:
joe
была очень полезна, потому что она исправляла цвета как только я их исправил.