Detach enabling approval functionality of minimum number of approvals setting
Description
We use the approvals function on MR, so we have to set the Approvals required
project setting to 1 (as 0 means the functionality is disabled altogether.) It does not make sense to enable the functionality this way. Sometimes we want some people to approve of a merge, but sometimes we don't need to/want to. If you work with feature branches as it is a clean git workflow, and just want to merge without needing the approval it is not possible to do so without disabling the entire approval functionality project-wide. Right now the option is either to require a minimum of 1 approval always with no exception, or disabling the approval functionality alltogether for the entire project.
This is also a problem when wanting to revert a merge. Say after submitting a merge, getting the approval and doing the merge, something goes wrong. Gitlab creates a branch for the revert and wants to merge, which you cannot do without getting an approval first from something else. This should not be the case, as it slows down recovery of a problem. Also you simply should be able to override the minimum number of approvals, simply say 'no I do not want approvals for this, just do it'. This means I now have to edit the project, disable approval functionality, do the merge and edit the project back, which is only possible for project admins anyway.
Proposal
- Use a checkbox for enabling approval functionality. Don't couple this to 'minimum number of approvals project-wide is > 0'.
- Use the current setting for minimum approvals as default, but allow overriding it when necessary upon creating/editing a MR.
Links / references
~"feature proposal"