Remove verify_create_ref_advancement feature flag
What does this MR do and why?
Removes the verify_create_ref_advancement feature flag and makes its
behavior unconditional. The flag guarded MergeRequests::CreateRefService
so it rejects a ref build that collapses back to its first parent — a no-op
"merge" that records the merge request as merged without writing a commit,
yet still deletes the source branch, silently losing the merge request's
work.
The flag has been fully rolled out on production, so this MR:
- Drops the flag check in
MergeRequests::CreateRefService#reject_rebase_collapse!. - Drops the flag check in the auto-rebase merge path (
MergeRequests::MergeStrategies::FromSourceBranch). - Drops the flag check in the merge-train path (
MergeTrains::CreateRefService). - Removes the disabled-state ("legacy behaviour") specs.
- Deletes the feature flag YAML definition.
References
- Rollout issue: #603343 (closed)
- Feature issue: https://gitlab.com/gitlab-org/gitlab/-/work_items/598820
- Introduced by: !240233 (merged)
Test coverage
The retained specs cover the now-unconditional rejection on the auto-rebase
merge path, the merge-train path, and CreateRefService directly. All 52
examples pass locally.