Skip to content

Fixes a bug with merge request approval rules being changed after creation

What does this MR do?

From the issue:

As explained in the docs: “Any merge requests that were created before changing the rules will not be changed. They will keep the original approval rules, unless manually overridden.” This is correct if I change the name, approvers, and no. of required approvals in the project settings. But if I change the approval rule's target branch in the project settings, this affects existing merge requests, which it shouldn't per the docs.

[…] changing anything about the project-level approval rules should not affect existing merge requests. As it is right now, changing the target branch of a project-level approval rule affects existing merge requests, which goes against the documented behavior.

Upon inspection of the code, it looks like the code was design to support the opposite. Removing the applicable_to_branch? function call (and correcting the tests) fixes the issue.

Screenshots

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team

Closes #205422 (closed)

Edited by Gary Holtz

Merge request reports