At git repository level
In Settings, there is a new "Pull requests" tab where git admin can define merge strategies.
There are 2 strategies available
- Default (will fast forward when possible, fallback to merge when not possible). It's the current situation
- Fast forward only
When Fast forward is selected, PR that would result to a merge will not be mergeable from the web UI.
The screen is close to what you already have today (merge zone is in "warning mode" but instead of letting the reviewer merge anyway, the merge button is completly disabled).
Change of merge strategy is recorded in project history.
At git project admin level
In "Git settings template", the merge strategie can be selected for all new repositories.
Setting is inherited on project duplication
On fork
Setting is inherited