You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When handling backouts we try to extract a list of all the bugs/commits that they touch, lookup the sync for each commit, and apply the backout to that commit. It seems that once we've applied the backout to a sync we won't apply it to further syncs.
This is rather broken if a backout touches multiple wpt bugs. Instead of directly applying the actual backout, if we have a set of commits that were backed out, potentially belonging to multiple bugs/syncs, for handling the backout we should construct a corresponding set of web-platform-tests commits as reverts for the original commits, rather than just from applying the backout commit itself.
The text was updated successfully, but these errors were encountered:
@lutien This might be one you want to look at when you have a chance. I think my description is probably not very clear, so let me know if you have questions.
To expand it a little, let's imagine we have bugs 1 and 2 with some wpt-touching commits like so:
That creates two upstream syncs; S1 for Bug 1 with commits C1 and C2, and S2 for Bug 2 with commit C3.
Then we get a backout commit for all of them
Commit B1 - reverts C1 C2 C3, Bug 1 Bug 2
In the sync we're currently applying all the parts of B1 that touch web-platform-tests to (I think one or the other of) S1/S2. But what we should instead do when we see B1 is apply a commit to S1 that specifically reverts the changes in C1 and C2, and one to S2 that specifically reverts the changes in C3. That then just relies on the fact that things in backouts really are just reverts and don't introduce additional changes (one might worry about merge conflict resolution, but I think in practice that isn't a problem in m-c).
Off the top of my head, I'm not totally sure if one gecko commit applying to multiple upstream PRs will cause data model problems. I don't think so, but I may have forgotten something.
When handling backouts we try to extract a list of all the bugs/commits that they touch, lookup the sync for each commit, and apply the backout to that commit. It seems that once we've applied the backout to a sync we won't apply it to further syncs.
This is rather broken if a backout touches multiple wpt bugs. Instead of directly applying the actual backout, if we have a set of commits that were backed out, potentially belonging to multiple bugs/syncs, for handling the backout we should construct a corresponding set of web-platform-tests commits as reverts for the original commits, rather than just from applying the backout commit itself.
The text was updated successfully, but these errors were encountered: