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
> > > > > >>
> > > > > >>
> > > > >
> > > > >
> > > >
> > >
> >
>

Reply via email to