ПОШАГОВАЯ ИНСТРУКЦИЯ : как патчить модули под Windows (ЛЕГКИЙ ПУТЬ)
Прислано: restyler
вс, 14/10/2007 - 17:38
Почитал http://drupal.ru/node/8542, ужаснулся. Вот моя версия:
Шаг1: качаем пакет утилит http://unxutils.sourceforge.net/ , находим там patch.exe
Шаг2: используем по аналогии с unix версией. Т.е. кидаем патч в корень нашего друпала, запускаем командную строку, и patch -p0 < file.patch (patch.exe должен быть доступен через системные пути, которые можно посмотреть набрав path в командной строке)
UPD: Если при патчинге возникают проблемы ( Assertion failed: hunk, file .... ) откройте файл патча текстовым редактором и пересохраните (чтобы unix-style окончания строк переконвертились в windows-style)
- restyler's blog
- Для комментирования войдите или зарегистрируйтесь
У меня пишет
Не удается найти указанный файл.
- Для комментирования войдите или зарегистрируйтесь
кто пишет? в командной строке? Значит patch.exe не в ту папку кинул.. попробуй прописать полный путь к нему,
c:/windows/patch -p0 < file.patch
- Для комментирования войдите или зарегистрируйтесь
| Спасибо, добрый человек. |
- Для комментирования войдите или зарегистрируйтесь
Прописал полный путь
В итоге командная строка выдала
C:\WINDOWS>patch -p0 < quicktags.patch
patching file `quicktags.module'
Assertion failed: hunk, file patch.c, line 321
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
- Для комментирования войдите или зарегистрируйтесь
Кстати, если у кого-то получилось "по легкому" - то это замечательно, ибо не напиши я трактат, вы не написали бы более легкий путь :)
- Для комментирования войдите или зарегистрируйтесь
Serious Sam рулит :)
- Для комментирования войдите или зарегистрируйтесь
C:\WINDOWS>patch -p0 < quicktags.patch patching file `quicktags.module' Assertion failed: hunk, file patch.c, line 321
пересохрани патч текстовым редактором, который сообразит поменять никсовые переводы каретки на win
- Для комментирования войдите или зарегистрируйтесь
Кстати, если у кого-то получилось "по легкому" - то это замечательно, ибо не напиши я трактат, вы не написали бы более легкий путь :)
тоже верно )
- Для комментирования войдите или зарегистрируйтесь
здравствуйте. применяю патчи безопасности для Друпал 5,2.
без смены окончаний строк такая ошибка не вылезала.
просто начиналось выполнение патча, причем какое то до бесконечности зацикленное,
....
missing header for unified diff at line 575 of patch
can't find file to patch at input line 575
Perhaps you used the wrong -p or --strip option?
File to patch:
Skip this patch? [y]
Skipping patch.
missing header for unified diff at line 577 of patch
can't find file to patch at input line 577
Perhaps you used the wrong -p or --strip option?
File to patch:
Skip this patch? [y]
Skipping patch.
missing header for unified diff at line 579 of patch
can't find file to patch at input line 579
Perhaps you used the wrong -p or --strip option?
File to patch:
Skip this patch? [y]
Skipping patch.
.....
изменений насколько я понимаю не происходило, так как везде "Skipping patch".
в общем, остановил CTRL+BREAK, пересохранил патч, изменив окончания строк c UNIX на WIN.
теперь выдается следующее
C:\>patch -p0 < D:\home\site\www\SA-2007-024-5.2.patch
can't find file to patch at input line 8
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: includes/common.inc
|===================================================================
|RCS file: /cvs/drupal/drupal/includes/common.inc,v
|retrieving revision 1.611.2.9
|diff -u -F^f -r1.611.2.9 common.inc
|--- includes/common.inc 26 Jul 2007 19:16:45 -0000 1.611.2.9
|+++ includes/common.inc 17 Oct 2007 19:28:03 -0000
--------------------------
File to patch:
Skip this patch? [y]
Skipping patch.
2 out of 2 hunks ignored
C:\>
в чем может быть дело?
или описаные способы годятся только для патчинга модулей?
кстати такой момент: файлы patch.exe и все файлы патчей лежат в каталоге www, но хотя patch.exe доступен из переменных окружения, файлы патчей,что указываются в параметре приходится прописывать полным путем. иначе выдается " файл не найден". странно.
- Для комментирования войдите или зарегистрируйтесь
рабочая ссылка - http://sourceforge.net/projects/unxutils
но ничего у меня под вистой не получилось. :(
- Для комментирования войдите или зарегистрируйтесь
Ребята, расскажу по секрету: самый простой путь патчить код друпала, - это пересесть на Unix-like свободную операционную систему, например: GNU/Linux, *BSD и.т.п. =) =) =)
- Для комментирования войдите или зарегистрируйтесь
патч екзе не кОчается. ни у кого нет файлика для патчей под винду?
- Для комментирования войдите или зарегистрируйтесь
патч екзе не кОчается. ни у кого нет файлика для патчей под винду?
я ссылку выше привел.
- Для комментирования войдите или зарегистрируйтесь
А как запатчить на удаленной машине (хостинге) ?
- Для комментирования войдите или зарегистрируйтесь
Кстати скачал, там нет patch.exe
- Для комментирования войдите или зарегистрируйтесь
патч екзе не кОчается. ни у кого нет файлика для патчей под винду?
FF'ом все качается.
Кстати скачал, там нет patch.exe
куда же он делся? есть он там.
- Для комментирования войдите или зарегистрируйтесь
Блин, да, всё ок, я сурсы скачал нечаянно :)
Кстати, если проект на хостинге и есть доступ по Телнет или SSH, можно пропатчить там :)
- Для комментирования войдите или зарегистрируйтесь
Я скачал с сервера нужный мне .patch файл, файл который нужно пропатчить... и patch.exe в положил в одну папку.
Через Total Commander - в командной строке, вбил комманду: patch -p0 < multiple_node_access.patch
Хуякс, окошко открылось.. и сразу же закрылось, ничего не изменилось.
В чём может быть проблема?
ps. в файле патча, в самом начале, прописал путь до файл, который нужно пропатчить:
--- node.module 2008-10-09 09:42:50.000000000 -0400
+++ node.module.new 2008-10-09 09:43:11.000000000 -0400
- Для комментирования войдите или зарегистрируйтесь
ничего в файло с патчем прописывать не нужно. лог действий команды patch.exe можно посмотреть если вызвать cmd в том же самом totalcmd находясь в нужной папке. и потом уже в окошке cmd набрать нужную команду.
- Для комментирования войдите или зарегистрируйтесь
Ребята, расскажу по секрету: самый простой путь патчить код друпала, - это пересесть на Unix-like свободную операционную систему, например: GNU/Linux, *BSD и.т.п. =) =) =)
LOL это примерно как: для того чтобы художнику в доме помыть руки под краном - ему нужно снести дом, вырыть яму, дождаться пока в яму наберется воды от дождей и затем вымыть руки...
- Для комментирования войдите или зарегистрируйтесь
Некорректное сравнение.
- Для комментирования войдите или зарегистрируйтесь
работать с утилитами для командной строки под unix-like системами на порядок комфортнее. это факт.
а под виндоуз можно посоветовать использовать tortoisesvn. оно умеет применять *.patch'и через gui. тут же показывать результат и вносить коррективы.
- Для комментирования войдите или зарегистрируйтесь
проблема аналогичная описанной выше - везде
File to patch: Skip this patch? [y] Skipping patch.
и ничего не патчит. Пересохранения не помогают. Как решать?
- Для комментирования войдите или зарегистрируйтесь
и ничего не патчит. Пересохранения не помогают. Как решать?
такая же фигня :(
- Для комментирования войдите или зарегистрируйтесь
решил задачу
1. открываешь file.patch редактором Notepad++
2. меню Кодировки ---> Преобразовать в Win-формат
3. сохраняем и далее как в сабжевой инструкции
и все идет как по маслу
- Для комментирования войдите или зарегистрируйтесь













Комментарии