Landing code (i.e. getting code into Mozilla’s repository)¶
Code changes (patches) in Mozilla are not ‘merged’ in a sequential way, as it’s the fashion in other popular projects. Here, the patches will be applied on top of the latest code, and will stay there if
- the patch applies cleanly, without conflicts
- the patch doesn’t cause ‘bustage’ (i.e. breaks the build)
Therefore, it’s good to try and do smaller changes rather than bigger, specially if you’re modifying files that many other people are working on simultaneously, to avoid conflicts and your patch being rejected. Otherwise you might need to rebase from the latest changes, try to write your changes on top of it, and submit this new diff.
Leaving potential conflicts aside, a patch can make its way into the repository in two ways:
Once a review has been approved, someone with enough privileges can request the code be merged, using the Lando interface. These ‘privileges’ are “commit level access 3”. You get these once you have successfully contributed with a number of patches. See levelling up for more details.
If you don’t have the privileges, you can also ask your mentor to land the code. In fact, they might even initiate that for you once the code review is approved.
Another route is to request the landing using Bugzilla. Go to the bug, and add
checkin-needed to the
Someone looks at bugs marked with
checkin-needed a few times a day, verifies they have an associated approved review, and then attempts to land them.