Skip to content

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.

Further details

Original requestor's use case:

  1. A developer opens a merge request
  2. A reviewer gives it a quick glance and approves it
  3. Another reviewer points out an error the first reviewer missed

Other tools support similar capabilities.

  • Gerrit supports voting with +2, +1, -1 and -2 options
  • GitHub supports requesting changes (negative, blocking) or leaving comments (netural) or approval

Proposal

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
Artboard_20190313_35810-1

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

This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.

Edited by 🤖 GitLab Bot 🤖