ПОШАГОВАЯ ИНСТРУКЦИЯ : как патчить модули под 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)

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано ursus в вс, 14/10/2007 - 18:45.

У меня пишет
Не удается найти указанный файл.


Опубликовано restyler в пн, 15/10/2007 - 10:10.

кто пишет? в командной строке? Значит patch.exe не в ту папку кинул.. попробуй прописать полный путь к нему,
c:/windows/patch -p0 < file.patch


Опубликовано sas@drupal.org в пн, 15/10/2007 - 10:15.

Спасибо, добрый человек.


Опубликовано ursus в пн, 15/10/2007 - 10:25.

Прописал полный путь
В итоге командная строка выдала

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.


Опубликовано ursus в пн, 15/10/2007 - 11:35.

Кстати, если у кого-то получилось "по легкому" - то это замечательно, ибо не напиши я трактат, вы не написали бы более легкий путь :)


Опубликовано sas@drupal.org в пн, 15/10/2007 - 14:10.

Serious Sam рулит :)


Опубликовано restyler в пн, 15/10/2007 - 15:22.

C:\WINDOWS>patch -p0 < quicktags.patch
patching file `quicktags.module'
Assertion failed: hunk, file patch.c, line 321

пересохрани патч текстовым редактором, который сообразит поменять никсовые переводы каретки на win


Опубликовано restyler в пн, 15/10/2007 - 15:28.

Кстати, если у кого-то получилось "по легкому" - то это замечательно, ибо не напиши я трактат, вы не написали бы более легкий путь :)

тоже верно )


Опубликовано naumov13 в чт, 01/11/2007 - 07:55.

здравствуйте. применяю патчи безопасности для Друпал 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 доступен из переменных окружения, файлы патчей,что указываются в параметре приходится прописывать полным путем. иначе выдается " файл не найден". странно.


Опубликовано ii в сб, 25/10/2008 - 19:18.

рабочая ссылка - http://sourceforge.net/projects/unxutils

но ничего у меня под вистой не получилось. :(


Опубликовано Ne01eX в вс, 16/11/2008 - 09:25.

Ребята, расскажу по секрету: самый простой путь патчить код друпала, - это пересесть на Unix-like свободную операционную систему, например: GNU/Linux, *BSD и.т.п. =) =) =)


Опубликовано andron13 в ср, 14/01/2009 - 16:54.

патч екзе не кОчается. ни у кого нет файлика для патчей под винду?


Опубликовано ii в сб, 17/01/2009 - 06:42.

"andron13" написал(а):

патч екзе не кОчается. ни у кого нет файлика для патчей под винду?

я ссылку выше привел.


Опубликовано iex в пн, 13/04/2009 - 14:20.

А как запатчить на удаленной машине (хостинге) ?


Опубликовано iex в пн, 13/04/2009 - 14:37.

Кстати скачал, там нет patch.exe


Опубликовано EllECTRONC в пн, 13/04/2009 - 14:49.

"andron13" написал(а):

патч екзе не кОчается. ни у кого нет файлика для патчей под винду?

FF'ом все качается.

"iex" написал(а):

Кстати скачал, там нет patch.exe

куда же он делся? есть он там.


Опубликовано iex в вт, 14/04/2009 - 11:36.

Блин, да, всё ок, я сурсы скачал нечаянно :)
Кстати, если проект на хостинге и есть доступ по Телнет или SSH, можно пропатчить там :)


Опубликовано BassEast в чт, 14/05/2009 - 14:05.

Я скачал с сервера нужный мне .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


Опубликовано Ne01eX в пт, 22/05/2009 - 18:25.

ничего в файло с патчем прописывать не нужно. лог действий команды patch.exe можно посмотреть если вызвать cmd в том же самом totalcmd находясь в нужной папке. и потом уже в окошке cmd набрать нужную команду.


Опубликовано PVasili в чт, 04/06/2009 - 11:21.

"Ne01eX" написал(а):

Ребята, расскажу по секрету: самый простой путь патчить код друпала, - это пересесть на Unix-like свободную операционную систему, например: GNU/Linux, *BSD и.т.п. =) =) =)

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


Опубликовано Ne01eX в вс, 14/06/2009 - 11:45.

Некорректное сравнение.


Опубликовано v1adimir в вс, 14/06/2009 - 12:19.

работать с утилитами для командной строки под unix-like системами на порядок комфортнее. это факт.

а под виндоуз можно посоветовать использовать tortoisesvn. оно умеет применять *.patch'и через gui. тут же показывать результат и вносить коррективы.


Опубликовано jason32 в ср, 17/06/2009 - 08:25.

проблема аналогичная описанной выше - везде

File to patch:
Skip this patch? [y]
Skipping patch.

и ничего не патчит. Пересохранения не помогают. Как решать?


Опубликовано DennisVV в чт, 19/11/2009 - 14:05.

"jason32" написал(а):

и ничего не патчит. Пересохранения не помогают. Как решать?

такая же фигня :(


Опубликовано DennisVV в чт, 19/11/2009 - 14:29.

решил задачу
1. открываешь file.patch редактором Notepad++
2. меню Кодировки ---> Преобразовать в Win-формат
3. сохраняем и далее как в сабжевой инструкции
и все идет как по маслу


Опубликовано jdex в вс, 03/10/2010 - 20:35.

Спасибо Вам, restyler! Очень давно эта тема меня "беспокоила". Теперь не беспокоит!


Опубликовано Trolzen в чт, 07/10/2010 - 16:46.

jason32 написал(а):

проблема аналогичная описанной выше - везде

File to patch:
Skip this patch? [y]
Skipping patch.

и ничего не патчит. Пересохранения не помогают. Как решать?

Тем, у кого не патчит. Сначала нужно перейти в папку с друпалом:
cd c:\...
А потом уже патч накатывать:
patch -p0 ...


Опубликовано Vitalaa в пт, 15/10/2010 - 09:08.

Спасибо за эту тему, пригодилась сильно, день парился с этим вопросом, пока не прочитал, что всё ТАК просто.

Свои соображения:

поставил unxutils, файлов этой проги никуда не копировал,

открыл патч-файл AkelPad'ом, в меню нашёл: "правка-> формат новой строки-> dos/windows", сохранил,

команду для патча засунул в bat-файл, положил его и патч-файл в корень друпала, запустил bat-файл из Command Prompt Portable (можно использовать и командную строку из стандартных программ Windows и Far manager и даже наверно Norton Commander)

И было мне счастье, когда я увидел в окне командной строки список пропатченных файлов.


Опубликовано DennisVV в пт, 15/10/2010 - 14:02.

есть кстати для патчинга файлов еще чисто виндоввые проги: WinMERGE и TortoiseSVN
только какая из них и что именно делает я не помню... то ли они вообще только вместе робят...
какой-то из них я даже пользовался когда-то


Опубликовано digital_sword в вс, 24/10/2010 - 17:11.

Файл, который патчится: с:/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...
А дальше?


Опубликовано Vitalaa в ср, 27/10/2010 - 03:27.

1. Из какого комплекта брал patch.exe? Если unxutils, то я после их установки ехе-шники никуда не копировал.
2. наверно, cd C:/1 ?
3. Открылся, и что сказал?


Опубликовано onexdrk в вс, 06/03/2011 - 15:03.

Тут поподробнее описан этот способ
http://shaman.asiadata.ru/node/74


Опубликовано toshic в вс, 16/10/2011 - 22:53.

Подскажите новичку.Для чего нужно патчиться?


Опубликовано toshic в вс, 16/10/2011 - 22:54.

Я на хрюшке сижу


Опубликовано vaplas в сб, 07/01/2012 - 22:25.

Пробовал всё что здесь указано - не помогло. А вот использование msysGit помогло!)