| Sometimes yes, sometimes no. Merge commits are nasty imo and I'm glad we can now forbid them outright, but a full squash isn't always the solution either. Take a look at this PR for example: https://github.com/HearthSim/python-unitypack/pull/4 Lots of back & forth. All the commits are related, and the PR is there to land all of those commits at once. I could land some of them right now (as they're safe to land), but keeping them in the PR keeps everything related in the same place (and none of them are required until that last commit lands). A PR mirrors a "patchset" on mailing lists. You don't always want to squash all of it. What you do want to avoid is a situation like this: https://github.com/jleclanche/django-push-notifications/pull... Where the original author creates their original commit and doesn't know how to --amend + push --force to the PR, and you end up with a ton of commits which you don't want to land all at once. |