Block merge request with a negative approval signal
As a project maintainer or senior developer, when I am reviewing merge requests I may see a merge request that is problematic and needs significant work before it can be merged. It may not be a code quality problem but it might conflict with other work that is currently happening in a different team that other eligible approvers may be unaware of. I want to be able block (negative approval) a merge request so that it doesn't get approved and merged by other team members.
Original requestor's use case:
- A developer opens a merge request
- A reviewer gives it a quick glance and approves it
- Another reviewer points out an error the first reviewer missed
Other tools support similar capabilities.
- Gerrit supports voting with
- GitHub supports requesting changes (negative, blocking) or leaving comments (netural) or approval
If an eligible approver does a code review and creates one or more resolvable discussions on the diff, the approver should be displayed as a reviewer in the approvals widget.
This would increase the visibility of people who have performed a review but have not yet approved, and serve as a light warning to those with merge permissions that there are outstanding review comments.
|Mockup: review with unresolved feedback|
The eligible approver can approve immediately if the feedback is commentary only and does not need to be resolved.
This would not block the merge request above in any additional way beyond preventing merge requests from being merged with unresolved discussions.
Links / references
- Zendesk: https://gitlab.zendesk.com/agent/tickets/29243
- Gerrit voting system: https://gerrit-review.googlesource.com/Documentation/config-labels.html
- GitHub request changes: https://help.github.com/articles/about-pull-request-reviews/