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-fosscommit 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
Другие вопросы по тегам