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