On 6/22/16 8:47 AM, Manish Goregaokar wrote:
Changes to webrender would be made in m-c or servo/webrender, whichever is more convenient, and there is a periodic sync operation.
This has one significant drawback: it places a pretty serious burden on whoever performs the sync. In particular, in addition to merging the actual code (already needs some expertise), they become responsible for handling any test failures that arise as a result of changes in the "other" repo.
The way this is handled in wpt, at least for the Gecko <-> wpt two-way sync goes like this as far as I can tell:
1) One side (the wpt side) has pretty trivial integration tests: it basically just tests filename length. So if Gecko-side changes break those tests fixing is not too terrible.
2) The other side (the gecko side) has a way to annotate failing things, and whatever starts failing after a change on the wpt side is just annotated as failing and checked in that way. I think this is pretty broken, but that's what we're doing right now...
Needless to say, something like the style system would have somewhat different constraints on whether it actually needs to pass tests (for real, not for purposes of the test harness; just annotating stuff as "known fail" and moving on is not really what I anyone is looking for here). But even with the behavior above wpt merges are a huge time-sink. Just talk to jgraham.
Depending on how often breakages are introduced and how long it takes to resolve them, this can make it completely impossible to merge. I guess if that happens you can start telling people to stop changing the style system for a while while the backlog is sorted out, etc. But what this basically means is that instead of having your tests-are-failing pain on the changesets that cause the problems you have it all in a huge lump every so often that takes days to weeks to detangle.
I really wish we had decent data here on how often breakages would arise in practice, and specifically how likely it is that a change that passes Gecko's integration tests fails Servo's and vice versa.... That would give us at least some idea of how often we'd need to merge to prevent things snowballing.
-Boris _______________________________________________ dev-servo mailing list dev-servo@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-servo