Создание патча для модуля Drupal

В Drupal для решения ваших задач вы подбираете contributed модули. Отлично, если модуль поддерживается автором, в нем нет багов и есть нужный вам функционал. В противном случае, вы, возможно, правите модуль и используете его для себя.

Но, наверное, было бы здорово поделиться исправлениями и с другими? Для этого не обязательно начинать новый проект, можно лишь ограничиться публикацией патча.

Создание патча для модуля Drupal по шагам.

Для создания патча обычно пользуются командой git diff. Когда у вас уже готовы изменения модуля, выполняется следующее:

  1. Скачиваем оригинальный дистрибутив модуля;
  2. Распаковываем его в отдельную папку (не важно где, например в /tmp);
  3. Инициализируем в папке с ориг. модулем git — git init
  4. Добавляем все файлы модуля в текущий  индекс — git add .
  5. Выполняем первый коммит, создавая данные с которыми будем потом сравнивать наши изменения — git commit -m «Initial commit»
  6. Теперь копируем модифицированные файлы модуля поверх оригинальных. Все готово для сравнения.
  7. Получаем сравнение в виде файла : 

После данных манипуляций вы получите file.patch, которым можно поделиться, к примеру, где то в обсуждениях модуля на drupal.org или на собственном сайте.

Как использовать/применить patch?

Нужно зайти в корень плагина (а также скопировать туда сам патч), который требуется пропатчить, и выполнить:

Мало букафф? Читайте есчо !

Получить в git список измененных файлов

Июль 26, 2017 г.

Небольшая шпаргалка по git. Файлы измененные с момента последнего коммита, т.е. текущие изменения, можно вывести командой [crayon-6a5a1681c2fc3346261158/] Вы увидите два списка изменений - файлы, которые добавлены в commit и список unstaged changes ...

Читать

Как обновить ветку в Git без переключения на неё

Май 1, 2026 г.

Предположим, вы работаете в ветке feature, а коллеги обновили master. Вам нужно подтянуть свежие изменения в локальный master, но не хочется терять контекст и переключаться туда-обратно. Стандартный git pull работает только с текущей веткой. Что делать? ...

Читать

Как изменить origin в GIT

Декабрь 11, 2020 г.

Можно зайти в настройки .git/config и поменять url источника прямо там, но предпочтительно делать это через командную строку. Origin меняется редко, давайте посмотрим как. Изначально вы задаёте связь с репо следующей командой: [crayon-6a5a1681c345d431756877/] ...

Читать

Изменяем историю коммитов в GIT

Март 18, 2026 г.

Рассмотрим две наиболее частые операции - изменение названия коммита и слияние нескольких коммитов в один. Допустим, вы выполнили команду [crayon-6a5a1681c3649844052902/] И увидели следующую историю ваших коммитов в ветке: [crayon-6a5a1681c3653749070183/] ...

Читать
 

Комментарии к «Создание патча для модуля Drupal»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий:

Много комментариев в “Создание патча для модуля Drupal”

  1. VasyOK:

    Спасибо. Пригодилось.

    Если так,
    git diff —no-prefix > file.patch
    то пишет:
    fatal: неоднозначный аргумент «—no-prefix»: неизвестная редакция или не путь в рабочем каталоге.
    Используйте «—» для отделения путей от редакций, вот так:
    «git […] — […]»

    git diff > file.patch — так вроде заработало.