I'm also using Blake's approach when dealing with refactoring + code
changes, it's clear and it never caused me any troubles so far.
+1 to to require linear commit history on develop.
Cheers.

On Thu, Jan 2, 2020 at 6:03 PM Mark Hanson <mhan...@pivotal.io> wrote:

> This is the approach I am using as well Blake.
>
> Thanks,
> Mark
>
> > On Jan 2, 2020, at 7:16 AM, Blake Bender <bben...@pivotal.io> wrote:
> >
> > That's not how I approach this sort of a change, and to my mind it feels
> > sort of like that approach is asking for trouble.  When I have a refactor
> > plus a code change, I do the refactor on a branch, submit the PR, then
> > branch off of *that* branch to do the feature work.  This forces an
> > ordering of the changes, but alleviates most/all of the conflicts.  When
> > the refactor PR is accepted, I rebase the feature work off of the new
> > develop branch, and submit the second PR, usually without encountering
> any
> > issues.
> >
> >
> >
> > On Wed, Jan 1, 2020 at 9:57 AM Aaron Lindsey <aaronlind...@apache.org>
> > wrote:
> >
> >>>
> >>> Is it not the case currently? If I am working on a feature modifying
> >> class
> >>> X and another developer makes some refactoring changes on class X and
> >>> pushes it to develop, won't I have to resolve the merge commits anyway.
> >>
> >>
> >> Yes, you will always have to deal with resolving conflicts with other
> >> people's changes. The scenario I was describing was me having to resolve
> >> conflicts between my own 2 changes that modify the same files. If I
> make a
> >> refactor commit and a fix commit as two separate PRs that are each
> based on
> >> develop (i.e. they are independent PRs), after I merge the first one to
> >> develop the second one will have merge conflicts. The simplest way to
> avoid
> >> this is to put the commits in the same PR and use rebase-and-merge.
> >>
> >>
> >>
> >> On Tue, Dec 31, 2019 at 10:46 PM Owen Nichols <onich...@pivotal.io>
> wrote:
> >>
> >>> It sounds like there is value in being able to deliver un-squashed PRs,
> >> and
> >>> we believe the richer commit message history outweighs any potential
> >>> inconvenience to bisect operations (as Aaron pointed out, finer-grained
> >>> commits should generally be to the benefit of bisect operations).
> >>>
> >>> We will leave all 3 merge options enabled in GitHub.
> >>>
> >>> On Tue, Dec 31, 2019 at 7:27 PM Dan Smith <dsm...@pivotal.io> wrote:
> >>>
> >>>> I also tend to do the same workflow Aaron described - make a
> >> refactoring
> >>>> change to support a feature followed by the actual change I want to
> >> make.
> >>>> It makes the history a lot clearer because refactoring tends to touch
> a
> >>> lot
> >>>> of files, so it's nice to have those changes clearly marked as a
> >>>> refactoring that should not change behavior.
> >>>>
> >>>> It's possible to do this as to separate PRs, but that drags out the
> >>> process
> >>>> because you have to get the first in merged before you create the
> >> second.
> >>>> That encourages bunching changes in a single squashed commit, which
> >> makes
> >>>> git blame less useful.
> >>>>
> >>>>
> >>>> -Dan
> >>>>
> >>>> On Tue, Dec 31, 2019, 6:36 PM Nabarun Nag <n...@apache.org> wrote:
> >>>>
> >>>>> Aaron ,
> >>>>>
> >>>>> Is it not the case currently? If I am working on a feature modifying
> >>>> class
> >>>>> X and another developer makes some refactoring changes on class X and
> >>>>> pushes it to develop, won't I have to resolve the merge commits
> >> anyway.
> >>>>>
> >>>>>
> >>>>> Regards
> >>>>> Naba
> >>>>>
> >>>>>
> >>>>> On Tue, Dec 31, 2019 at 6:01 PM Aaron Lindsey <
> >> aaronlind...@apache.org
> >>>>
> >>>>> wrote:
> >>>>>
> >>>>>> Suppose I’m refactoring the same classes I’m touching for the
> >>> feature.
> >>>> I
> >>>>>> do the refactoring on one branch and submit a PR for that. Then I
> >>>>> implement
> >>>>>> the feature on another branch which is based on develop and does
> >> not
> >>>> have
> >>>>>> the refactoring changes since those are not merged yet. I’ll have
> >> to
> >>>>>> resolve conflicts on the second PR that I merge.
> >>>>>>
> >>>>>> Having interdependent PRs where one PR branch is based on another
> >> PR
> >>>>>> branch is not something I’ve tried. That requires more overhead in
> >>>> having
> >>>>>> to create more PRs and branches. And if you have N interdependent
> >>> PRs,
> >>>>> you
> >>>>>> have to do N-1 merges each time a PR is merged to develop (to
> >> update
> >>>> the
> >>>>>> other branches). It could be done, but is it worth the hassle?
> >>>>>>
> >>>>>> One more point about rebase-and-merge is that it seems like this
> >>> would
> >>>>>> make bisecting a failure easier since there would be smaller
> >> commits.
> >>>>>>
> >>>>>> Aaron
> >>>>>>
> >>>>>>> On Dec 31, 2019, at 5:41 PM, Owen Nichols <onich...@pivotal.io>
> >>>> wrote:
> >>>>>>>
> >>>>>>> Can you elaborate on why you would have to deal with conflicts if
> >>> the
> >>>>>>> refactoring work was kept as a separate PR from the fix?
> >>>>>>>
> >>>>>>> As with many git workflows, there’s an easy way and a hard way to
> >>>>> manage
> >>>>>>> interdependent PRs (tl;dr only merge, never rebase!). I wonder if
> >>>> this
> >>>>>>> points out an opportunity for a “tips and tricks” page on the
> >> Geode
> >>>>> wiki.
> >>>>>>>
> >>>>>>> On Tue, Dec 31, 2019 at 5:22 PM Aaron Lindsey <
> >>>> aaronlind...@apache.org
> >>>>>>
> >>>>>>> wrote:
> >>>>>>>
> >>>>>>>> -0.9
> >>>>>>>>
> >>>>>>>> I’m not in favor of the revised proposal that disallows
> >>>>>> rebase-and-merge.
> >>>>>>>> Say I am working on a PR and I have a refactor commit and
> >> another
> >>>>> commit
> >>>>>>>> which implements a new feature. I don’t want those commits to
> >> get
> >>>>>> squashed
> >>>>>>>> because that makes it hard to understand the diff. However, if I
> >>>> make
> >>>>>> those
> >>>>>>>> commits as two separate PRs then I am going to have to deal with
> >>>>>> conflicts.
> >>>>>>>>
> >>>>>>>> I’m not sure when we made it a rule that every commit in develop
> >>> had
> >>>>> to
> >>>>>>>> compile and pass tests. I know we implemented a rule that all
> >> PRs
> >>>> had
> >>>>> to
> >>>>>>>> pass certain checks, but I never thought that rule implied all
> >>>> commits
> >>>>>> had
> >>>>>>>> to pass those checks.
> >>>>>>>>
> >>>>>>>> In general I just don’t see the problem with rebase-and-merge
> >> and
> >>>> this
> >>>>>>>> feels like an unnecessary restriction, but I will go with it if
> >>>> that’s
> >>>>>> what
> >>>>>>>> everyone wants to do.
> >>>>>>>>
> >>>>>>>> Aaron
> >>>>>>>>
> >>>>>>>>> On Dec 31, 2019, at 3:09 PM, Owen Nichols <onich...@pivotal.io
> >>>
> >>>>> wrote:
> >>>>>>>>>
> >>>>>>>>> To recap, this proposal is now revised to remove 2 of the 3
> >> merge
> >>>>>> options
> >>>>>>>>> from GitHub, leaving only Squash and Merge.  PR #4513
> >>>>>>>>> <https://github.com/apache/geode/pull/4513> serves as an
> >> exhibit
> >>>> of
> >>>>>>>> what is
> >>>>>>>>> proposed (it is not to be merged unless discussion leads to
> >>>> consensus
> >>>>>>>> and a
> >>>>>>>>> successful vote).  Please use the dev list (not the PR) for all
> >>>>>>>> discussion
> >>>>>>>>> (and voting, if we get that far).
> >>>>>>>>>
> >>>>>>>>> Squash and merge is already used almost exclusively by the
> >> Geode
> >>>>>>>> community,
> >>>>>>>>> with any exceptions tending to be accidental more often than
> >>>>>> intentional.
> >>>>>>>>> However, some have raised the concern that implementing this
> >>>>>> restriction
> >>>>>>>>> could result in harm or wasted time.  Can someone give an
> >> example
> >>>> of
> >>>>> a
> >>>>>>>> such
> >>>>>>>>> a scenario?
> >>>>>>>>>
> >>>>>>>>> It seems there is a divide here between junior and senior
> >>> community
> >>>>>>>>> members.  Newer committers appreciate additional guardrails to
> >>>>> protect
> >>>>>>>> them
> >>>>>>>>> from accidentally doing the wrong thing, while those with more
> >>>>>> experience
> >>>>>>>>> want to be able to work unencumbered by restrictions of any
> >> kind.
> >>>>>>>>>
> >>>>>>>>> Our welcome email to new committers states “We like to work on
> >>>> trust
> >>>>>>>> rather
> >>>>>>>>> than unnecessary constraints...Being a committer enables you to
> >>>> more
> >>>>>>>> easily
> >>>>>>>>> make changes without needing to go through the patch submission
> >>>>>> process”.
> >>>>>>>>> I can see this as an argument against this proposal (perhaps
> >> even
> >>>> an
> >>>>>>>>> argument against any form of branch protection).
> >>>>>>>>>
> >>>>>>>>> In the scheme of things, this proposal makes very little
> >>>> difference.
> >>>>>>>> There
> >>>>>>>>> are still other ways to get non-compiling commits onto develop
> >>>> (e.g.
> >>>>>>>>> waiting a long time between running PR checks and merging to
> >>>>> develop).
> >>>>>>>>> What’s more important is working well together as a community.
> >>> So,
> >>>>>>>> perhaps
> >>>>>>>>> what’s best for the community is to encourage working on trust
> >>>> rather
> >>>>>>>> than
> >>>>>>>>> unnecessary constraints.
> >>>>>>>>>
> >>>>>>>>> -Owen
> >>>>>>>>>
> >>>>>>>>> On Dec 31, 2019, at 10:56 AM, Kirk Lund <kl...@apache.org>
> >>> wrote:
> >>>>>>>>>
> >>>>>>>>> I'm happy to file multiple PRs when I need to merge multiple
> >>>> commits
> >>>>> to
> >>>>>>>>> develop.
> >>>>>>>>>
> >>>>>>>>> On Mon, Dec 30, 2019 at 5:45 PM Mark Hanson <
> >> mhan...@pivotal.io>
> >>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>> This change to disable all but squash-merge would be really
> >> easy
> >>> to
> >>>>>>>>> revert. How about we try it for a while and see? If people
> >> decide
> >>>> it
> >>>>> is
> >>>>>>>>> really limiting them, we can change it back. Let’s do it for 1
> >>>> month
> >>>>>> and
> >>>>>>>>> see how it goes. Does that sound reasonable?
> >>>>>>>>>
> >>>>>>>>> Thanks,
> >>>>>>>>> Mark
> >>>>>>>>>
> >>>>>>>>> On Dec 30, 2019, at 5:25 PM, Owen Nichols <onich...@pivotal.io
> >>>
> >>>>> wrote:
> >>>>>>>>>
> >>>>>>>>> Given that we adopted <
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>
> >>
> https://lists.apache.org/thread.html/c3eb5c028cb3a4d76024f928a7a33c0311228f5dbbcaa86287bf5826@%3Cdev.geode.apache.org%3E
> >>>>>>>>>>
> >>>>>>>>> and still wish to continue <
> >>>>>>>>>
> >>>>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>
> >>
> https://lists.apache.org/thread.html/8795697c1ad57068c053b48b4b1845005f3ade0be777e679eafe95db@%3Cdev.geode.apache.org%3E
> >>>>>>>>>>
> >>>>>>>>> having branch protection rules to ensure every commit landing
> >> in
> >>>>>> develop
> >>>>>>>>> has passed the required PR checks, it seems like that decision
> >>>> alone
> >>>>>>>>> mandates that we disable all merge mechanisms other than
> >>>>>>>> squash-and-merge.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Allowing merge commits or rebase merges bypasses branch
> >>> protection
> >>>>> for
> >>>>>>>>>
> >>>>>>>>> all commits other than the final one in the merge or rebase
> >> set.
> >>>>> Given
> >>>>>>>>> that we decided <
> >>>>>>>>>
> >>>>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>
> >>
> https://lists.apache.org/thread.html/1ba19d9aeb206148c922afdd182ba322d6f128bbb83983f2f72a108e@%3Cdev.geode.apache.org%3E
> >>>>>>>>>>
> >>>>>>>>> that bypassing PR checks should never be allowed, keeping this
> >>>>> loophole
> >>>>>>>>> open seems untenable.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> This is not just hypothetical — this loophole is causing real
> >>>>> problems.
> >>>>>>>>>
> >>>>>>>>> We now have commits on develop that don’t compile.  For
> >> example:
> >>>>>>>>>
> >>>>>>>>> git checkout 19eee7821322a1301f16bdcd31fd3b8c872a41b6
> >>>>>>>>> ./gradlew devBuild
> >>>>>>>>> ...spotlessJava FAILED
> >>>>>>>>> We implemented branch protections to make this impossible,
> >> right?
> >>>>>>>>>
> >>>>>>>>> We can very easily close this loophole by disabling all but the
> >>>>>>>>>
> >>>>>>>>> Squash&Merge button for PRs.  This will not make more work for
> >>> any
> >>>>>>>>> developer.  If you want to get multiple commits onto develop,
> >>>> simply
> >>>>>>>> submit
> >>>>>>>>> each as a separate PR — that is the only way to assure that
> >>>> required
> >>>>> PR
> >>>>>>>>> checks have passed for each.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> On the other hand, if we as a Geode community feel strongly
> >> that
> >>>>>>>>>
> >>>>>>>>> bypassing branch protection via merge commits and rebase
> >> commits
> >>> is
> >>>>>>>>> important to allow, why not also allow arbitrary overrides (or
> >>> get
> >>>>> rid
> >>>>>> of
> >>>>>>>>> branch protection entirely)?
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> -Owen
> >>>>>>>>>
> >>>>>>>>> On Dec 20, 2019, at 12:31 PM, Blake Bender <bben...@pivotal.io
> >>>
> >>>>> wrote:
> >>>>>>>>>
> >>>>>>>>> Just FWIW, the situation described of having multiple commits
> >> in
> >>> a
> >>>>>>>>>
> >>>>>>>>> single
> >>>>>>>>>
> >>>>>>>>> PR with separate associated JIRA tickets is still kind of
> >>>>> problematic.
> >>>>>>>>>
> >>>>>>>>> It
> >>>>>>>>>
> >>>>>>>>> could well be the case that the commits are interdependent,
> >> thus
> >>>> when
> >>>>>>>>> bisecting etc it's still not possible to revert the fix for a
> >>>> single
> >>>>>>>>> bug/feature/whatever atomically.  It's all good, though, I'm
> >>>>> satisfied
> >>>>>>>>>
> >>>>>>>>> no
> >>>>>>>>>
> >>>>>>>>> one's forcing me to adopt practice I'm opposed to.  Apologies
> >> for
> >>>>>>>>>
> >>>>>>>>> getting
> >>>>>>>>>
> >>>>>>>>> my feathers a little ruffled, or if I ruffled anyone else's in
> >>>>> return.
> >>>>>>>>>
> >>>>>>>>> Thanks,
> >>>>>>>>>
> >>>>>>>>> Blake
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> On Fri, Dec 20, 2019 at 12:18 PM Nabarun Nag <n...@pivotal.io>
> >>>>> wrote:
> >>>>>>>>>
> >>>>>>>>> Hi Dan,
> >>>>>>>>>
> >>>>>>>>> When we do squash merge all the commit messages are preserved
> >> and
> >>>>> also
> >>>>>>>>>
> >>>>>>>>> the
> >>>>>>>>>
> >>>>>>>>> co-authored tag works when we do squash merge.
> >>>>>>>>> So the authorship and history are preserved.
> >>>>>>>>>
> >>>>>>>>> In my own personal experience and reverts and pinpointing
> >>>> regression
> >>>>>>>>> failures are tough when the commits are spread out. Also,
> >> reverts
> >>>> are
> >>>>>>>>> easier when it is just one commit while we are bisecting
> >>> failures.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Regards
> >>>>>>>>> Naba
> >>>>>>>>>
> >>>>>>>>> On Fri, Dec 20, 2019 at 12:07 PM Dan Smith <dsm...@pivotal.io>
> >>>>> wrote:
> >>>>>>>>>
> >>>>>>>>> I'll change to -0.
> >>>>>>>>>
> >>>>>>>>> I think merge commits are a nice way to record history in some
> >>>> cases,
> >>>>>>>>>
> >>>>>>>>> and
> >>>>>>>>>
> >>>>>>>>> can also be a way to avoid messy conflicts that come with
> >> rebase.
> >>>>>>>>>
> >>>>>>>>> Merge
> >>>>>>>>>
> >>>>>>>>> commits also preserve authorship of commits (compared to
> >>>>>>>>>
> >>>>>>>>> squash-merge),
> >>>>>>>>>
> >>>>>>>>> which I think is valuable as an open source community that is
> >>>> trying
> >>>>>>>>>
> >>>>>>>>> to
> >>>>>>>>>
> >>>>>>>>> keep track of outside contributions.
> >>>>>>>>>
> >>>>>>>>> That said, if the rest of y'all feel it will help to disable
> >> the
> >>>>>>>>>
> >>>>>>>>> button,
> >>>>>>>>>
> >>>>>>>>> I
> >>>>>>>>>
> >>>>>>>>> won't stand in the way.
> >>>>>>>>>
> >>>>>>>>> -Dan
> >>>>>>>>>
> >>>>>>>>> On Fri, Dec 20, 2019 at 11:50 AM Anthony Baker <
> >>> aba...@pivotal.io>
> >>>>>>>>>
> >>>>>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Whether we are talking about the geode/ repository or the
> >>>>>>>>>
> >>>>>>>>> geode-native/
> >>>>>>>>>
> >>>>>>>>> repository we are all one GEODE community.
> >>>>>>>>>
> >>>>>>>>> The idea of a native client team may matter in some contexts
> >> but
> >>> in
> >>>>>>>>>
> >>>>>>>>> this
> >>>>>>>>>
> >>>>>>>>> space we are all GEODE contributors.
> >>>>>>>>>
> >>>>>>>>> Adopting a common approach across our repos will make it easier
> >>> for
> >>>>>>>>>
> >>>>>>>>> new
> >>>>>>>>>
> >>>>>>>>> contributors to engage, learn our norms, and join our efforts.
> >>>>>>>>>
> >>>>>>>>> $0.02,
> >>>>>>>>> Anthony
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> On Dec 20, 2019, at 11:32 AM, Blake Bender <bben...@pivotal.io
> >>>
> >>>>>>>>>
> >>>>>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Is this a policy the native client team must abide by, as well?
> >>> It
> >>>>>>>>>
> >>>>>>>>> varies
> >>>>>>>>>
> >>>>>>>>> slightly with what we've been doing, and all other things being
> >>>>>>>>>
> >>>>>>>>> equal I
> >>>>>>>>>
> >>>>>>>>> see
> >>>>>>>>>
> >>>>>>>>> no reason for us to change that.  If I am to have any measure
> >> of
> >>>>>>>>>
> >>>>>>>>> control
> >>>>>>>>>
> >>>>>>>>> over the nc repository, I will definitely enforce a 1:1
> >>>>>>>>>
> >>>>>>>>> correspondence
> >>>>>>>>>
> >>>>>>>>> between commits to develop and JIRA tickets.  IMO, if your
> >>>>>>>>>
> >>>>>>>>> refactoring
> >>>>>>>>>
> >>>>>>>>> in a
> >>>>>>>>>
> >>>>>>>>> PR is sufficiently large or complex that it's difficult to
> >> tease
> >>> it
> >>>>>>>>>
> >>>>>>>>> out
> >>>>>>>>>
> >>>>>>>>> from the bug you're fixing or feature you're implementing, it
> >>>> merits
> >>>>>>>>>
> >>>>>>>>> its
> >>>>>>>>>
> >>>>>>>>> own JIRA ticket and a separate PR.  If your "actual" fix then
> >>>>>>>>>
> >>>>>>>>> becomes
> >>>>>>>>>
> >>>>>>>>> dependent on the refactored code, that's a price I'm willing to
> >>> pay
> >>>>>>>>>
> >>>>>>>>> to
> >>>>>>>>>
> >>>>>>>>> keep
> >>>>>>>>>
> >>>>>>>>> history clean.
> >>>>>>>>>
> >>>>>>>>> On the other hand, I see no real value in squashing to a single
> >>>>>>>>>
> >>>>>>>>> commit
> >>>>>>>>>
> >>>>>>>>> prior to submitting a PR, since your view of the changes on
> >>> GitHub
> >>>>>>>>>
> >>>>>>>>> is
> >>>>>>>>>
> >>>>>>>>> essentially the same either way.  We haven't enforced this on
> >> the
> >>>> nc
> >>>>>>>>>
> >>>>>>>>> repo,
> >>>>>>>>>
> >>>>>>>>> and I'd prefer to keep it that way.
> >>>>>>>>>
> >>>>>>>>> Thanks,
> >>>>>>>>>
> >>>>>>>>> Blake
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> On Fri, Dec 20, 2019 at 10:29 AM Jinmei Liao <
> >> jil...@pivotal.io>
> >>>>>>>>>
> >>>>>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Merge commit is the new contributor's default setting. When we
> >>> are
> >>>>>>>>>
> >>>>>>>>> merging
> >>>>>>>>>
> >>>>>>>>> new contributor's PR, since we are so used to THINKING
> >>>>>>>>>
> >>>>>>>>> "squash-and-merge"
> >>>>>>>>>
> >>>>>>>>> is the default, we forgot to check what the button really says
> >>> when
> >>>>>>>>>
> >>>>>>>>> we
> >>>>>>>>>
> >>>>>>>>> are
> >>>>>>>>>
> >>>>>>>>> merging other people's PR.
> >>>>>>>>>
> >>>>>>>>> On Fri, Dec 20, 2019 at 10:18 AM Ernest Burghardt <
> >>>>>>>>>
> >>>>>>>>> eburgha...@pivotal.io>
> >>>>>>>>>
> >>>>>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>> I'm a proponent of using squash-and-merge, and once a person
> >> has
> >>>>>>>>>
> >>>>>>>>> chosen
> >>>>>>>>>
> >>>>>>>>> this option once it comes up by default afterwards...
> >>>>>>>>>
> >>>>>>>>> Owen,  I don't think you have consensus to put forth this PR,
> >>>>>>>>>
> >>>>>>>>> there
> >>>>>>>>>
> >>>>>>>>> are
> >>>>>>>>>
> >>>>>>>>> -1s
> >>>>>>>>>
> >>>>>>>>> above... (early voting)
> >>>>>>>>>
> >>>>>>>>> maybe we'll be better off socializing the norm of
> >>> squash-and-merge
> >>>>>>>>>
> >>>>>>>>> and
> >>>>>>>>>
> >>>>>>>>> gaining a natural consensus that way...
> >>>>>>>>>
> >>>>>>>>> On Fri, Dec 20, 2019 at 10:07 AM Owen Nichols <
> >>>>>>>>>
> >>>>>>>>> onich...@pivotal.io
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> The proposed action manifests as a commit to the Geode git
> >>>>>>>>>
> >>>>>>>>> repository,
> >>>>>>>>>
> >>>>>>>>> so
> >>>>>>>>>
> >>>>>>>>> a PR is an acceptable vehicle for voting in this case.
> >>>>>>>>>
> >>>>>>>>> On Dec 20, 2019, at 9:38 AM, Bruce Schuchardt <
> >>>>>>>>>
> >>>>>>>>> bschucha...@pivotal.io>
> >>>>>>>>>
> >>>>>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> I see a lot of plus-ones and a "voting deadline" on this
> >> DISCUSS
> >>>>>>>>>
> >>>>>>>>> thread
> >>>>>>>>>
> >>>>>>>>> and a request to "vote" using a PR.  This all seems out of
> >> order
> >>>>>>>>>
> >>>>>>>>> to
> >>>>>>>>>
> >>>>>>>>> me.
> >>>>>>>>>
> >>>>>>>>> Our votes are supposed to be on the email list, aren't they?
> >> and
> >>>>>>>>>
> >>>>>>>>> I
> >>>>>>>>>
> >>>>>>>>> haven't
> >>>>>>>>>
> >>>>>>>>> seen a VOTE request.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> On 12/20/19 9:33 AM, Nabarun Nag wrote:
> >>>>>>>>>
> >>>>>>>>> +1
> >>>>>>>>>
> >>>>>>>>> On Fri, Dec 20, 2019 at 9:25 AM Owen Nichols <
> >>>>>>>>>
> >>>>>>>>> onich...@pivotal.io
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Based on the feedback so far, I will amend the proposal to
> >>>>>>>>>
> >>>>>>>>> drop
> >>>>>>>>>
> >>>>>>>>> item
> >>>>>>>>>
> >>>>>>>>> 2).
> >>>>>>>>>
> >>>>>>>>> Therefore, the current ability to create merge commits using
> >>>>>>>>>
> >>>>>>>>> command-line
> >>>>>>>>>
> >>>>>>>>> git will remain available.
> >>>>>>>>>
> >>>>>>>>> The proposal as amended is now:
> >>>>>>>>>
> >>>>>>>>> Change GitHub settings to make "Squash and merge" the default
> >>>>>>>>> (by removing “Create a merge commit” option).
> >>>>>>>>>
> >>>>>>>>> Update the PR template to change the text "Is your initial
> >>>>>>>>>
> >>>>>>>>> contribution
> >>>>>>>>>
> >>>>>>>>> a single, squashed commit” to “Is your initial contribution
> >>>>>>>>>
> >>>>>>>>> squashed
> >>>>>>>>>
> >>>>>>>>> for
> >>>>>>>>>
> >>>>>>>>> ease of review (e.g. a single commit, or a ‘refactoring’
> >>>>>>>>>
> >>>>>>>>> commit
> >>>>>>>>>
> >>>>>>>>> plus a
> >>>>>>>>>
> >>>>>>>>> ‘fix’ commit)"
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> As Naba suggested, we can try it, and if we don’t like it,
> >>>>>>>>>
> >>>>>>>>> it’s
> >>>>>>>>>
> >>>>>>>>> simple
> >>>>>>>>>
> >>>>>>>>> to
> >>>>>>>>>
> >>>>>>>>> revert.
> >>>>>>>>>
> >>>>>>>>> I’ve create a PR for the proposed change here:
> >>>>>>>>> https://github.com/apache/geode/pull/4513
> >>>>>>>>>
> >>>>>>>>> Please use the PR to vote for against this proposal.  It will
> >>>>>>>>>
> >>>>>>>>> not
> >>>>>>>>>
> >>>>>>>>> be
> >>>>>>>>>
> >>>>>>>>> merged before the VOTING DEADLINE of DEC 31 (if no -1’s at
> >>>>>>>>>
> >>>>>>>>> that
> >>>>>>>>>
> >>>>>>>>> time)
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> On Dec 20, 2019, at 8:31 AM, Ju@N <jujora...@gmail.com>
> >>>>>>>>>
> >>>>>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> +1
> >>>>>>>>>
> >>>>>>>>> On Fri 20 Dec 2019 at 16:18, Owen Nichols <
> >>>>>>>>>
> >>>>>>>>> onich...@pivotal.io>
> >>>>>>>>>
> >>>>>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Hi Bruce, this proposal will not waste a single second of
> >>>>>>>>>
> >>>>>>>>> your
> >>>>>>>>>
> >>>>>>>>> time.  It
> >>>>>>>>>
> >>>>>>>>> just prevents people from accidentally pressing a button
> >>>>>>>>>
> >>>>>>>>> that
> >>>>>>>>>
> >>>>>>>>> we
> >>>>>>>>>
> >>>>>>>>> have
> >>>>>>>>>
> >>>>>>>>> already agreed should never be pressed, but because we never
> >>>>>>>>>
> >>>>>>>>> configured
> >>>>>>>>>
> >>>>>>>>> our
> >>>>>>>>>
> >>>>>>>>> GitHub to match our stated policy, is currently the default.
> >>>>>>>>>
> >>>>>>>>> However, it will save a lot of time and frustration for
> >>>>>>>>>
> >>>>>>>>> anyone
> >>>>>>>>>
> >>>>>>>>> needing
> >>>>>>>>>
> >>>>>>>>> to
> >>>>>>>>>
> >>>>>>>>> bisect failures, revert, or cherry-pick changes, which has
> >>>>>>>>>
> >>>>>>>>> merit
> >>>>>>>>>
> >>>>>>>>> even if
> >>>>>>>>>
> >>>>>>>>> you personally never do any of those three things.
> >>>>>>>>>
> >>>>>>>>> Please start a separate thread if you would like to revisit
> >>>>>>>>>
> >>>>>>>>> the
> >>>>>>>>>
> >>>>>>>>> community
> >>>>>>>>>
> >>>>>>>>> decision to require passing PR checks.
> >>>>>>>>>
> >>>>>>>>> On Dec 20, 2019, at 7:49 AM, Bruce Schuchardt <
> >>>>>>>>>
> >>>>>>>>> bschucha...@pivotal.io>
> >>>>>>>>>
> >>>>>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>> I agree with Jake.  I would go further by saying that I see
> >>>>>>>>>
> >>>>>>>>> very
> >>>>>>>>>
> >>>>>>>>> little
> >>>>>>>>>
> >>>>>>>>> merit in this proposal.  I think we're getting more and more
> >>>>>>>>>
> >>>>>>>>> bureaucratic
> >>>>>>>>>
> >>>>>>>>> in our process and that it stifles productivity.  I was
> >>>>>>>>>
> >>>>>>>>> recently
> >>>>>>>>>
> >>>>>>>>> forced
> >>>>>>>>>
> >>>>>>>>> to
> >>>>>>>>>
> >>>>>>>>> spend three days fixing tests in which I had changed an
> >>>>>>>>>
> >>>>>>>>> import
> >>>>>>>>>
> >>>>>>>>> statement
> >>>>>>>>>
> >>>>>>>>> before they would pass stress testing.  I'm glad the tests
> >>>>>>>>>
> >>>>>>>>> now
> >>>>>>>>>
> >>>>>>>>> pass
> >>>>>>>>>
> >>>>>>>>> reliably but I was very frustrated by the process.
> >>>>>>>>>
> >>>>>>>>> On 12/19/19 4:49 PM, Jacob Barrett wrote:
> >>>>>>>>>
> >>>>>>>>> I’m in agreement with Dan. Changes to the infrastructure
> >>>>>>>>>
> >>>>>>>>> to
> >>>>>>>>>
> >>>>>>>>> flat
> >>>>>>>>>
> >>>>>>>>> out
> >>>>>>>>>
> >>>>>>>>> prevent things that should be self policing is annoying.
> >>>>>>>>>
> >>>>>>>>> This
> >>>>>>>>>
> >>>>>>>>> PR
> >>>>>>>>>
> >>>>>>>>> review
> >>>>>>>>>
> >>>>>>>>> lock we have had already cost us valuable time waiting for
> >>>>>>>>>
> >>>>>>>>> PR
> >>>>>>>>>
> >>>>>>>>> pipelines
> >>>>>>>>>
> >>>>>>>>> to
> >>>>>>>>>
> >>>>>>>>> pass that have no relevance to the commit, like CI work: I’d
> >>>>>>>>>
> >>>>>>>>> hat
> >>>>>>>>>
> >>>>>>>>> to
> >>>>>>>>>
> >>>>>>>>> see
> >>>>>>>>>
> >>>>>>>>> yet
> >>>>>>>>>
> >>>>>>>>> another process enforced that Kees us from getting work done
> >>>>>>>>>
> >>>>>>>>> when
> >>>>>>>>>
> >>>>>>>>> necessary.
> >>>>>>>>>
> >>>>>>>>> -Jake
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> On Dec 19, 2019, at 4:43 PM, Dan Smith <
> >>>>>>>>>
> >>>>>>>>> dsm...@pivotal.io
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> -1 to (1) and (2).
> >>>>>>>>>
> >>>>>>>>> I think merge commits are appropriate in certain
> >>>>>>>>>
> >>>>>>>>> circumstances,
> >>>>>>>>>
> >>>>>>>>> so I
> >>>>>>>>>
> >>>>>>>>> don't
> >>>>>>>>>
> >>>>>>>>> think we should make a blanket restriction. In fact I
> >>>>>>>>>
> >>>>>>>>> think
> >>>>>>>>>
> >>>>>>>>> our
> >>>>>>>>>
> >>>>>>>>> release
> >>>>>>>>>
> >>>>>>>>> process involves some merges.
> >>>>>>>>>
> >>>>>>>>> I think setting standards on what is reasonable to be an
> >>>>>>>>>
> >>>>>>>>> individual
> >>>>>>>>>
> >>>>>>>>> commit
> >>>>>>>>>
> >>>>>>>>> will do a lot more to clean up our history than blocking
> >>>>>>>>>
> >>>>>>>>> merges.
> >>>>>>>>>
> >>>>>>>>> We'd
> >>>>>>>>>
> >>>>>>>>> rather not see commits like "Spotless Apply" in the
> >>>>>>>>>
> >>>>>>>>> history,
> >>>>>>>>>
> >>>>>>>>> but
> >>>>>>>>>
> >>>>>>>>> if
> >>>>>>>>>
> >>>>>>>>> reasonably separate and well written commits come in as
> >>>>>>>>>
> >>>>>>>>> part
> >>>>>>>>>
> >>>>>>>>> of
> >>>>>>>>>
> >>>>>>>>> a
> >>>>>>>>>
> >>>>>>>>> merge, I
> >>>>>>>>>
> >>>>>>>>> think that's fine.
> >>>>>>>>>
> >>>>>>>>> -Dan
> >>>>>>>>>
> >>>>>>>>> On Thu, Dec 19, 2019 at 4:27 PM Jinmei Liao <
> >>>>>>>>>
> >>>>>>>>> jil...@pivotal.io
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>> +1
> >>>>>>>>>
> >>>>>>>>> On Thu, Dec 19, 2019, 4:05 PM Owen Nichols <
> >>>>>>>>>
> >>>>>>>>> onich...@pivotal.io
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>> I’d like to advance this topic from an informal
> >>>>>>>>>
> >>>>>>>>> request/discussion
> >>>>>>>>>
> >>>>>>>>> to a
> >>>>>>>>>
> >>>>>>>>> discussion of a concrete proposal.
> >>>>>>>>>
> >>>>>>>>> To recap, it sounds like there is general agreement
> >>>>>>>>>
> >>>>>>>>> that
> >>>>>>>>>
> >>>>>>>>> commit
> >>>>>>>>>
> >>>>>>>>> history
> >>>>>>>>>
> >>>>>>>>> on
> >>>>>>>>>
> >>>>>>>>> develop should be linear (no merge commits), and that
> >>>>>>>>>
> >>>>>>>>> the
> >>>>>>>>>
> >>>>>>>>> biggest
> >>>>>>>>>
> >>>>>>>>> obstacle
> >>>>>>>>>
> >>>>>>>>> to this is that the PR merge button in GitHub creates a
> >>>>>>>>>
> >>>>>>>>> merge
> >>>>>>>>>
> >>>>>>>>> commit
> >>>>>>>>>
> >>>>>>>>> by
> >>>>>>>>>
> >>>>>>>>> default.
> >>>>>>>>>
> >>>>>>>>> I propose the following changes:
> >>>>>>>>> 1) Change GitHub settings to remove the ability to
> >>>>>>>>>
> >>>>>>>>> create
> >>>>>>>>>
> >>>>>>>>> a
> >>>>>>>>>
> >>>>>>>>> merge
> >>>>>>>>>
> >>>>>>>>> commit.
> >>>>>>>>>
> >>>>>>>>> This will make Squash & Merge the default.
> >>>>>>>>>
> >>>>>>>>> 2) Change GitHub settings to require linear history on
> >>>>>>>>>
> >>>>>>>>> develop.
> >>>>>>>>>
> >>>>>>>>> This
> >>>>>>>>>
> >>>>>>>>> prevents merge commits via command-line (not
> >>>>>>>>>
> >>>>>>>>> recommended,
> >>>>>>>>>
> >>>>>>>>> but
> >>>>>>>>>
> >>>>>>>>> wiki
> >>>>>>>>>
> >>>>>>>>> still
> >>>>>>>>>
> >>>>>>>>> has instructions for merging PRs this way).
> >>>>>>>>>
> >>>>>>>>> 3) Update the PR template to change the text "Is your
> >>>>>>>>>
> >>>>>>>>> initial
> >>>>>>>>>
> >>>>>>>>> contribution
> >>>>>>>>>
> >>>>>>>>> a single, squashed commit” to “Is your initial
> >>>>>>>>>
> >>>>>>>>> contribution
> >>>>>>>>>
> >>>>>>>>> squashed
> >>>>>>>>>
> >>>>>>>>> for
> >>>>>>>>>
> >>>>>>>>> ease of review (e.g. a single commit, or a
> >>>>>>>>>
> >>>>>>>>> ‘refactoring’
> >>>>>>>>>
> >>>>>>>>> commit
> >>>>>>>>>
> >>>>>>>>> plus
> >>>>>>>>>
> >>>>>>>>> a
> >>>>>>>>>
> >>>>>>>>> ‘fix’ commit)"
> >>>>>>>>>
> >>>>>>>>> For clarity, I am proposing no-change in the following
> >>>>>>>>>
> >>>>>>>>> areas:
> >>>>>>>>>
> >>>>>>>>> i) Leave Rebase & Merge as an option for PRs that have
> >>>>>>>>>
> >>>>>>>>> been
> >>>>>>>>>
> >>>>>>>>> structured to
> >>>>>>>>>
> >>>>>>>>> benefit from it (this can make it easier in a bisect to
> >>>>>>>>>
> >>>>>>>>> see
> >>>>>>>>>
> >>>>>>>>> whether
> >>>>>>>>>
> >>>>>>>>> the
> >>>>>>>>>
> >>>>>>>>> refactoring or the “fix” broke something).
> >>>>>>>>> ii) Leave existing wording in the wiki as-is [stating
> >>>>>>>>>
> >>>>>>>>> that
> >>>>>>>>>
> >>>>>>>>> squashing
> >>>>>>>>>
> >>>>>>>>> is
> >>>>>>>>>
> >>>>>>>>> preferred].
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Please comment via this email thread.
> >>>>>>>>> -Owen
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> On Dec 16, 2019, at 10:49 AM, Kirk Lund <
> >>>>>>>>>
> >>>>>>>>> kl...@apache.org>
> >>>>>>>>>
> >>>>>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> I think it's already resolved Udo ;)
> >>>>>>>>>
> >>>>>>>>> Here's the problem, if I fixup a dunit test by
> >>>>>>>>>
> >>>>>>>>> removing
> >>>>>>>>>
> >>>>>>>>> all
> >>>>>>>>>
> >>>>>>>>> uses
> >>>>>>>>>
> >>>>>>>>> of
> >>>>>>>>>
> >>>>>>>>> "this."
> >>>>>>>>>
> >>>>>>>>> and I rename the dunit test, then git doesn't remember
> >>>>>>>>>
> >>>>>>>>> that
> >>>>>>>>>
> >>>>>>>>> the
> >>>>>>>>>
> >>>>>>>>> file
> >>>>>>>>>
> >>>>>>>>> is a
> >>>>>>>>>
> >>>>>>>>> rename -- it forever afterwards interprets it as a new
> >>>>>>>>>
> >>>>>>>>> file
> >>>>>>>>>
> >>>>>>>>> that I
> >>>>>>>>>
> >>>>>>>>> created
> >>>>>>>>>
> >>>>>>>>> if I touch more than 50% of the lines (which "this."
> >>>>>>>>>
> >>>>>>>>> can
> >>>>>>>>>
> >>>>>>>>> easily
> >>>>>>>>>
> >>>>>>>>> do). If
> >>>>>>>>>
> >>>>>>>>> we
> >>>>>>>>>
> >>>>>>>>> squash two commits: the rename and the cleanup of that
> >>>>>>>>>
> >>>>>>>>> dunit
> >>>>>>>>>
> >>>>>>>>> test
> >>>>>>>>>
> >>>>>>>>> --
> >>>>>>>>>
> >>>>>>>>> then
> >>>>>>>>>
> >>>>>>>>> we effectively lose the history of that file and it
> >>>>>>>>>
> >>>>>>>>> shows
> >>>>>>>>>
> >>>>>>>>> that
> >>>>>>>>>
> >>>>>>>>> I
> >>>>>>>>>
> >>>>>>>>> created
> >>>>>>>>>
> >>>>>>>>> a
> >>>>>>>>>
> >>>>>>>>> new file.
> >>>>>>>>>
> >>>>>>>>> Also for the record, I've been working on Geode since
> >>>>>>>>>
> >>>>>>>>> the
> >>>>>>>>>
> >>>>>>>>> beginning
> >>>>>>>>>
> >>>>>>>>> and I
> >>>>>>>>>
> >>>>>>>>> was never made aware of this change in our process. I
> >>>>>>>>>
> >>>>>>>>> never
> >>>>>>>>>
> >>>>>>>>> voted
> >>>>>>>>>
> >>>>>>>>> on
> >>>>>>>>>
> >>>>>>>>> it.
> >>>>>>>>>
> >>>>>>>>> I'm not a big fan of changing various details in our
> >>>>>>>>>
> >>>>>>>>> process
> >>>>>>>>>
> >>>>>>>>> every
> >>>>>>>>>
> >>>>>>>>> single
> >>>>>>>>>
> >>>>>>>>> week. It's very easy to miss these discussions unless
> >>>>>>>>>
> >>>>>>>>> someone
> >>>>>>>>>
> >>>>>>>>> points it
> >>>>>>>>>
> >>>>>>>>> out
> >>>>>>>>>
> >>>>>>>>> to me.
> >>>>>>>>>
> >>>>>>>>> On Mon, Dec 16, 2019 at 10:34 AM Udo Kohlmeyer <
> >>>>>>>>>
> >>>>>>>>> ukohlme...@pivotal.io>
> >>>>>>>>>
> >>>>>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>> I'm not sure what this discussion is about... WE, as
> >>>>>>>>>
> >>>>>>>>> a
> >>>>>>>>>
> >>>>>>>>> community,
> >>>>>>>>>
> >>>>>>>>> have
> >>>>>>>>>
> >>>>>>>>> agreed in common practices, in two place no less...
> >>>>>>>>>
> >>>>>>>>> 1) Quoting our PR template
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> For all changes:
> >>>>>>>>>
> >>>>>>>>> *
> >>>>>>>>>
> >>>>>>>>> Is there a JIRA ticket associated with this PR? Is it
> >>>>>>>>>
> >>>>>>>>> referenced
> >>>>>>>>>
> >>>>>>>>> in
> >>>>>>>>>
> >>>>>>>>> the commit message?
> >>>>>>>>>
> >>>>>>>>> *
> >>>>>>>>>
> >>>>>>>>> Has your PR been rebased against the latest commit
> >>>>>>>>>
> >>>>>>>>> within
> >>>>>>>>>
> >>>>>>>>> the
> >>>>>>>>>
> >>>>>>>>> target
> >>>>>>>>>
> >>>>>>>>> branch (typically|develop|)?
> >>>>>>>>>
> >>>>>>>>> *
> >>>>>>>>>
> >>>>>>>>> ***Is your initial contribution a single, squashed
> >>>>>>>>>
> >>>>>>>>> commit?*
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> *
> >>>>>>>>>
> >>>>>>>>> Does|gradlew build|run cleanly?
> >>>>>>>>>
> >>>>>>>>> *
> >>>>>>>>>
> >>>>>>>>> Have you written or updated unit tests to verify your
> >>>>>>>>>
> >>>>>>>>> changes?
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> *
> >>>>>>>>>
> >>>>>>>>> If adding new dependencies to the code, are these
> >>>>>>>>>
> >>>>>>>>> dependencies
> >>>>>>>>>
> >>>>>>>>> licensed in a way that is compatible for inclusion
> >>>>>>>>>
> >>>>>>>>> underASF
> >>>>>>>>>
> >>>>>>>>> 2.0
> >>>>>>>>>
> >>>>>>>>> <
> >>>>>>>>>
> >>>>>>>>> http://www.apache.org/legal/resolved.html#category-a
> >>>>>>>>>
> >>>>>>>>> ?
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> On our PR template we call out that the initial PR
> >>>>>>>>>
> >>>>>>>>> commit
> >>>>>>>>>
> >>>>>>>>> should
> >>>>>>>>>
> >>>>>>>>> be
> >>>>>>>>>
> >>>>>>>>> squashed.
> >>>>>>>>>
> >>>>>>>>> 2)
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>> https://cwiki.apache.org/confluence/display/GEODE/Code+contributions
> >>>>>>>>>
> >>>>>>>>> <
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>> https://cwiki.apache.org/confluence/display/GEODE/Code+contributions
> >>>>>>>>>
> >>>>>>>>> -- See "Accepting a PR Using the Command Line" -
> >>>>>>>>>
> >>>>>>>>> Point
> >>>>>>>>>
> >>>>>>>>> #3.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> @Kirk, if each of your commits "stands alone", I
> >>>>>>>>>
> >>>>>>>>> commend
> >>>>>>>>>
> >>>>>>>>> you
> >>>>>>>>>
> >>>>>>>>> on
> >>>>>>>>>
> >>>>>>>>> the
> >>>>>>>>>
> >>>>>>>>> diligence, but in reality, they should either then be
> >>>>>>>>>
> >>>>>>>>> stand
> >>>>>>>>>
> >>>>>>>>> alone
> >>>>>>>>>
> >>>>>>>>> PR's
> >>>>>>>>>
> >>>>>>>>> or just extra work created for yourself.
> >>>>>>>>>
> >>>>>>>>> If we want to change the way we have agreed upon we
> >>>>>>>>>
> >>>>>>>>> submit/commit/merge
> >>>>>>>>>
> >>>>>>>>> changes back into develop... Then this is another
> >>>>>>>>>
> >>>>>>>>> discussion
> >>>>>>>>>
> >>>>>>>>> thread,
> >>>>>>>>>
> >>>>>>>>> until then, I think we should all remind ourselves on
> >>>>>>>>>
> >>>>>>>>> our
> >>>>>>>>>
> >>>>>>>>> agreed
> >>>>>>>>>
> >>>>>>>>> contributions code of conduct.
> >>>>>>>>>
> >>>>>>>>> --Udo
> >>>>>>>>>
> >>>>>>>>> On 12/16/19 9:59 AM, Nabarun Nag wrote:
> >>>>>>>>>
> >>>>>>>>> Kirk, I believe that creating a Pull Request with
> >>>>>>>>>
> >>>>>>>>> multiple
> >>>>>>>>>
> >>>>>>>>> commits is
> >>>>>>>>>
> >>>>>>>>> ok.
> >>>>>>>>>
> >>>>>>>>> It's just in the end that when it's being pushed to
> >>>>>>>>>
> >>>>>>>>> develop
> >>>>>>>>>
> >>>>>>>>> branch,
> >>>>>>>>>
> >>>>>>>>> it
> >>>>>>>>>
> >>>>>>>>> needs to be squash merged. I believe that is what
> >>>>>>>>>
> >>>>>>>>> you
> >>>>>>>>>
> >>>>>>>>> have
> >>>>>>>>>
> >>>>>>>>> mentioned
> >>>>>>>>>
> >>>>>>>>> in
> >>>>>>>>>
> >>>>>>>>> the
> >>>>>>>>>
> >>>>>>>>> first paragraph, and I am more than happy with that.
> >>>>>>>>> If you can see in the first screenshot comparison
> >>>>>>>>>
> >>>>>>>>> that
> >>>>>>>>>
> >>>>>>>>> I
> >>>>>>>>>
> >>>>>>>>> had
> >>>>>>>>>
> >>>>>>>>> attached
> >>>>>>>>>
> >>>>>>>>> in
> >>>>>>>>>
> >>>>>>>>> the first email in this thread is what I want to
> >>>>>>>>>
> >>>>>>>>> avoid.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Thank you for your feedback.
> >>>>>>>>>
> >>>>>>>>> Regards
> >>>>>>>>> Naba
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> On Mon, Dec 16, 2019 at 9:47 AM Kirk Lund <
> >>>>>>>>>
> >>>>>>>>> kl...@apache.org>
> >>>>>>>>>
> >>>>>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>> Whenever I submit a PR with multiple commits that I
> >>>>>>>>>
> >>>>>>>>> intend
> >>>>>>>>>
> >>>>>>>>> to
> >>>>>>>>>
> >>>>>>>>> rebase
> >>>>>>>>>
> >>>>>>>>> to
> >>>>>>>>>
> >>>>>>>>> develop, I always try to ensure that each commit
> >>>>>>>>>
> >>>>>>>>> stands
> >>>>>>>>>
> >>>>>>>>> alone
> >>>>>>>>>
> >>>>>>>>> as
> >>>>>>>>>
> >>>>>>>>> is
> >>>>>>>>>
> >>>>>>>>> (compiles and passes tests). Separating file
> >>>>>>>>>
> >>>>>>>>> renames
> >>>>>>>>>
> >>>>>>>>> and
> >>>>>>>>>
> >>>>>>>>> refactoring
> >>>>>>>>>
> >>>>>>>>> from
> >>>>>>>>>
> >>>>>>>>> behavior changes into different commits seems very
> >>>>>>>>>
> >>>>>>>>> valuable
> >>>>>>>>>
> >>>>>>>>> to
> >>>>>>>>>
> >>>>>>>>> me,
> >>>>>>>>>
> >>>>>>>>> and
> >>>>>>>>>
> >>>>>>>>> I've
> >>>>>>>>>
> >>>>>>>>> had trouble getting people to review PRs without
> >>>>>>>>>
> >>>>>>>>> this
> >>>>>>>>>
> >>>>>>>>> separation
> >>>>>>>>>
> >>>>>>>>> (but
> >>>>>>>>>
> >>>>>>>>> it
> >>>>>>>>>
> >>>>>>>>> could be squashed as it's merged to develop).
> >>>>>>>>>
> >>>>>>>>> It sounds to me like the real problem is (a) some
> >>>>>>>>>
> >>>>>>>>> PRs
> >>>>>>>>>
> >>>>>>>>> have
> >>>>>>>>>
> >>>>>>>>> multiple
> >>>>>>>>>
> >>>>>>>>> commits
> >>>>>>>>>
> >>>>>>>>> that don't compile or don't pass tests, and (b)
> >>>>>>>>>
> >>>>>>>>> some
> >>>>>>>>>
> >>>>>>>>> PRs
> >>>>>>>>>
> >>>>>>>>> that
> >>>>>>>>>
> >>>>>>>>> should
> >>>>>>>>>
> >>>>>>>>> be
> >>>>>>>>>
> >>>>>>>>> merged with squash are not (by accident most
> >>>>>>>>>
> >>>>>>>>> likely).
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> I can submit multiple PRs instead of one PR with
> >>>>>>>>>
> >>>>>>>>> multiple
> >>>>>>>>>
> >>>>>>>>> commits.
> >>>>>>>>>
> >>>>>>>>> So
> >>>>>>>>>
> >>>>>>>>> I'll
> >>>>>>>>>
> >>>>>>>>> change my response to -0 if that helps prevent
> >>>>>>>>>
> >>>>>>>>> commits
> >>>>>>>>>
> >>>>>>>>> to
> >>>>>>>>>
> >>>>>>>>> develop
> >>>>>>>>>
> >>>>>>>>> that
> >>>>>>>>>
> >>>>>>>>> don't compile or pass tests. Without preventing
> >>>>>>>>>
> >>>>>>>>> rebase
> >>>>>>>>>
> >>>>>>>>> or
> >>>>>>>>>
> >>>>>>>>> merge
> >>>>>>>>>
> >>>>>>>>> commits
> >>>>>>>>>
> >>>>>>>>> from github, I'm not sure how we can really enforce
> >>>>>>>>>
> >>>>>>>>> this
> >>>>>>>>>
> >>>>>>>>> or
> >>>>>>>>>
> >>>>>>>>> prevent
> >>>>>>>>>
> >>>>>>>>> (b)
> >>>>>>>>>
> >>>>>>>>> above.
> >>>>>>>>>
> >>>>>>>>> On Fri, Dec 13, 2019 at 3:38 PM Alexander Murmann <
> >>>>>>>>>
> >>>>>>>>> amurm...@pivotal.io>
> >>>>>>>>>
> >>>>>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>> I wonder if Kirk's and Naba's statements are
> >>>>>>>>>
> >>>>>>>>> necessarily
> >>>>>>>>>
> >>>>>>>>> at
> >>>>>>>>>
> >>>>>>>>> odds.
> >>>>>>>>>
> >>>>>>>>> Make the change easy (warning: this may be hard),
> >>>>>>>>>
> >>>>>>>>> then
> >>>>>>>>>
> >>>>>>>>> make
> >>>>>>>>>
> >>>>>>>>> the
> >>>>>>>>>
> >>>>>>>>> easy
> >>>>>>>>>
> >>>>>>>>> change."
> >>>>>>>>>
> >>>>>>>>> -Kent Beck
> >>>>>>>>>
> >>>>>>>>> Following Kent Beck's advise might reasonably
> >>>>>>>>>
> >>>>>>>>> split
> >>>>>>>>>
> >>>>>>>>> into
> >>>>>>>>>
> >>>>>>>>> two
> >>>>>>>>>
> >>>>>>>>> commits.
> >>>>>>>>>
> >>>>>>>>> One
> >>>>>>>>>
> >>>>>>>>> refactor commit and a separate commit that
> >>>>>>>>>
> >>>>>>>>> introduces
> >>>>>>>>>
> >>>>>>>>> the
> >>>>>>>>>
> >>>>>>>>> actual
> >>>>>>>>>
> >>>>>>>>> change.
> >>>>>>>>>
> >>>>>>>>> They should be individually revertible and might
> >>>>>>>>>
> >>>>>>>>> be
> >>>>>>>>>
> >>>>>>>>> easier
> >>>>>>>>>
> >>>>>>>>> understood
> >>>>>>>>>
> >>>>>>>>> if
> >>>>>>>>>
> >>>>>>>>> split out. I vividly remember a change on our code
> >>>>>>>>>
> >>>>>>>>> base
> >>>>>>>>>
> >>>>>>>>> where
> >>>>>>>>>
> >>>>>>>>> someone
> >>>>>>>>>
> >>>>>>>>> did a
> >>>>>>>>>
> >>>>>>>>> huge amount of refactoring that resulted than in
> >>>>>>>>>
> >>>>>>>>> one
> >>>>>>>>>
> >>>>>>>>> parameter
> >>>>>>>>>
> >>>>>>>>> changing
> >>>>>>>>>
> >>>>>>>>> in
> >>>>>>>>>
> >>>>>>>>> order to get the desired functionality change. If
> >>>>>>>>>
> >>>>>>>>> that
> >>>>>>>>>
> >>>>>>>>> was
> >>>>>>>>>
> >>>>>>>>> in
> >>>>>>>>>
> >>>>>>>>> one
> >>>>>>>>>
> >>>>>>>>> commit,
> >>>>>>>>>
> >>>>>>>>> it would be hard to see the actual change. If
> >>>>>>>>>
> >>>>>>>>> split
> >>>>>>>>>
> >>>>>>>>> out,
> >>>>>>>>>
> >>>>>>>>> it's
> >>>>>>>>>
> >>>>>>>>> beautiful
> >>>>>>>>>
> >>>>>>>>> and
> >>>>>>>>>
> >>>>>>>>> crystal clear.
> >>>>>>>>>
> >>>>>>>>> I am unsure how that would be reflected in terms
> >>>>>>>>>
> >>>>>>>>> of
> >>>>>>>>>
> >>>>>>>>> JIRA
> >>>>>>>>>
> >>>>>>>>> ticket
> >>>>>>>>>
> >>>>>>>>> references.
> >>>>>>>>>
> >>>>>>>>> Usually we assume that if there is a commit with
> >>>>>>>>>
> >>>>>>>>> the
> >>>>>>>>>
> >>>>>>>>> ticket
> >>>>>>>>>
> >>>>>>>>> number,
> >>>>>>>>>
> >>>>>>>>> the
> >>>>>>>>>
> >>>>>>>>> issue is resolved. Maybe the key here is to create
> >>>>>>>>>
> >>>>>>>>> a
> >>>>>>>>>
> >>>>>>>>> separate
> >>>>>>>>>
> >>>>>>>>> refactoring
> >>>>>>>>>
> >>>>>>>>> ticket.
> >>>>>>>>>
> >>>>>>>>> Would that allow us to have our cake and eat it
> >>>>>>>>>
> >>>>>>>>> too?
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> On Fri, Dec 13, 2019 at 3:16 PM Nabarun Nag <
> >>>>>>>>>
> >>>>>>>>> n...@pivotal.io>
> >>>>>>>>>
> >>>>>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>> It is to help with bisect operations when things
> >>>>>>>>>
> >>>>>>>>> start
> >>>>>>>>>
> >>>>>>>>> failing
> >>>>>>>>>
> >>>>>>>>> ...
> >>>>>>>>>
> >>>>>>>>> helps
> >>>>>>>>>
> >>>>>>>>> us
> >>>>>>>>>
> >>>>>>>>> it revert and build faster.
> >>>>>>>>> also with cherry picking features / fixes to
> >>>>>>>>>
> >>>>>>>>> previous
> >>>>>>>>>
> >>>>>>>>> versions
> >>>>>>>>>
> >>>>>>>>> .
> >>>>>>>>>
> >>>>>>>>> And keeping the git history clean with no
> >>>>>>>>>
> >>>>>>>>> unnecessary
> >>>>>>>>>
> >>>>>>>>> “merge
> >>>>>>>>>
> >>>>>>>>> commits”.
> >>>>>>>>>
> >>>>>>>>> Regards
> >>>>>>>>> Naba
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> On Fri, Dec 13, 2019 at 2:25 PM Kirk Lund <
> >>>>>>>>>
> >>>>>>>>> kl...@apache.org>
> >>>>>>>>>
> >>>>>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>> -1 I really like to sometimes have more than 1
> >>>>>>>>>
> >>>>>>>>> commit
> >>>>>>>>>
> >>>>>>>>> in
> >>>>>>>>>
> >>>>>>>>> a
> >>>>>>>>>
> >>>>>>>>> PR
> >>>>>>>>>
> >>>>>>>>> and
> >>>>>>>>>
> >>>>>>>>> keep
> >>>>>>>>>
> >>>>>>>>> them
> >>>>>>>>>
> >>>>>>>>> separate when they merge to develop
> >>>>>>>>>
> >>>>>>>>> On Tue, Oct 22, 2019 at 5:12 PM Nabarun Nag <
> >>>>>>>>>
> >>>>>>>>> n...@pivotal.io>
> >>>>>>>>>
> >>>>>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>> Hi Geode Committers,
> >>>>>>>>>
> >>>>>>>>> A kind request for using squash commit instead
> >>>>>>>>>
> >>>>>>>>> of
> >>>>>>>>>
> >>>>>>>>> using
> >>>>>>>>>
> >>>>>>>>> merge.
> >>>>>>>>>
> >>>>>>>>> This will really help us in our bisect
> >>>>>>>>>
> >>>>>>>>> operations
> >>>>>>>>>
> >>>>>>>>> when a
> >>>>>>>>>
> >>>>>>>>> regression/flakiness in the product is
> >>>>>>>>>
> >>>>>>>>> introduced.
> >>>>>>>>>
> >>>>>>>>> We
> >>>>>>>>>
> >>>>>>>>> can
> >>>>>>>>>
> >>>>>>>>> automate
> >>>>>>>>>
> >>>>>>>>> and
> >>>>>>>>>
> >>>>>>>>> go
> >>>>>>>>>
> >>>>>>>>> through fewer commits faster, avoiding commits
> >>>>>>>>>
> >>>>>>>>> like
> >>>>>>>>>
> >>>>>>>>> "spotless
> >>>>>>>>>
> >>>>>>>>> fix"
> >>>>>>>>>
> >>>>>>>>> and
> >>>>>>>>>
> >>>>>>>>> "re-trigger precheck-in" or other minor commits
> >>>>>>>>>
> >>>>>>>>> in
> >>>>>>>>>
> >>>>>>>>> the
> >>>>>>>>>
> >>>>>>>>> merged
> >>>>>>>>>
> >>>>>>>>> branch.
> >>>>>>>>>
> >>>>>>>>> Also, please use the commit format : (helps us
> >>>>>>>>>
> >>>>>>>>> to
> >>>>>>>>>
> >>>>>>>>> know
> >>>>>>>>>
> >>>>>>>>> who
> >>>>>>>>>
> >>>>>>>>> worked
> >>>>>>>>>
> >>>>>>>>> on
> >>>>>>>>>
> >>>>>>>>> it,
> >>>>>>>>>
> >>>>>>>>> what is the history)
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> *                GEODE-xxxx: <brief intro >
> >>>>>>>>> * explanation line 1
> >>>>>>>>>
> >>>>>>>>> *
> >>>>>>>>>
> >>>>>>>>> explanation
> >>>>>>>>>
> >>>>>>>>> line
> >>>>>>>>>
> >>>>>>>>> 2*
> >>>>>>>>>
> >>>>>>>>> This is not a rule or anything, but a request
> >>>>>>>>>
> >>>>>>>>> to
> >>>>>>>>>
> >>>>>>>>> help
> >>>>>>>>>
> >>>>>>>>> out
> >>>>>>>>>
> >>>>>>>>> your
> >>>>>>>>>
> >>>>>>>>> fellow
> >>>>>>>>>
> >>>>>>>>> committers in quickly detecting a problem.
> >>>>>>>>>
> >>>>>>>>> For inspiration, we can look into Apache Kafka
> >>>>>>>>>
> >>>>>>>>> /
> >>>>>>>>>
> >>>>>>>>> Spark
> >>>>>>>>>
> >>>>>>>>> where
> >>>>>>>>>
> >>>>>>>>> they
> >>>>>>>>>
> >>>>>>>>> have
> >>>>>>>>>
> >>>>>>>>> a
> >>>>>>>>>
> >>>>>>>>> complete linear graph for their main branch
> >>>>>>>>>
> >>>>>>>>> HEAD
> >>>>>>>>>
> >>>>>>>>> [see
> >>>>>>>>>
> >>>>>>>>> attachment]
> >>>>>>>>>
> >>>>>>>>> Regards
> >>>>>>>>> Naba.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> --
> >>>>>>>>>
> >>>>>>>>> Ju@N
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> --
> >>>>>>>>> Cheers
> >>>>>>>>>
> >>>>>>>>> Jinmei
> >>>>>>>>
> >>>>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>
> >>
>
>

-- 
Ju@N

Reply via email to