Gitlab merge "запрос на слияние" с фиксацией
Я считаю, что это глупый вопрос, но я не понимаю, как мне использовать параметры push-запроса слияния gitlab
У меня такой сценарий:
- У меня есть открытый запрос на слияние от разработки до мастера
- Я вношу некоторые изменения в ветку разработки и отправляю их на сервер gitlab с соответствующей опцией
git add .
git commit -m 'finish mr'
git push origin develop -o merge_request.merge_when_pipeline_succeeds
- Я ожидаю, что после того, как конвейеры этой фиксации завершатся успешно, MR будет объединен, но вместо этого я получаю это сообщение на странице MR gitlab:
@user aborted the automatic merge because source branch was updated just now
@user added 1 commit just now
8efdbde1 - finish mr
Таким образом, кажется, что push установит MR, чтобы разрешить слияние после успеха и немедленно прервать его из-за фиксации из того же push. Я также пробовал быстрые действия с / merge, но результат тот же. Я знаю, что есть gitlab API, но не могу его использовать. Кто-нибудь знает, что я делаю не так?
1 ответ
Вы можете увидеть это сообщение об ошибке, обновленное в gitlab-foss
commit 882e798 как часть задачи 63187 и MR (Merge Request) 30249 для последней версии GitLab 12.1.
Который merge_request.merge_when_pipeline_succeeds
вариант взят из gitlab-foss MR 26752 (GitLab 11.10, апрель 2019 г.), выпуск 43263 (примечания к выпуску).
MR включает:
Чтобы создать новый запрос на слияние, установите его целевую ветвь и настройте ее на слияние при успешном завершении конвейера:
git push -u origin -o merge_request.create \ -o merge_request.target=branch1 \ -o merge_request.merge_when_pipeline_succeeds
Обновление существующих запросов на слияние
При отправке веток с существующим открытым запросом на слияние, target
а также merge_when_pipeline_succeeds
можно использовать для обновления мерж-реквеста.
Итак, в вашем случае, возможно, добавьте цель:
git push origin develop -o merge_request.merge_when_pipeline_succeeds \
-o merge_request.target=master