MR approver can't be a committer / can't approve own MRs
Description
Don't allow people to approve their own code. Several customers and prospects have asked for a way to automatically restrict merge request approvers so people can not approve their own commits -- even if they are on the approver list.
Proposal
Implement a method for automatically disqualifying approvers (including those specified as approvers via group or direct listing) who have committed changes that will be merged via that request.
A possible edge case here is if there are multiple potential approvers and all have committed code nobody will be allowed to approve the MR. A good way to handle that is to then require approval of more than one of these people if more than one exists. If only one exists perhaps a special dialog could provide warning.
Links / references
Documentation blurb
(Write the start of the documentation of this feature here, include:
Committers should not be allowed to approve changes to files that they themselves have committed. Because of this, GitLab will not allow committers to approve merge requests even if they are specifically listed as approvers for the relevant project/branch. In such cases, a different user will need to approve the merge request.