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

Reply via email to