Что означает «патч неожиданно заканчивается в середине линии»?

Это результат моей команды patch:

Hunk #11 merged at 4184,4190. Hunk #12 merged at 4444. Hunk #13 merged at 4944. Hunk #14 NOT MERGED at 5106-5116. Hunk #15 merged at 5290. Hunk #16 merged at 5448. patch unexpectedly ends in middle of line Hunk #17 merged at 5608,5611. 

Команда была

 patch -d ~/SOME_DIR -p1 --merge --verbose -u 

Патч был создан с использованием git:

 git --git-dir ~/SOME_DIR/.git diff -U8 bb1ee538982957b421a4c0e78f30428e73c9a072 HEAD -- malloc.c 

Что patch unexpectedly ends in middle of line , и это проблема? Это относится к hunk 16 или 17? Что я могу найти в файле исправлений, чтобы выяснить, что вызывает это?

2 Solutions collect form web for “Что означает «патч неожиданно заканчивается в середине линии»?”

Сообщение относится к Hunk 16.

Это обсуждение GitHub, вероятно, связано с вашей проблемой.

Речь идет о патче неожиданно заканчивается в середине строки сообщений из-за проблем с CRLF (возврат каретки, строки), когда git сгенерированные различия используются с патчем.

Процитировать вывод:

[..] git может быть очень разборчивым в отношении окончаний строки. Вы на окнах или нет? Во всяком случае, вы должны, вероятно, установить autocrlf в git config. Если вы находитесь в окнах, вы хотите «true», если вы находитесь на mac или linux, вы должны использовать «input» [..]

В статье « Работа с концами строк» GitHub подробно описывает приведенный выше оператор.

Если вы не используете git (комментарий @ maxslepzig касался использования патча в контексте git ), попробуйте добавить возврат каретки в конец вашего файла. Я сделал это, и patch принял мой патч.

  • Сравните старый файл и новый файл, но игнорируйте строки, которые существуют только в новом файле?
  • Сравнение бок о бок с более чем двумя файлами, содержащими числовые значения
  • Зачем использовать diff / patch, когда проще просто использовать cp
  • diff два каталога для изменений и выход формата для использования для скрипта
  • Прочитайте файлы в каталоге и выберите diff
  • Есть ли способ различать строку из разных файлов?
  • Исключать PID при сравнении вывода strace
  • проверьте, находятся ли все файлы из папки в другой папке
  • Сравните два указателя, исключая расширения файлов
  • В Emacs, как мне проверить, что было изменено в буфере (перед сохранением и перезаписью файла)?
  • Сохранение различий в двух файлах для модифицированных и новых дополнений
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.