Skip to content

Rollback mutation of merge request on failed merge

Luke Duncalfe requested to merge 60720-wrap-merge-in-transaction into master

What does this MR do?

The second call to the Gitaly UserMergeBranch RPC method can raise an exception. Previously, if this were to happen, the merge request's in_progress_merge_commit_sha attribute would be set to a commit SHA that didn't exist.

Repository#merge now uses a transaction block in order to rollback the setting of this attribute if any error occurs.

Does this MR meet the acceptance criteria?

Conformity

Performance and testing

Closes #60720 (moved)

Edited by Luke Duncalfe

Merge request reports