Make the type of merge an integral part of PR

There are several types of merge that Git allows and GitHub offers for pull requests: regular merge, fast forward, squash merge. Currently the person who performs the merge selects the type of the merge (from the list of possible, where the project could restrict some types of merge), and not the PR author.

In our project we have a religious war of what type of merge to prefer. The majority hates squash merge, but due to an influence of a single team member that is the only type of merge that is allowed. The reason of not allowing other types is that that person doesn’t want to make it possible to apply non-squash merge to his own pull requests. That is why I believe that it should be the decision of the PR author which type of merge to request in his PR. At the end of the day he provides the code, the breakdown of the feature into separate commits, and that should also be his decision how these commits should appear in the target repository. The PR approvers may request him to change the type as they request to change the code, and may not approve the whole PR if they disagree with the type of merge requested.

Hi @dkuzminov and thanks for the feedback!

I know it’s not exactly what you’re looking for, but just if anyone is browsing around looking for similar functionality, it is possible to set this project-wide:
https://docs.github.com/en/github/administering-a-repository/configuring-pull-request-merges/configuring-commit-squashing-for-pull-requests

but not PR-specific as the OP would like to see.