Применение patch от LLM в Запросах на Слияние
LLM (Large Language Model) может анализировать изменения в запросе на слияние и автоматически генерировать patch-файлы с предложениями по исправлению, улучшению кода или исправлению ошибок. Патчи сохраняются как артефакты CI/CD и могут быть применены к ветке-источнику через веб-интерфейс GitFlic.
Настройка генерации патчей
Для использования LLM-патчей добавьте в файл gitflic-ci.yaml задание (job). Внутри задания необходимо вызвать LLM (через скрипт или API), передать ей контекст запроса на слияние, а полученный patch-файл сохранить как артефакт с типом patch.
Пример конфигурации:
test1:
stage: patch # Название стадии может быть любым
script:
- # вызов LLM и генерация example.patch
artifacts:
reports:
patch:
paths:
- example.patch
- example2.patch
Формат патч-файлов
Патч должен быть совместим с утилитой patch и содержать unified diff (формат diff -u). Только такие файлы могут быть применены через веб-интерфейс.
Применение патча в запросе на слияние
После успешного выполнения задания с артефактом patch в интерфейсе запроса на слияние появляется кнопка Применить патч. Она доступна, если в последнем успешном конвейере есть хотя бы один артефакт типа patch.
При нажатии открывается форма просмотра изменений. В левой части отображается список всех найденных файлов с изменениями, в правой — различия, которые будут внесены в код.
Для применения патча: 1. Выберите файл из списка. 2. Проверьте предлагаемые изменения. 3. Нажмите Применить патч — патч будет наложен на текущую ветку-источник. 4. Подтвердите действие кнопкой Коммит (коммит создаётся автоматически).
После этого запрос на слияние обновляется, и изменения становятся видны в запросе на слияние.
Просмотр результатов
Все сгенерированные LLM патчи сохраняются как артефакты конвейера и доступны для скачивания на странице выполнения задания. Это позволяет повторно применить патч или проанализировать предложения модели вне веб-интерфейса.
Дополнительные рекомендации
- Убедитесь, что LLM настроена на генерацию патчей в корректном формате (например, через
git diff). - Для сложных сценариев используйте несколько патч-файлов — каждый из них будет отображаться отдельным элементом в интерфейсе.
- Применение патча не отменяет стандартные проверки CI/CD: после коммита запустятся новые конвейеры.

