BTW. I'd be happy to capture result of this discussion if we can get to a
consensus or vote eventually in the "cherry-picking" guidelines.

On Mon, Jun 23, 2025 at 12:42 PM Jarek Potiuk <ja...@potiuk.com> wrote:

> I wanted to start a discussion on "things that we cherry-pick" (to vX_Z
> branch).
>
> I think there are different opinions on what kind of changes should be
> cherry-picked and it might be a good idea to agree on a common approach.
>
> I think (following the comment of Ash here)
> https://github.com/apache/airflow/pull/51992#issuecomment-2995632849 that
> we can use a very simplistic and (I'd say) dogmatic approach "only
> cherry-pick bug fixes. Full stop". But I believe (and past experience from
> a lot of cherry-picking that I've been doing - multiple times helping to
> bring past branches to be green and spending countless hours on it, that it
> should be a bit more nuanced.
>
> I would love to see what others think, but from my experience those are
> the things that we **should** cherry-pick:
>
>
> 1) bug-fixes (of course)
> 2) doc changes (when they are improvements or filling gaps)
> 3) dev tool changes (every time we did not, it resulted in hours of my
> time when things were breaking and I tried to reconcile it)
> 4) results of automated refactorings that have very low risks (in the
> areas that are likely to have cherry-picks)
>
> t) - is non-controversial I think
>
> 2) - is also relatively non-controversial and very low risk and gives our
> users a chance to get better docs earlier (even today for example I cherry
> picked this one: https://github.com/apache/airflow/pull/52068 - because
> one of my friends who tries to learn Airflow 3 pinged me that
> "ConfiuguringRuff" link that we have in 3.0.2 leads to 404 NOT found
>
> 3) - it had always bitten us if we stopped cherry-picking dev tool
> changes. The thing is that external dependencies change all the time and we
> are continuously catching up with those, also we improve, speed up and
> simplify the tooling - and often things that worked when branch was cut,
> does not work today - countless, countless hours lost in one or two
> branches when we stopped doing it - I think even once or twice I had to
> just copy over most (but not all) the code from main to the branch and
> commit one single "catch-up dev tooling with main" big change
>
> 4) Is likely most controversial - example here:
> https://github.com/apache/airflow/pull/51992/ - those are the kind of
> (really small) changes that are done in "active" area (i.e. area that had
> and will have a lot of cherry-picks anyway, but they are done with
> automated refactoring - like renaming variables and such. This introduces
> clarity and readability, so this is good we are doing them. But if we do
> not cherry-pick them and then we cherry-pick any change that touches the
> same code, this lead to a conflict. Conflicts are frustrating, especially
> those kinds - you never know what you should do - should you "merge" this
> naming change with your change? or should you leave the original namiing,
> or should you try to find the past commit that changed it and cherry-pick
> it as well? This paired with the fact that we are using cherry-picker that
> allows to cherry-pick stuff very quickly, automatically and painlessly when
> there are no conflicts, make me think that yes - we should cherry -pick
> those changes proactively as a service to those contributors who will
> follow up with their cherry-picking. It's just "good service" and helping
> others who will come after you.
>
> That's how my definition of "what we should cherry-pick" is...
>
> I wonder what others think about it ?
>
> J.
>
>
>
>
>
>

Reply via email to