Manual merge of merge requests not possible but merge from GitLab UI works
Scenario and steps to reproduce:
- Create a group
- Create 2 new users - A and B
- Add user A to 'master' role in the group. Don't use the existing admin users, just create a new user without any privileges.
- Add user B to 'developer' role.
- Create a new repo under the group namespace.
- Fork the new repo as user B. The fork will get created under the namespace of user B and not the group.
- Make some changes and push it to B's fork.
- Raise a merge request from B's fork to the main group repo.
- Login as user A and open the merge request.
- Click the manual merge instruction and follow them one by one.
- Pulling from B's fork will fail because user A doesn't have access to B's fork.
- Though 11 fails, it is possible for user A to merge using the web interface.
This makes merging possible only through the web interface and not through the manual method. If User B's fork was under the group namespace, failure in step 11 would not have happened since everyone in the group can . But user B cannot create a repo under the group namespace as users in "developer" role cannot do that.