Skip to content

When using `/rebase` I am the one charged with committing which blocks approvals

Summary

When a project has the Merge Request option Prevent approvals by users who add commits enabled, and then as a reviewer, I run the /rebase from the GitLab UI, I am the one charged with making commits. While this works as designed, this introduces a bit of pain because I was assigned the MR with the intent to approve. If a rebase completed without conflicts, I do not think I should be subject to being removed from the Approver list due to a rebase that required no intervention.

We could disable this option, but then if an MR is shared among persons whom are contributing together, then we lose this capability this option provides.

Steps to reproduce

  1. Create a repository with Prevent approvals by users who add commits enabled
  2. Create an MR on that repo that is many commits behind the default branch
  3. Ask a required reviewer to rebase using the GitLab UI
  4. Observe that that reviewer is no longer allowed to approve

Proposed Behavior Options

  • If a rebase on an MR succeeds without conflict, thus the intent of the MR doesn't change, then I'd like the option to ensure that the reviewer is still allowed to approve an MR.
  • The rebase could be completed by some bot, say a bot user that is part of a GitLab instance is allowed to commit to a repo? But an audit trail indicates whom initiated the rebase (this is a questionable solution as it may violate many security items)