[Development] QtCS2019 Notes from "Branch Policy" discussion
oswald.buddenhagen at gmx.de
Thu Nov 21 13:52:48 CET 2019
On Thu, Nov 21, 2019 at 08:50:10AM +0000, Volker Hilsheimer wrote:
>== Discussed and Agreed Proposal ==
>We start with Qt 5.15/14/12 (ie 5.15 is “dev” in the Qt 5 series), and
>continue to merge 5.15 into dev until 5.15 has reached feature freeze.
this has NOT been agreed upon. what actually happened is that lars
interrupted me, summarily dismissed my concerns (thereby implicitly
rejecting the previous conclusion about mixing merges and cherry-picks),
and didn't provide as much as a rationale for this other than a vague
assertion that this would be somehow easier.
>=== Exceptions ===
>* Changes file updates are done in the relevant release branch; the files are then carried forward to dev, and cherry-picked down from there as usual
the second part actually makes no sense, because it makes tracking the
original sha1 even harder. it's better to pick from a single point (at
least logically, that is, what sha1 the pick source footer names; in
reality, forward-picking picks might be easier due to avoiding repeated
conflict resolution, but that has been explicitly rejected as a
"front-end process" (by the same people!) because it slows down the
>* In exceptional cases, and to unblock a release, changes might go first into a release branch and cherry-picked forward into dev
there are whole talks from heavyweights like google how that is a silly
idea, but i suppose it can still work on the precondition that the
tooling _reliably_ forward-picks everything applicable, even if both the
owner and their reviewers failed to notice the omission.
and no, considering missing picks acceptable "because it will eventually
get fixed anyway" is not a position to be taken seriously.
>** another exception is fixes in stable branches that are not relevant for dev
yes, that should require an explicit tag, say "Pick-to: none" (the
footer suggested in the discussion was "Targets:", but i find that
overly generic and potentially confusing (it seems to ask for the
current branch as well, but that obviously makes no sense)).
>== Concerns ==
>* another commit footer that introduces clutter
this could be actually eliminated at the time gerrit cherry-picks the
change. of course, it's additional effort to implement ...
>=== Tooling ===
>* automation triggered by commit message footer
it was strongly suggested by alex that having the automation already in
place should be a hard precondition for changing the process, and i
More information about the Development