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