Improve squash on merge UI as it can be unexpected
### Summary
While trying to merge a few commits (that I had just nicely split up), I hit the big blue "Merge when pipeline succeeds" button. However, the "Squash commits" checkbutton must have been set, something that I simply did not see. Which really isn't surprising as I never ever use that feature (I didn't even realise it *exists*).
I feel the UI should be improved to make this more obvious. e.g.:
* Make it the mergers choice what to do, not the submitters
* Let the button explicitly state the action "Squash and merge […]"
* Add a setting to disallow users to even set it
* Only open the commit message expander, then have a second button below (i.e. making it a two step action and also getting a confirmation for the commit message).
Not sure … I am obviously a unhappy as it caught me completely by surprise. Below is my original report.
-----
A merge with three commits was squashed during while merging. The commit message of the middle commit was kept, but the repository is set to do fast-forward merges only.
### Steps to reproduce
I did the following, have not confirmed if it is reproducible:
* Checked out fork'ed repository (not mine)
* Rewrote the history to split a commit (and change a comment)
* Force pushed into the user repository
* Rebased from the MR
* Merged
This is the MR in question, you'll see the three commits:
* https://gitlab.freedesktop.org/libfprint/libfprint/-/merge_requests/144
* `5f71cc83 - vfs0050: Attach SSM to transfer to fix an assertion`
* `f0c34e1a - vfs0050: Stop capture after a timeout happens`
* `679a49d8 - vfs0050: Fix byte offset calculation into struct`
The pipeline ran through for `679a49d8`, and it was then merged. But the merged commit is `1b74813a` which has the commit message from `f0c34e1a` and actually is a squashed version of my commits (not the submitters, then one of the comments would be different). So the code is correct, but the commit history got mangled.
The project *is* set to only allow fast-forward merges.
issue