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