Создать .patch для git-проекта под Windows (TortoiseGit)

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

Итак, чтобы сделать патч из-под Windows, нужно делать следущее (я использую Tortoise Git):
создаю пустую папку
на ней правой кнопкой - git clone
Получаем как-то адрес репозитория проекта (для друпала - нужно зайти на страницу проекта и нажать на закладку version control, т.е. https://drupal.org/project/имяпроекта/git-instructions )
Например, если у нас на друпал-сайте в инструкции написано git clone --branch 7.x-2.x http://git.drupal.org/project/smart_ip.git
то в настройках открывшегося окна toroise git пишем:
url: http://git.drupal.org/project/smart_ip.git
directory: не трогаем, уже автоматически правильно
ставим галку branch
после нее пишем 7.x-2.x
Если вы связывали свою учетную запись drupal.org со своим TortoiseGit, то у вас по умолчанию должна стоять галочка "Load putty key", и прописан путь до приватного ключа - в таком случае ваш патч будет ассоциироваться именно с вашим аккаунтом. Как это сделать я частично написал здесь
Жмем ок, скачиваются файлы проекта, видим Success, нажимаем close.

Дальше делаем необходимые изменения в коде проекта.

Коммитим изменения в наш локальный репозиторий: правой кнопкой по папке - git commit, пишем описание нашего патча на английском (будет вставлено в тело файла патча, так что не материтесь там :)), жмем ок, видим что файлы закоммитились.

Затем опять правой кнопкой по папке, TortoiseGit -> Create Patch Serial, там очень важно поставить точку напротив Number Commits, 1
Жмем ок, в корне папки теперь создался один новый файлик, начинающийся с 00001 и заканчивающийся .patch.
Если назвали свой коммит нормально, то после 0001 стоит как раз ваша писанина.

Правила именования патчей в drupal.org строго определены, описаны здесь (раздел Patch naming conventions explained), если вкратце, то нужно именовать так: [project_name]-[short-description]-[issue-number]-[comment-number].patch

Пример: smart_ip-extend-set-of-data-sources-2128765-1.patch

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

Удачи!

Комментарии

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