[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Diff геморой, есть знающие?
I++
В общем взрыв мозга, нагемороился я с diff patch вдоволь.

Проблема в следующем, diff версии 3.2 под винду в +++ и ---- ставит следующие:

[CR] - \n
[LF] - \r


Цитата
--- ./head.php[LF]
+++ ./head.php[LF]


Под Unix системами тоже 3 верса, делает так:

Цитата
--- ./head.php[CR][LF]
+++ ./head.php[CR][LF]


И ясень пень патч в истерике умирает при 1 варианте, если внутри патча встречает [CR], а во втором варианте есть встречает [CR] или [LF] все ништяг, как заставить diff в заголовки добавлять [CR] ? мануал не помог, медитировал пару дней, на версе diff под винду например 2.8 работает все ништяк как на unix верса 3.
I++
Так, вроде с diff разобрался biggrin.gif накостылил кое как. Теперь один и тот же патч не применяется на разных платформах, вообще жестяк.
I++
Итак, смог священную инфу вычитать из man прям из консоли :)

Цитата

--binary
          Read and write all files in binary mode, except for standard output and /dev/tty.  This option has no effect on POSIX-conforming systems.  On systems like DOS where this option makes  a  difference,  the
          patch should be generated by diff -a --binary.


Обо...ться..

Пробуем на Windows

перехват делаем popen в режиме rb
diff -uadw original/head.php patched/head.php


Пробуем на Unix

diff -uadw original/head.php patched/head.php > head.patch


Файлы наконец совпали...

Теперь делаем патч.

Пробуем на Windows

patch -u --verbose -i head.patch


Получаем фейловые ханки.

Пробуем на Unix
patch -u --verbose -i head.patch


Все ништяк, все арбайтунг, как так?

Теперича под виндоусами всякими делаем ход конем:

patch -u --binary --verbose -i head.patch


Все ништяк все арбайтунг.

Итог:

Пока, что работает, но нужно попробовать работу в процессе, на реальных исходниках, чувствуется мне, священная война продолжится. :D
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.