[coreboot] Re: Reconsidering the Gerrit submission strategy

2022-07-25 Thread Felix Held

Hi Peter!


Hmm, I'm not sure about that? I understand the effective difference
with the new strategy to merely be that a later commit in a pushed
changeset/branch can't be submitted before an earlier one.


That is my understanding of this too. What I wanted to point out in my 
last email is that switching form cherry-pick to always rebase will only 
catch a small part of the things that resulted in a broken tree in the 
last year or two. The majority of tree breakages was caused by two 
independent patches doing something that won't result in a git conflict, 
but in compile failures. For example when some devicetree register name 
was changed in the chip.h file and all devicetrees that were in tree at 
the time and in a separate patch a new mainboard was introduced, but 
that mainboard was only build-tested on top of the tree before the 
devicetree change was submitted. Submitting both the board and the 
devicetree change won't cause a git conflict, but compiling the board 
will fail causing the tree to be broken. Since this is usually a quick 
fix that can be submitted via the fast patch with 3x +2, it's not too 
bad IMHO.


Cherry-pick is useful for longer patch trains where the earlier parts 
are independent, but some later part needs all the earlier parts. In 
that case some parts that are independent from the patches before them 
and are already reviewed and ready to be submitted would need to wait 
until the patches before them are submittable too. And yes, submitting 
patches out of order has already resulted in a broken tree in a very 
small percentage of cases, but most of the time it was also easy to fix.


The main advantage of the always rebase strategy is that with the 
currently used cherry-pick approach Gerrit shows a merge conflict on 
later patches in a patch train that depend on some earlier change until 
the previous patches are submitted, which is a bit confusing when you're 
not aware that this isn't some error to worry about. The always rebase 
strategy doesn't have this oddity.



I think each commit is still build tested and verified?


Not right before it gets submitted. It still gets build-tested like 
before when the patch is pushed to Gerrit and after it got submitted.



And different pushed changesets continue to be build tested
individually and can be submitted individually - right?


Correct.


I'm sure the change could be rolled back quickly in case there's any
kind of annoying disaster problem in the repo.


I don't expect the always rebase submit strategy to cause any major problem.

Regards,
Felix
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: Reconsidering the Gerrit submission strategy

2022-07-25 Thread Peter Stuge
Felix Held wrote:
> Having a commit queue or even running a build test for every patch 
> before it gets submitted would catch more breakages before the patches 
> land in the tree than switching to the new submit strategy,

Hmm, I'm not sure about that? I understand the effective difference
with the new strategy to merely be that a later commit in a pushed
changeset/branch can't be submitted before an earlier one. I think
each commit is still build tested and verified?

And different pushed changesets continue to be build tested
individually and can be submitted individually - right?

Hmm, what happens when commit 1/2 in changeset 1 is submitted and
someone then wants to submit commit 1/2 in changeset 2 before the
other commit in the first changeset? Let's try in August I guess. :)

I'm sure the change could be rolled back quickly in case there's any
kind of annoying disaster problem in the repo.


Kind regards

//Peter
___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org