Simultaneously accepting multiple MRs results in loss of MRs
Explanation of the problem:
Simultaneously accepting multiple MRs results in MRs that are of "merged" status, but not merged to the target branch.
I have created a minimalistic reproduction here: https://gitlab.com/antak/mr-test
Steps to reproduce:
- Create a master branch.
- Based on master, create two divergent branches a and b that do not conflict.
- Create MRs for 'a' into master and 'b' into master.
- Open the two MRs in separate tabs.
- Click the "Accept Merge Request" button on both MRs in rapid succession.
Tested GitLab versions:
- https://gitlab.com/antak/mr-test
- Locally: GitLab 8.1.4 + git version 2.6.3
Point of note:
It appears that both merge commits are actually created, because they're visible in the "mentioned in commit xyz" comment added to the MR.
Without knowing the internals, I'm wondering if it's possible that the latter merge result is being force pushed over the previous MR's merge result.