Создание патча для модуля 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?

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

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

Подключение к GitHub по SSH: пошаговая инструкция

Сентябрь 3, 2025 г.

Работа с репозиториями через SSH удобнее и безопаснее, чем по HTTPS — вам не нужно вводить пароль при каждом пуше, а авторизация выполняется с помощью криптографических ключей. Разберём процесс полностью: от создания ключа до проверки подключения. ...

Читать

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

Июль 26, 2017 г.

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

Читать

Используем PAT для работы с github

Август 19, 2021 г.

GitGub отключили парольную авторизацию, и предлагают использовать SSH с PAT. О том как это настроить и использовать читайте далее в статье. Сложно избавиться о раздражения, когда требуется что то опять настраивать для выполнения ежедневных рутинных ...

Читать

Организуем автодеплой изменений из репозитория для проекта на Drupal

Август 23, 2018 г.

Когда над проектом работает несколько разработчиков, то возникают определенные структурные и организационные вопросы. Каждый программист обычно работает ...

Читать
 

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

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



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

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

  1. VasyOK:

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

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

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