Implement "Merge commit with semi-linear history" MR setting
Here's how it is explained in upstream GitLab:
Merge commit with semi-linear history: A merge commit is created for every merge, but merging is only allowed if fast-forward merge is possible. This way you could make sure that if this merge request would build, after merging to target branch it would also build. When fast-forward merge is not possible, the user is given the option to rebase.
The internal symbolic name for this setting is rebase_merge
,
We need to
-
make sure of what it does in upstream GitLab (because the explanation does not really match the internal name) -
decide what it should do exactly in Mercurial (I think implementing exactly what the explanation says is possible) -
implement it