I think the two options are useful, because we have different kinds of
contributors. Sophisticated users curate their own history, create
logically useful commits, build atop it, etc. and merge is by far the
better option. Others have a single commit followed by any number of
"lint," "fixup," and "reviewer comments" ones that should clearly be
squashed, and given that it takes a round trip to ask them to squash it,
it's nice to be able to do it once there's an LGTM as part of the merge. At
least making this fact explicit and pointing it out in the docs may be
useful.
On Tue, Apr 17, 2018 at 1:43 PM Mingmin Xu <mingm...@gmail.com> wrote:

> Not strongly against `Create a merge commit`, but I use `squash and
merge` by default. I understand the potential impact mentioned by Andrew,
it's still a better option IMO:
> 1. if a PR contains several parts, it can be documented in commit message
instead of several commits; --If it's a big task, let's split it into
several PRs if possible;
> 2. when several PRs are changing the same file, I would ask contributor
to fix it;
> 3. most commits are introduced by reviewer's ask, it's not necessary to
do another squash(by contributors) before merge;

> On Tue, Apr 17, 2018 at 1:09 PM, Robert Burke <rob...@frantil.com> wrote:

>> +1 Having made a few web commits and been frustrated by the options,
anything to standardize on a single option seems good to me.

>> On Tue, 17 Apr 2018 at 01:49 Etienne Chauchot <echauc...@apache.org>
wrote:

>>> +1 to enforce the behavior recommended in the committer guide. I
usually ask the author to manually squash before committing.

>>> Etienne

>>> Le lundi 16 avril 2018 à 22:19 +0000, Robert Bradshaw a écrit :

>>> +1, though I'll admit I've been an occasional user of the "squash and
merge" button when a small PR has a huge number of small, fixup changes
piled on it.

>>> On Mon, Apr 16, 2018 at 3:07 PM Kenneth Knowles <k...@google.com> wrote:

>>> It is no secret that I agree with this. When you don't rewrite history,
distributed git "just works". I didn't realize we could mechanically
enforce it.

>>> Kenn

>>> On Mon, Apr 16, 2018 at 2:55 PM Andrew Pilloud <apill...@google.com>
wrote:

>>> The Github UI provides several options for merging a PR hidden behind
the “Merge pull request” button. Only the “Create a merge commit” option
does what most users expect, which is to merge by creating a new merge
commit. This is the option recommended in the Beam committer’s guide, but
it is not necessarily the default behavior of the merge button.


>>> A small cleanup PR I made was recently merged via the merge button
which generated a squash merge instead of a merge commit, breaking two
other PRs which were based on it. See
https://github.com/apache/beam/pull/4991


>>> I would propose that we disable the options for both rebase and squash
merging via the Github UI. This will make the behavior of the merge button
unambiguous and consistent with our documentation, but will not prevent a
committer from performing these operations from the git cli if they desire.


>>> Andrew






> --
> ----
> Mingmin

Reply via email to