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