I put together a draft confluence wiki page (login required) for the Build
Lead role covering what we discussed in the thread here. Link:
https://cwiki.apache.org/confluence/pages/resumedraft.action?draftId=199527692&draftShareId=96dfa1ef-d927-427a-bff8-0cf711c790c9&;

The only potentially controversial thing in there is text under what to do
with a consistent test failure introduced by a diff to trunk: "If
consistent, *git revert the SHA that introduced the failure*, re-open the
original JIRA ticket, and leave a note for the original assignee about the
breakage they introduced".

This would apply only to patches to trunk that introduce consistent
failures to a test clearly attributable to that patch.

I am deferring on the topic of merge strategy as there's a lot of progress
we can make without considering that more controversial topic yet.

On Tue, Dec 21, 2021 at 9:02 AM Henrik Ingo <henrik.i...@datastax.com>
wrote:

> FWIW, I thought I could link to an example MongoDB commit:
>
>
> https://github.com/mongodb/mongo/commit/dec388494b652488259072cf61fd987af3fa8470
>
> * Fixes start from trunk or whatever is the highest version that includes
> the bug
> * It is then cherry picked to each stable version that needs to fix. Above
> link is an example of such a cherry pick. The original sha is referenced in
> the commit message.
> * I found that it makes sense to always cherry pick from the immediate
> higher version, since if you had to make some changes to the previous
> commit, they probably need to be in the next one as well.
> * There are no merge commits. Everything is always cherry picked or
> rebased to the top of a branch.
> * Since this was mentioned, MongoDB indeed tracks the cherry picking
> process explicitly: The original SERVER ticket is closed when fix is
> committed to trunk branch. However, new BACKPORT tickets are created and
> linked to the SERVER ticket, one per stable version that will need a
> cherry-pick. This way backporting the fix is never forgotten, as the team
> can just track open BACKPRT tickets and work on them to close them.
>
> henrik
>
> On Tue, Dec 14, 2021 at 8:53 PM Joshua McKenzie <jmcken...@apache.org>
> wrote:
>
>> >
>> > I like a change originating from just one commit, and having tracking
>> > visible across the branches. This gives you immediate information about
>> > where and how the change was applied without having to go to the jira
>> > ticket (and relying on it being accurate)
>>
>> I have the exact opposite experience right now (though this may be a
>> shortcoming of my env / workflow). When I'm showing annotations in
>> intellij
>> and I see walls of merge commits as commit messages and have to bounce
>> over
>> to a terminal or open the git panel to figure out what actual commit on a
>> different branch contains the minimal commit message pointing to the JIRA
>> to go to the PR and actually finally find out _why_ we did a thing, then
>> dig around to see if we changed the impl inside a merge commit SHA from
>> the
>> original base impl...
>>
>> Well, that is not my favorite.  :D
>>
>> All ears on if there's a cleaner way to do the archaeology here.
>>
>>
>> On Tue, Dec 14, 2021 at 1:34 PM Stefan Miklosovic <
>> stefan.mikloso...@instaclustr.com> wrote:
>>
>> > Does somebody else use the git workflow we do as of now in Apache
>> > universe? Are not we quite unique? While I do share the same opinion
>> > Mick has in his last response, I also see the disadvantage in having
>> > the commit history polluted by merges. I am genuinely curious if there
>> > is any other Apache project out there doing things same we do (or did
>> > in the past) and who changed that in one way or the other, plus
>> > reasons behind it.
>> >
>> > On Tue, 14 Dec 2021 at 19:27, Mick Semb Wever <m...@apache.org> wrote:
>> > >
>> > > >
>> > > >
>> > > > >   Merge commits aren’t that useful
>> > > > >
>> > > > I keep coming back to this. Arguably the only benefit they offer
>> now is
>> > > > procedurally forcing us to not miss a bugfix on a branch, but given
>> how
>> > > > much we amend many things presently anyway that dilutes that
>> benefit.
>> > > >
>> > >
>> > >
>> > > Doesn't this come down to how you read git history, and for example
>> > > appreciating a change-centric view over branch isolated development?
>> > > I like a change originating from just one commit, and having tracking
>> > > visible across the branches. This gives you immediate information
>> about
>> > > where and how the change was applied without having to go to the jira
>> > > ticket (and relying on it being accurate). Connecting commits on
>> > different
>> > > branches that are developed separately (no merge tracking) is more
>> > > complicated. So yeah, I see value in those merge commits. I'm not
>> against
>> > > trying something new, just would appreciate a bit more exposure to it
>> > > before making a project wide change. Hence, let's not rush it and just
>> > > start first with trunk.
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: dev-unsubscr...@cassandra.apache.org
>> > For additional commands, e-mail: dev-h...@cassandra.apache.org
>> >
>> >
>>
>
>
> --
>
> Henrik Ingo
>
> +358 40 569 7354 <358405697354>
>
> [image: Visit us online.] <https://www.datastax.com/>  [image: Visit us
> on Twitter.] <https://twitter.com/DataStaxEng>  [image: Visit us on
> YouTube.]
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__www.youtube.com_channel_UCqA6zOSMpQ55vvguq4Y0jAg&d=DwMFaQ&c=adz96Xi0w1RHqtPMowiL2g&r=IFj3MdIKYLLXIUhYdUGB0cTzTlxyCb7_VUmICBaYilU&m=bmIfaie9O3fWJAu6lESvWj3HajV4VFwgwgVuKmxKZmE&s=16sY48_kvIb7sRQORknZrr3V8iLTfemFKbMVNZhdwgw&e=>
>   [image: Visit my LinkedIn profile.]
> <https://www.linkedin.com/in/heingo/>
>

Reply via email to