Expand Merge Request Approval Policies to cover all branches, not just protected and specific branches
## Problem Statement
Currently, Merge Request Approval Policies are limited in their branch coverage. They primarily apply to protected branches and specific branch patterns, but there is no straightforward way to apply approval policies to all branches in a repository uniformly.
## Use Case
Organizations need the ability to enforce consistent approval requirements across all branches, including:
- Feature branches
- Development branches
- Release branches
- Hotfix branches
- Any other branch that may not be explicitly protected
This is particularly important for:
- Enforcing security scanning requirements across all code changes
- Maintaining consistent code review standards
- Ensuring compliance policies apply universally
- Preventing bypass of approval requirements through unprotected branches
## Proposed Solution
Add support for a "all branches" or wildcard option in Merge Request Approval Policies that would:
1. Allow policies to apply to every branch in the repository
2. Provide an option to exclude specific branches if needed
3. Maintain backward compatibility with existing protected branch policies
4. Support both inclusive (apply to all) and exclusive (apply to all except X) patterns
## Related Issues
- #579509 - Approval policy <-> protected branch matching behavior
- #535305 - Feature Request: Add wildcard pattern support for branch targeting in security policies
- #582104 - MR approval policies incorrectly block when target branch has no pipelines
## Acceptance Criteria
- [ ] Users can create approval policies that apply to all branches
- [ ] Policies can optionally exclude specific branches
- [ ] Documentation is updated with examples
- [ ] Backward compatibility is maintained with existing policies
- [ ] Performance impact is minimal
## Additional Context
This feature would provide more granular control over approval requirements and help organizations enforce consistent security and code review standards across their entire codebase.
issue