Allow (final) approval without performing merge request

Description

When using approvals for merge requests, the last person to approve cannot do so, as the 'approve button' changes into 'perform the merge'. It's also not possible for more people to approve the MR than you have specified when creating the MR, as once the threshold is reached, the button changes function. The fact that the same-colored buttons at the same place do something differently depending if you are the last one to approve or not is terribly confusing. Approving a merge, or doing a merge are to distinct things, which now does not seem to be the case.

How we normally work is I create a MR and I want my colleagues to review the code before performing the merge. Right now, the last colleague (of the specified approvers) can only do the merge himself, which is not what needs to be done, he only need to let me know he approves of the code, and I subsequently want to do the merge myself (as some other work might need to be done together with that merge action which he does not and should not know of). It's also not possible for a colleague who turns out to be relevant for that merge without me knowing at first, to pass by and check the MR without me editing the MR and adding him, which is a cumbersome thing to do. One thus cannot 'spontaneously' approve a MR, a situation which I don't think should be a problem.

Proposal

  • Differentiate the buttons for approving and actually doing the merge. Have 2 distinct buttons for either action, and maybe have the 'perform merge' button disable if not enough approvals are collected.
  • Allow more people than strictly required to approve of a MR. The required number of approvals (with specific approvers if set) should be a lower limit, not a fixed number as it is now.

Links / references

~"feature proposal"

Assignee Loading
Time tracking Loading