[webkit-dev] A post-mordem of today's tree redness

Alexey Proskuryakov ap at webkit.org
Tue Apr 6 09:25:05 PDT 2010

05.04.2010, в 21:58, Adam Barth написал(а):

> Leaving failures in the tree make it difficult to track
> down subsequent failures.  Rolling out a change means more work for
> you, but less costs imposed on the rest of the project.

While I agree with your analysis for the most part, there are costs associated with rolling out patches that you didn't mention. Some of these are:

1) Confusion about what is going on with the project. It becomes harder to know what's going on by reading webkit-changes - because you can't unsee a patch you saw landed, and because people often roll out patches with cryptic messages (roll out rXXXXX, because it breaks Tiger - how are you supposed to know that an important change you saw landed a few hours ago isn't there any more?)

2) Confusion also happens in Bugzilla - there are several styles for dealing with such issues (make a new bug for rollout, or just roll out and reopen). People often forget to document what they were doing to fix the build, so you end up with a resolved bug for something that has been rolled out, or a reopened bug without adequate explanations. Even when the original bug is correctly reopened, it can be hard to figure out its history, because commit queue clears out flags on patches.

3) Likelihood of more world rebuilds for developers and bots. A troublesome patch is more likely to touch common headers than a targeted build fix, so you get three world rebuilds instead of one.

4) It's harder to isolate regressions if these appear and disappear several times (aforementioned confusion doesn't help either). Screening bugs about regressions also becomes more error-prone. This arguments goes both ways though - it's even harder to isolate regressions if the platform in question had broken build at the time.

- WBR, Alexey Proskuryakov

More information about the webkit-dev mailing list