ПОШАГОВАЯ ИНСТРУКЦИЯ : как патчить модули под 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. сохраняем и далее как в сабжевой инструкции
и все идет как по маслу
- Для комментирования войдите или зарегистрируйтесь
Спасибо Вам, restyler! Очень давно эта тема меня "беспокоила". Теперь не беспокоит!
- Для комментирования войдите или зарегистрируйтесь
проблема аналогичная описанной выше - везде
File to patch: Skip this patch? [y] Skipping patch.
и ничего не патчит. Пересохранения не помогают. Как решать?
Тем, у кого не патчит. Сначала нужно перейти в папку с друпалом:
cd c:\...
А потом уже патч накатывать:
patch -p0 ...
- Для комментирования войдите или зарегистрируйтесь
Спасибо за эту тему, пригодилась сильно, день парился с этим вопросом, пока не прочитал, что всё ТАК просто.
Свои соображения:
поставил unxutils, файлов этой проги никуда не копировал,
открыл патч-файл AkelPad'ом, в меню нашёл: "правка-> формат новой строки-> dos/windows", сохранил,
команду для патча засунул в bat-файл, положил его и патч-файл в корень друпала, запустил bat-файл из Command Prompt Portable (можно использовать и командную строку из стандартных программ Windows и Far manager и даже наверно Norton Commander)
И было мне счастье, когда я увидел в окне командной строки список пропатченных файлов.
- Для комментирования войдите или зарегистрируйтесь
есть кстати для патчинга файлов еще чисто виндоввые проги: WinMERGE и TortoiseSVN
только какая из них и что именно делает я не помню... то ли они вообще только вместе робят...
какой-то из них я даже пользовался когда-то
- Для комментирования войдите или зарегистрируйтесь
Файл, который патчится: с:/views_tree.theme.inc
патч: views_tree.theme_.9.patch
Скачал patch.exe. Дальше закинул 3 файла в папку C:/1 (это нужно)?
в командной строке написал cd c:\
Далее patch -p0 < views_tree.theme_.9.patch, и открылся patch.exe...
А дальше?
- Для комментирования войдите или зарегистрируйтесь
1. Из какого комплекта брал patch.exe? Если unxutils, то я после их установки ехе-шники никуда не копировал.
2. наверно, cd C:/1 ?
3. Открылся, и что сказал?
- Для комментирования войдите или зарегистрируйтесь
Тут поподробнее описан этот способ
http://shaman.asiadata.ru/node/74
- Для комментирования войдите или зарегистрируйтесь
Подскажите новичку.Для чего нужно патчиться?
- Для комментирования войдите или зарегистрируйтесь
Я на хрюшке сижу
- Для комментирования войдите или зарегистрируйтесь
Пробовал всё что здесь указано - не помогло. А вот использование msysGit помогло!)
- Для комментирования войдите или зарегистрируйтесь
















Комментарии