+1 for "Squash and merge" as the default strategy Regarding "Create a merge commit": At times, I find this option valuable too. Consider a PR that cleans up a test suite. As part of that cleanup I might re-order the test cases. As re-ordering produces a noisy diff, I usually isolate it in its own commit. I would not want to merge this commit with the others as that would lead to a commit with a very incomprehensible diff. So in this case I would favor leaving the commits separate and doing an actual merge to group them together in the global history.
Am Fr., 4. Okt. 2019 um 17:03 Uhr schrieb julio cesar sanchez < jcesarmob...@gmail.com>: > Sorry if it wasn't clear, I said I was leaving the protecting master branch > out of the vote. > > Looks like we all agree on using "Squash and merge" as default, unless it > makes more sense to use one of the other options. > > El jue., 3 oct. 2019 a las 3:43, Bryan Ellis (<er...@apache.org>) > escribió: > > > -1 for protected master branches. > > Protecting a branch is a great idea except it does not work with our > > current workflow process. COHO commits directly onto the master branch > for > > releases. We would have to spend more time planning and changing our > entire > > current workflow process to eliminate direct commits if we wanted to > > protect branches. There is alternative such keeping master open for > direct > > commits and development while creating a protected "production" branch. > > Anyways this part of the discussion is off-topic and could be another > > discussion... Anyways, stated above I am downvoting protected branches > for > > now. > > > > +1 for "Squash and merge" > > Makes a nice single commit with the PR number and without the extra merge > > commit. > > > > +1 for "Rebase and merge" > > There are use cases where this can work perfectly. > > For example, Cordova-Electron has a `draft-2.0.0` branch which is > targeting > > the next major release. Major PRs were merged into that branch with > "Squash > > and merge". This means all PRs have nice PR# information in the title. > > A PR will later be created to merge this branch onto master. "Rebase and > > merge" will be used and will not create the merge commit message and will > > not squash. > > > > -1 for "Create a merge commit" > > Not in favor of the extra merge commit. I think in most cases one PR > should > > focus on one task so that means it could be squashed when there are > > multiple commits. If "Create a merge commit" is used, each commit will be > > merged and does not contain the PR# in the title. When creating release > > notes, I need to manually review those commits to identify what PR it > came > > from to include the PR linking. Some times, depending on if they are all > > related commits, I need to manually group them and create a meaningful > > title for the release notes which I would prefer to have been done > > beforehand. > > > > > > On Wed, Oct 2, 2019 at 12:51 AM Jesse <purplecabb...@gmail.com> wrote: > > > > > -1 for protected master branches, we are a small group of committers > and > > > don't need rules to keep us honest. > > > Protecting master would involve infra, as we cannot manage the minutia > in > > > github. I think we all do this anyway except for rare occasions. > > > > > > +1 for squash and merge, as long as the meaningful individual commit > > > messages get consolidated into the 1 commit. > > > > > > On Tue, Oct 1, 2019 at 8:36 AM Norman Breau <nor...@normanbreau.com> > > > wrote: > > > > > > > +1 to protect the master branch. > > > > > > > > Forcing PR will help organize commits if we need to go back in > > > > time to determine the reason why a change was made as the > > > > commit in github will show the corresponding PR. Which will > > > > (hopefully) be properly filled out with context and motivation, > > > > as well as the issues that the PR resolves. > > > > > > > > +1 for "squash + merge" as a default strategy. > > > > > > > > I feel like most of the time having all the individual commits that > > > > makes up a PR is not really necessary. Most of the time it's > > > > bloated with tweaks fixing errors that was introduced during the > > > > development of the PR or perhaps refactoring for code style, etc. > > > > If there are instances where squash shouldn't be used, that can > > > > be decided on a per-case basis in my opinion. > > > > > > > > On 2019-10-01 10:37 a.m., Chris Brody wrote: > > > > > I would agree that "squash + merge" should be used in *most* cases, > > > > > and I think there is no dispute on this point. > > > > > > > > > > In the few cases where there are too many things for a "squash + > > > > > merge" commit, and we have the changes down to a limited number of > > > > > clean, sensible commits, then I would favor merging with a merge > > > > > commit that shows the PR number. > > > > > > > > > > My issue with "rebase and merge" is that the commit history would > not > > > > > show the PR number. > > > > > > > > > > I think that having the commits show the PR number would make it a > > > > > little easier for whoever makes the release to make the release > notes > > > > > with the PR numbers. > > > > > > > > > > Are there any recent examples of "a lot of commits from the same > PR > > > > > with meaningless commit messages when changes were requested"? > > > > > > > > > > Maybe off-topic: I wonder if we should look for multiple committers > > to > > > > > approve an external contribution before merging? > > > > > > > > > > > > > > > > > > > > On Tue, Oct 1, 2019 at 7:18 AM julio cesar sanchez > > > > > <jcesarmob...@gmail.com> wrote: > > > > >> Last year, Jan started a thread with different topics and one of > > them > > > > was > > > > >> to have a merge convention. I copy the text: > > > > >> > > > > >>> 3. Merge Conventions / Protected Branch: > > > > >>> Connected to all that is my suggestion to protect the `master` > > branch > > > > so > > > > >> that by default nobody can commit there - all changes have to be > > made > > > > via > > > > >> Pull Requests. Pull Requests are by default merged via the > "Squash + > > > > Merge" > > > > >> button / functionality so that all commits are squashed into one > > clean > > > > >> commit per change. This also enforces the commit message > structure I > > > > posted > > > > >> above. (Of course committers can choose to _not_ use Squash + > Merge > > if > > > > >> appropriate for the PR - e.g. when cherry picking commits from a > > > release > > > > >> branch or similar). > > > > >> > > > > >>> What do you think about this suggestion? > > > > >> Looks like we didn't agree on anything, but can we agree now? > > > > >> > > > > >> I've checked a few repos and some of them have a lot of commits > from > > > the > > > > >> same PR with meaningless commit messages when changes were > > requested, > > > > plus > > > > >> the ugly "merge PR ### from YYY" that makes the commit history > hard > > to > > > > >> follow and hard to cherry pick if needed. > > > > >> > > > > >> Since I'm not sure if we can protect branches, I'll focus only on > > the > > > > merge > > > > >> convention. > > > > >> > > > > >> Can we all agree on using the "squash + merge" for user PRs, > unless > > we > > > > >> think the different commits makes sense, in this case we should > try > > > the > > > > >> "rebase and merge" button. > > > > >> > > > > >> I vote +1 > > > > > > --------------------------------------------------------------------- > > > > > To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org > > > > > For additional commands, e-mail: dev-h...@cordova.apache.org > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > To unsubscribe, e-mail: dev-unsubscr...@cordova.apache.org > > > > For additional commands, e-mail: dev-h...@cordova.apache.org > > > > > > > > > > > > > >