Создание патча для модуля 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-6a0ae57235230966288576/] Вы увидите два списка изменений - файлы, которые добавлены в commit и список unstaged changes ...

Читать

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

Август 19, 2021 г.

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

Читать

Создание ветки на основе существующей в GIT

Июль 30, 2018 г.

Создание новой ветки - это рутинная операция в GIT. Как указать на основе какой существующей ветки нужно создать новую? По умолчанию, за основу будет взята текущая ветка, в которой вы находитесь. Например: [crayon-6a0ae572355da737119706/] Сначала ...

Читать

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

Май 1, 2026 г.

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

Читать
 

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

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



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

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

  1. VasyOK:

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

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

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