Как я формирую патчи к контриб модулям. Захожу директорию модуля, там:
git add .
git commit -m "Initial commit"
Потом копирую модифицированные файлы модуля поверх оригинальных и запускаю:
git diff --no-prefix > add-feeds-target-3050030-3.patch
Это все работало, но недавно я узнал, что это не работает в случае если нужно не изменить существующие файлы, а только добавить новые.
Как тогда быть если нужно только новые файлы добавить?
Комментарии
Делать патчинг через композер.
https://vazcell.com/blog/how-apply-patch-drupal-9-and-drupal-10-composer
https://gorannikolovski.com/blog/how-to-apply-a-patch-in-drupal
Я в курсе, что патчи через композер нужно делать. А как сам патч сформировать?
То есть, у вас сложность не с git'ом и не с composer'ом, а с форматом diff?
Не с композером точно.
П.С. Набор команд сверху я позаимствовал с сайта какого друпалера, но кого именно уже не вспомню.
По логике, новый/добавляемый в патч файл сначала нужно традиционно добавить в текущий локальный репозиторий гита, т.е. закоммитить. После этого уже выгружать diff.
Патч можно сделать без add и commit. Клонируешь нужную ветку с орга. Ну или локально копируешь модуль, тогда надо init, add и commit, чтобы получить отправную точку. Потом редактируешь, добавляешь, удаляешь всё, чио нужно. А потом
а у меня в шапке темы не так?
Ок, пробую традиционно
git add .
git commit -m "Initial commit"
Добавляю в модуль новые файлы
git commit -m "Something add"
git diff --no-prefix > add-feeds-target-3050030-3.patch
Результат - пустой файл.
Пустой файл чего именно? .patch или тот, что вы добавили в репо?![Wink](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/wink.gif)
Васёк, ну чуть детальнее и точнее можно описывать? Я уже старый, мне телепатия не поддаётся
да, резулуьтат - пустой .patch файл.
1. Какой путь (относительно директории, в которой выполняется git) до добавленных файлов?
2. Так пробовали:
git add ./
или
git add --all .
Тут
--all
- указание принудительно обновить рабочее деревоПуть директории (кириллицы нет в пути):
~/Projects/local/date_recur
git add .
git commit -m "Initial commit"
Добавляю файлы
git commit -m "Something add"
пишет:
1 file changed, 38 insertions(+)
create mode 100644 src/Feeds/Target/DateRecur.php
потом выполняю:
git diff --no-prefix > add-feeds-target-3050030-3.patch
увы, файл патча пустой