Please disable the "Allow rebase merging" merge button
Created by: bartlettroscoe
@trilinos/framework
Can someone with the GitHub permissions please uncheck the "Allow rebase merging" option under the "Merge button" section at the page:
?
That will stop people from rebasing and then fast-forward merging a bunch of commits on the 'develop' branch. For example, currently, someone with 30 commits on their topic branch could rebase all of these commits and fast-forward merge them to 'develop'. If those commits badly broke an ATDM build for example, then we would have to back out 30 commits, one git revert <sha1>
at a time.
By disabling this option, the options of "Merge" and "Squash" are still available, which is all we want/need.
If the topic branch has more than one commit, and they are well-formed "Separate Changes" (see workflows(7)), then you really should select the "Merge" option. But if you have multiple commits, and they are kind of a mess, then you might as well select the "Squash" option. (But people really should be cleaning up their topic branches before their final topic branch push as described here).
If you only have one commit on your topic branch, then it is silly to create a merge commit for this. In that case, you should select "Squash". When you select "Squash" with a single commit, GitHub populates the squash commit summary and log text the same as for the single commit. Therefore, it is equivalent to rebasing a single commit in this case. And a single squashed commit is as easy to revert as a single merge commit. In fact, a single squash commit is easier to revert because you don't need to provide the parent index with git revert -m <sha>
. You can just call git revert <sha1>
.
Definition of Done
- Uncheck the button "Allow rebase merging" on the page https://github.com/trilnos/Trilinos/settings
Possible Solution
- Uncheck the button "Allow rebase merging" on the page https://github.com/trilnos/Trilinos/settings