It would be good to encourage people to proactively do cherry-picks but I
think it needs a bit more thought before automating it or adding more
barriers.

That could potentially cause hold-ups if there's a dependency on a previous
patch. E.g. if I'm merging two patches B and C that depend on each other
and B gets merged, then the state while B is being tested is:

Master
 B->A->...

2.x
 A->...

and B is in the process of being tested, then what you really want is for a
new patch to cleanly apply on top of B, but I think your proposed check is
that it applies on top of A.

It's also introduces the possibility of more mistakes if we encourage
people to do the cherry-pick to 2.x before precommit tests for master have
passed, since they may be cherry-picking a version that doesn't pass those
tests. People can of course repeat the cherry-picking process each time
they push out a new revision but it does introduce more risk of
accidentally diverging your master and 2.x commits versus just doing the
conflict resolution once.

On Thu, May 3, 2018 at 12:17 PM, Lars Volker <l...@cloudera.com> wrote:

> Should we add a check to the master GVO that makes sure that a change
> either applies to 2.x, or has a "not for 2.x" label?
>
> On Thu, May 3, 2018 at 12:12 PM, Sailesh Mukil <sail...@cloudera.com>
> wrote:
>
> > It's been a while since we started maintaining 2 active branches, master
> > and 2.x, and the divergence between them has grown quite a bit.
> >
> > The implications of this (as Michael Brown brought to my attention) are
> > that a patch that goes into 'master' may not cleanly apply to '2.x',
> which
> > would fail the cherrypick-2.x-and-test(
> > https://jenkins.impala.io/job/cherrypick-2.x-and-test/) job, and if
> > unnoticed, can hold up all future cherry-picks from 'master' to '2.x'
> until
> > this is resolved.
> >
> > If this does happen, the original author of the patch needs to manually
> > cherry-pick the patch from 'master' to '2.x', resolve the conflicts and
> > push a change for review to the '2.x' branch with the same Change-Id.
> >
> > To avoid these types of failures, I advise authors to locally cherry pick
> > their patch to '2.x' to see if it applies cleanly before running GVO.
> >
> > Lastly, if a patch is meant only for 'master', and not for '2.x', please
> > remember to add the "Cherry-picks: not for 2.x" line to your commit
> > message. There have been a few patches in which this was not included,
> > which unfortunately requires manual work to resolve later on.
> >
> > Thank you for your time!
> >
> > - Sailesh
> >
>

Reply via email to