Drupal → Как пропатчить Drupal модуль в Windows

28.05.2011

Чтобы пропатчить модуль с помощью файла с расширением .patch, нужно:

1. Установить msysGit, если его у вас ещё нет.

2. Скачать патч (файл .patch) в папку с модулем.

3. Открыть консоль Git и с помощью команды cd перейти в каталог модуля, который нужно пропатчить:

$ cd /path/to/module

4. Набрать в консоле:

$ git apply -v patchname.patch

В консоле должно появится что-нибудь типа:

Checking patch filename...
Applied patch filename cleanly.

Это значит, что модуль пропатчен успешно.

Бывают случаи, когда патч был создан с опцией --no-prefix и при применении такого патча Git выдаст:

fatal: git diff header lacks filename information when removing 1 leading pathname components (line 5)

Тогда патчить нужно c опцией -p0:

$ git apply -v -p0 patchname.patch

Подробнее про работу с патчами.

Похожие записи

Комментарии

Гость
07.06.2011, 15:45

Зачем такие мудренные извраты с установкой целого GIT для применения патчей??? Лучше использовать для разработки полноценную IDE, где есть простая и наглядная поддержка diff/patch :) Или хотябы те же самые WinMerge / KDiff.

да нет никаких извратов, Git должен быть у любого drupal разработчика, ничего страшного в нём нет

Git должен быть у любого drupal разработчика

Других систем контроля версий не признаете? :)

Xandeadx, большое спасибо! С msysGit всё получилось!)

А вот патчи из unxutils и gnuwin32 только издевались надо мной(
Несмотря на то, что запускал их из cmd, окно либо зависало на patch.exe, если запускать его отдельно, либо проскакивало, если запускать сразу с параметрами. При этом ничего не изменялось, а увидеть причину было нельзя.

Только благодаря msysGit, получилось путем экспериментов удалить лишние строки из патча (который был сделан в NetBeans, и поэтому немного не так).

И еще, не знаю, является ли это особенностью данной библиотеки, или так надо делать вообще, но для запуска патча понадобилось перевести из UTF-8 без BOM в просто UTF-8. И если в патче меняется несколько файлов, нужно чтобы все они прошли проверку, иначе ни один не сработает, хотя некоторые и будут успешно проверены.

Кстати в терминале msysGit не надо использовать обратные слеши.. указывая путь...

Гость
09.03.2013, 00:38

Вот спасибо, правда с первого раза прочел и не сообразил что это все так просто (т.к. с GIT не работал) но прочить совсем элементарно.
... и если есть кого тут... то в 8 марта что ли)))

Гость
28.05.2013, 16:52

Спасибо большое за проделанный труд! Редко пишу комменты, но считаю что не поблагодарить тебя за твои труды не хорошо:) На твоем сайте собраны почти все актуальные проблемы с друпалом и их решения. Ты крут, еще раз спасибо!

Антон
18.07.2013, 15:24

Спасибо! Раньше как то пытался патчить, не получалось. А с этой инструкцией получилось.

Гость
29.04.2014, 18:46

каспер зарубил установку гита из ссылки поста)))))

Спасибо автору все заработало как надо еcли бы не ваш блог писал бы сайты на wordpress

Владимир
19.05.2020, 15:55

Респект за то, что делитесь наработками. Многие посты помогли найти решение. Хорошей музыки, господин девелопер.

Добавить комментарий