Backend work for configurable project defaults for squashing merges
What does this MR do?
This adds a backend component to #17613 (closed) - @sming-gitlab will follow up with the frontend work here!
In particular this:
- Adds an enum to the projects model with squash defaults
- Adds logic to reject merges when they don't meet the criteria
- Adds specs for the above
- Adds some endpoints for the frontend work
Screenshots
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry -
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers -
Informed Infrastructure department of a default or new setting change, if applicable per definition of done
Edited by 🤖 GitLab Bot 🤖