Drupal-сообщество

Я нашел просто невероятно интересную и удобную вещь для работы с патчами, это расширение для drush drush_iq
https://www.drupal.org/project/drush_iq
Что оно делает - можно одной строчкой скачать конкретный патч из issue модуля и применить его, а так же можно одной строчкой создать патч из своих изменений и одновременно закоммитить его в нужную issue на drupal.org - очень удобно!

http://cgit.drupalcode.org/drush_iq/plain/README.txt?id=...

Это статья будет полезна тем, у кого есть доступ для совершения commit'ов в опубликованные друпал-модули. Например, авторам этих модулей. Я буду рассказывать на примере моего модуля comment_mover.
Итак, предположим в какой-то issue вашего модуля кто-то выложил патч для решения какой-то проблемы и вас он устраивает. Теперь надо закоммитить его в наш модуль так, чтобы автором решения был указан тот человек, кто сделал этот патч, и у того человека сделалась запись в его аккаунте об этом коммите.
Есть два варианта - когда данные коммитера уже указаны в патче, и когда нет. Смотрим...

Все инструкции о том, как применять патчи (.patch файлы) к друпал-модулям (или хотя бы просто git-репозиториям) написаны для использования под Linux. Под Windows, к сожалению, нормальной визуальной программы не существует ( TortoiseGit не умеет применять патчи - apply patch serial не работает в нашем случае).
Для того, чтобы всё же применить патч к нужному нам модулю, надо сделать следущее:
установить MySysGit (у меня уже стоял)
при установке в Пуск добавляется новая группа Git -> Git Bash, запускаем её.
Это нормальная полноценная командная строка как в Linux,...

Я работаю с Drupal, и если вы не разработчик проекта, но всё же хотите ему помочь, то это делается в виде патчей - нужно скачать актуальную версию модуля через git, исправить его код так, как считаешь нужным, и затем создать патч на основе этих изменений. Затем этот патч выкладывается на drupal.org, где другие разработчики его тестируют и если повезет, ваши изменения включат в следующий релиз модуля.

Итак, чтобы сделать патч из-под Windows, нужно делать следущее (я использую Tortoise Git):
создаю пустую папку
на ней правой кнопкой - git clone
Получаем как-то адрес...

Мой первый опыт помощи сообществу на drupal.org начался сразу с того, что меня сделали Maintainer'ом проекта (главным разработчиком).
Для того, чтобы залить свою версию модуля в репозиторий проекта и сделать первый релиз, надо делать следующее:

  1. Если еще ни разу не работали с Git, надо выполнить все действия отсюда Obtaining Git access, а так же идентифицировать себя в git у себя на компе по этому мануалу Identifying yourself to Git (если вы под виндой и используете TortoiseGit,...

Для начала надо скачать файлы, имеющиеся в репозитории.
Надо зайти на страницу проекта, и там сразу заметна ссылка на репозиторий:
1_1.png
Копируем её.

Затем заходим через ssh на хостинг, в директории, соответсвующей вашему виртуальному хосту выполняем команду

git clone ваша_ссылка

Скопируется вся структура файлов из нашего репозитория. Скорее всего это будет как минимум дополнительная подпапка...

http://upgrade.boombatower.com/tools/sql/inline

Конечно, его стоит использовать только для проверки себя пока учишься drupal-7 синтаксису или в тупиковых случаях - если привыкнуть юзать постоянно, это будет потерей времени.

Нужно перейти в ту папку, где создавался этот файл.
Ее можно узнать, посмотрев внутрь файла любым текстовым редактором, например nano. Там первой строчкой будет указан файл, который заменяется. Ищем этот файл у себя, и копируем файл с патчем в ту папку. Затем внутри той папки выполняем команду
patch -p1

Все.

The -p option tells patch how many leading prefixes to strip. For patches created using git, -p1 is normally the right option, and is the default for git apply. If that doesn't work, try either of the above commands with -p0 instead.

Если при этом вы...