Abort merge if head has been updated before pressing merge (#18032)

* Abort merge if head has been updated before pressing merge

It is possible that a PR head may be pushed to between the merge page being shown
and the merge button being pressed. Pass the current expected head in as a parameter
and cancel the merge if it has changed.

Fix #18028

Signed-off-by: Andrew Thornton <art27@cantab.net>

* adjust swagger

Signed-off-by: Andrew Thornton <art27@cantab.net>

* fix test

Signed-off-by: Andrew Thornton <art27@cantab.net>

* placate lint

Signed-off-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
zeripath 2021-12-20 00:32:54 +00:00 committed by GitHub
parent b24a965b81
commit e4e411821d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 42 additions and 9 deletions

View file

@ -55,7 +55,7 @@ func Update(pull *models.PullRequest, doer *user_model.User, message string, reb
return fmt.Errorf("HeadBranch of PR %d is up to date", pull.Index)
}
_, err = rawMerge(pr, doer, style, message)
_, err = rawMerge(pr, doer, style, "", message)
defer func() {
if rebase {