Squash rules
Problem to solve
It would be nice to have squashing rules for certain MRs. For example, my team uses semantic-release
, which in the past has had trouble reading squashed commits, so as a part of our general process we make a MR against develop
and any updates get squashed, but when we push to staging
and master
, we don't squash as a rule.
As far as I am aware, there is no feature for something like this as of yet. If there already is, I'd love to use it!
Intended users
Maintainers/Owners/DevOps.
Further details
Would probably be nice to allow a certain permission group to be able to override this setting.
Proposal
Selection of a branch similar to protected branches, but with the selections "sources" and "targets", with MR options such as [x] squash commits and others that you'd see in the create MR view, such as Approval Rules. Would be really nice to be able to set this as a group rule and override in child groups/projects per conventional inheritance rules.
Permissions and Security
Maintainer/Owner for a particular project/group.
Documentation
Availability & Testing
What does success look like, and how can we measure that?
What is the type of buyer?
I'd argue in the same tier as protected branches, it's a similar set of rules to protection, but more based around git convention.