Drupal.org issues: применить патч с сохранением авторства

Это статья будет полезна тем, у кого есть доступ для совершения commit'ов в опубликованные друпал-модули. Например, авторам этих модулей. Я буду рассказывать на примере моего модуля comment_mover.
Итак, предположим в какой-то issue вашего модуля кто-то выложил патч для решения какой-то проблемы и вас он устраивает. Теперь надо закоммитить его в наш модуль так, чтобы автором решения был указан тот человек, кто сделал этот патч, и у того человека сделалась запись в его аккаунте об этом коммите.
Есть два варианта - когда данные коммитера уже указаны в патче, и когда нет. Смотрим на патч. Пример issue: https://www.drupal.org/node/2367155, пример патча: https://www.drupal.org/files/issues/comment_mover.2367155.2.patch , видим что данных коммитера нет.
Если у вас стоит замечательный плагин Drueditor, то в самом низу этого issue уже есть текстбокс с нужным текстом команды для коммита, просто используйте её:

Если вам лень ставить drueditor, то посмотрите профиль пользователя, найдите его логин и email и вставьте в структуру следующего формата:

git commit -m 'Issue #2367155 by salvis: Error when cutting comments' --author="salvis <salvis@82964.no-reply.drupal.org>"

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

https://www.drupal.org/node/1146430

UPD: Теперь для скачивания и применения патча я теперь пользуюсь расширением для drush drush_iq
http://cgit.drupalcode.org/drush_iq/plain/README.txt?id=refs/heads/7.x-1.x
Как им пользоваться в общих случаях я уже писал здесь http://nikita-petrov.com/node/393
Но у этого расширения есть еще и другое применение - если вы maintainer модуля и применяете патч из issue через команду drush iq-apply-patch 12345-#6 то он уже автоматически будет подставлять автора этого патча в коммит! Т.е. делать вообще ничего не надо, просто к примеру используем эту команду, проверяем что все работает так как надо, и коммитим изменения как обычно

git add .
$ git commit -m "Minor adjustment to contributor's excellent submission"

При этом авторство патча сохранится и автор получит запись себе в профиль на drupal.org.

Удачи!

Комментарии

Добавить комментарий