Disable squash merging on the Foreman repository

When merging GitHub PRs there are 3 strategies:

  • Merge commit
  • Squash commits
  • Rebase

We have disabled Merge commits already.

Then we have squash commits. This option can be useful if you want to make a small modification or really want to squash. However, the commits that GitHub generates are not ok.

For example, we have (just one example, there are many):
https://github.com/theforeman/foreman/commit/6ba027c246857ad6a73eb529d9aafca8f003795f

It’s very confusing what this is actually doing and doesn’t follow our conventions (Foreman :: Contribute & Foreman :: Contribute).

So far we’ve left it enabled under the assumption maintainers knew what they were doing. However, it now looks like that isn’t the case anymore.

What is expected of maintainers using the squash option is that they properly format the commits. It should be noted that this can confuse/break our automation.

So I’m proposing to disable it and only allow rebase merging, but let’s put it in a poll:

  • Leave squash merging enabled & educate maintainers
  • Disable squash merging
  • Other
0 voters

I also see Configuring commit squashing for pull requests - GitHub Docs describes alternatives. I’d be also willing to investigate that.

It looks like the majority is in favor of disabling squash merging so I’ve just turned it off. If there is a desire in the future, please comment here.

1 Like