xandeadx.ru Блог музицирующего веб-девелопера

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

Опубликовано в

Чтобы пропатчить модуль с помощью файла с расширением .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

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

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

Комментарии RSS

Или patch.exe из unxutils.

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

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

А как патчить модули в ubuntu?

так же

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

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

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

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

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

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

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

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

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

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

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

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

Оставить комментарий

Содержимое этого поля является приватным и не будет отображаться публично. Если у вас есть аккаунт в Gravatar, привязанный к этому e-mail адресу, то он будет использован для отображения аватара.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступные HTML теги: <a> <i> <b> <strong> <code> <ul> <ol> <li> <blockquote> <em> <s>
  • Строки и параграфы переносятся автоматически.
  • Подсветка кода осуществляется с помощью тегов: <code>, <css>, <html>, <ini>, <javascript>, <sql>, <php>. Поддерживаемые стили выделения кода: <foo>, [foo].

Подробнее о форматировании