<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
<br class="">
<div><br class="">
<blockquote type="cite" class="">
<div class="">On 23 Jan 2019, at 22:09, Allan Sandfeld Jensen <<a href="mailto:kde@carewolf.com" class="">kde@carewolf.com</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">On
 Mittwoch, 23. Januar 2019 21:42:35 CET Edward Welbourne wrote:</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">
<blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">
Jedrzej Nowacki wrote:<br class="">
<blockquote type="cite" class="">
<blockquote type="cite" class="">Advantages:<br class="">
- no waiting for merges, a fix can be used right away after<br class="">
<br class="">
  integration<br class="">
<br class="">
- faster propagation of fixes targeting all branches, as there are<br class="">
<br class="">
  no merges of merges<br class="">
</blockquote>
</blockquote>
<br class="">
Alex Blasche (23 January 2019 18:09)<br class="">
<br class="">
<blockquote type="cite" class="">This is pure speculation because you potentially triple (or worse) the<br class="">
amount of individual patches requiring a merge in gerrit when you<br class="">
consider that you want to at least merge to 5.9, 512, dev and qt6. I<br class="">
don't see this prediction come true.<br class="">
</blockquote>
<br class="">
Well, as soon as it hits dev, the patch is cherry-picked to every branch<br class="">
that its footer says it belongs in.  Those branches where all goes well<br class="">
see it one integration later.  Each branch that has a conflict needs<br class="">
that resolved before we get to that second integrtion.  Contrast this<br class="">
with a 5.12 -> 5.13 -> dev chain of merges, where dev doesn't get the<br class="">
change that landed in 5.12 (even if that change could land in dev<br class="">
without conflict) until<br class="">
* there's been some delay between their change being accepted in 5.12<br class="">
  and the next merge-bot run<br class="">
* everyone who made change to 5.12 that conflicted on merging to 5.13<br class="">
  has advised Liang on how to resolve their conflicts<br class="">
* we've got the result through integration into 5.13<br class="">
* everyone who's made changes to 5.13 or (as possibly just amended in<br class="">
  merging) 5.12 that conflicts with anything in dev has again advised<br class="">
  how to resolve their conflicts<br class="">
* and we've got the result through a second integration, into dev.<br class="">
<br class="">
When nothing but the change being considered has a conflict along<br class="">
the way, that's twice as long; and any change to an upstream branch,<br class="">
that does have a conflict, introduces delay for all the other changes<br class="">
that landed in that branch, even if they don't have conflicts.  In the<br class="">
middle of summer, when lots of folk are away on holiday, getting help<br class="">
with resolving conflicts isn't easy - the folk who know those commits<br class="">
won't be back for a month - and all changes, no matter how urgent, get<br class="">
stuck behind any conflict we can't work out how to resolve.<br class="">
<br class="">
So no, Jedrzej's claim is not *pure* speculation; it's at least quite a<br class="">
lot adulterated with reasons to believe that many changes would, under<br class="">
his scheme, propagate to all branches they're destined for sooner than<br class="">
happens with our present scheme.<br class="">
<br class="">
</blockquote>
<span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">No,
 it is speculation, and it optimizing the least important case: bug-fixes<span class="Apple-converted-space"> </span></span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">
<span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">in
 dev. Dev is the branch that can wait the longest to get a bug-fix, the<span class="Apple-converted-space"> </span></span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">
<span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">stable
 branch is the branch that need it the most urgent. And fixing a bug in<span class="Apple-converted-space"> </span></span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">
<span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">5.12
 now means you first fix it where you need it (5.12), then rewrite it for<span class="Apple-converted-space"> </span></span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">
<span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">dev,
 then resolve the inevitable conflict back so it can be merged, all<span class="Apple-converted-space"> </span></span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">
<span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">waiting
 for bots and release teams to stumple into the issues and delaying the<span class="Apple-converted-space"> </span></span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">
<span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">next
 5.12.x release.</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">
<br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">
<span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">‘Allan</span><br style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;" class="">
</div>
</blockquote>
</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">More people working and building against dev helps keep dev more stable (by virtue of discovering breakage sooner), and the proposal encourages more people to work on dev. That can be a good thing.</div>
<div class=""><br class="">
</div>
<div class="">Urgency to get fixes into a stable branch is an argument that has come up a few times. The current 5.12.1 release seems to be delayed because some changes made it into 5.12 that shouldn’t have been there in the first place (given the definition
 of “stable”). It would be interesting to see some data about how many point releases we had to delay because “highly desirable fix for old bug was stuck in the process” vs “regression was introduced in a stable branch and only discovered during release testing”.</div>
<div class=""><br class="">
</div>
<div class="">Without data, I would speculate that perhaps a model that leads to fewer changes made to stable branches because it requires an explicit decision (and perhaps extra work) to get changes there is not such a terrible idea. And making the work to
 make changes to a stable branch, ie the cost of maintenance, very visible is also a good thing.</div>
<div class=""><br class="">
</div>
<div class="">Either way, nothing in the proposal prevents us from developing and push a fix for 5.12, and then develop a different fix for dev that we don’t cherry pick into 5.12 or other stable branches. This should be an exception, used in urgent situations
 where indeed we can’t wait. For those cases, there’s no merge conflict in the first place in the new model (because there’s no merge).</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">Volker</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
</body>
</html>