Как применить патч, вероятно созданный с помощью команды diff -r?

До сих пор я создавал патчи для Linux следующим образом:

diff -rupN oldDir newDir > fix.patch

и применил их с этим (из старого каталога):

patch -p1 < fix.patch

Теперь мне нужно сделать патч, созданный кем-то другим, и когда я пробую этот метод, я получаю:

patch: **** Only garbage was found in the patch input.

Я не уверен, как создается этот патч (он имеет расширение .diff). Частичное содержимое файла патча: (просто изменены имена некоторых файлов/папок)

Only in ../oldDir: someFile1.a
diff -r ../oldDir/someFolder1/SomeFile3 ./someFolder1/SomeFile3
10c10
< #someContent1 
---
> #someContent1
Only in ../oldDir/someFolder1/someFolder2: someFile2.a
diff -r ../wfd_oldDir/someFolder1/someFolder2/someFile3 ./someFolder1/someFolder2/someFile3
2c2
< ##### Change the following for your environment: 
---
> ##### Change the following for your environment:
15,16c15,16
< LIBRARY_LINK =        ar cr 
< LIBRARY_LINK_OPTS =   
---
> LIBRARY_LINK =        ar cr
> LIBRARY_LINK_OPTS =
36c36
<   $(C_COMPILER) -c $(C_FLAGS) $<       
---
>   $(C_COMPILER) -c $(C_FLAGS) $<

....... (Продолжать) .......

Как я могу применить этот патч?


person kliketa    schedule 10.08.2012    source источник


Ответы (1)


Проверьте окончания строк unix/windows

person Edson Medina    schedule 10.08.2012
comment
... окончания строк или другие проблемы с кодировкой символов. Например, патч, закодированный в UTF-16, не будет работать. - person derobert; 10.08.2012
comment
Я проверю это, но я попытался сделать тестовый патч, используя diff -r oldDir newDir (в Linux), и все равно получаю это сообщение. Можно ли применить патч, созданный таким образом? - person kliketa; 10.08.2012
comment
Голосование за: вы правы, есть символы новой строки Windows, но патч делает это среди прочего: он удаляет новые строки Windows ... Любое предложение? - person kliketa; 10.08.2012
comment
Попробуйте удалить новые строки Windows из патча и посмотрите, работает ли это. - person Edson Medina; 12.08.2012