Применить .patch для drupal модуля (git) под Windows

Все инструкции о том, как применять патчи (.patch файлы) к друпал-модулям (или хотя бы просто git-репозиториям) написаны для использования под Linux. Под Windows, к сожалению, нормальной визуальной программы не существует ( TortoiseGit не умеет применять патчи - apply patch serial не работает в нашем случае).
Для того, чтобы всё же применить патч к нужному нам модулю, надо сделать следущее:
установить MySysGit (у меня уже стоял)
при установке в Пуск добавляется новая группа Git -> Git Bash, запускаем её.
Это нормальная полноценная командная строка как в Linux, очень удобная. Заходим сначала на нужный диск
cd D:
затем заходим в любую пустую папку - желательно создать такую в попдпапке sites/all/modules нашего сайта
Заходим на страницу version control на странице друпал-проекта (модуля)
копируем строку для скачивания репозитория, например:
git clone --branch 7.x-1.x http://git.drupal.org/project/shs.git
заходим в скачанную папку: (вторая строчка из тех же инструкций version control)
cd shs
теперь скачиваем сюда (в корень скачанного репозитория) файл с патчем (обычно я открываю браузер, захожу в issue (нужная задача в багтрекере на странице друпал-модуля) нужной проблемы, правой кнопкой на патче - "Сохранить ссылку как..."

После того как файл скачался в корень репозитория (т.е. в моем случае это sites/all/modules/shs/имяфайла.patch) применяем его простой командой
git apply имяфайла.patch
Выполнение команды должно завершится без каких либо сообщений - значит всё нормально. При желании можете проверить, изменились ли файлы, но вообще этого можно и не делать - если сообщений об ошибках не было, значит всё нормально.
Удачи!

Ссылки, натолкнувшие на решение этой задачи:
https://code.google.com/p/tortoisegit/issues/detail?id=1449
http://stackoverflow.com/questions/517257/how-do-i-apply-a-diff-patch-on...
http://www.redmine.org/boards/2/topics/4041

Комментарии

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