Hi all, Allow me to start the great debate.
[image: image.png] I would like to get the Avro's dev-community's opinion on the merge strategy of pull requests. By default Github supports three options: - Create a merge commit - Squash and merge - Rebase and merge https://help.github.com/articles/about-merge-methods-on-github/ Currently I see the PR's being merged into master using the merge commit (with some exceptions). From my perspective this has two major disadvantages: - It will add ugly merge commits on top of master, which don't add any value. - The git commit tree history isn't lineair. For example, a PR that has been merged recently <https://github.com/apache/avro/pull/270>, added a commit back in 19 dec 2017. - It makes it tricky to revert commits, since a PR merged using a merge commit might add one or more commits over the history of master. Therefore I would only allow two merge strategies: - Squash and merge: This will squash all the commits of the PR into one single commit, and push it on top of master. This should be the default strategy. - Rebase and merge: This can be used for very big PR's, in which you don't want to squash the original. Github allows us to disable merge-options. My suggestion would be to disable the merge commit option, but I'd like to get the community's opinion on it. Cheers, Fokko