A lot of Mozilla developers and volunteers these days are using checkin-needed keyword to find a checkin-buddy that can help them pushing their amazing stuff on mozilla-inbound, and maybe you're among them.
This is really cool and everybody is more than happy to help you complete your work, because we all benefit from it. However, there is something you can do to help people pushing your patch.
Here are some hints to speed up the landing of your checkin-needed patch:
- Set yourself as author of the patch. Maybe you don't know that Mercurial (also known as "hg") can do this for you if you use Mercurial Queues (and you should really use them). Just edit your Mercurial.ini or $HOME/.hgrc adding an uppercase -U option to qnew command, it will set hg username (you) as author of any qnew patch (username setting is under [ui]):
[defaults] diff = -p -U 8 qdiff = -p -U 8 qnew = -U [ui] username = Firstname Lastname <firstname.lastname@example.org>
- Set the title (commit message) of the patch. Again if you use Mercurial Queues this is really easy: ensure the patch you want to edit is the current one with
hg qtop, then
hg qrefresh -m "Bug 12345 - Test bug", or
hg qrefresh -ewill launch your editor where you can just type-in or paste title, save and close editor. You can set a default editor in the [ui] section of Mercurial.ini or $HOME/.hgrc, or by setting the $
EDITORenvironmental variable in your shell.
- If the bug includes more patches and not all of them should be pushed, use the whiteboard to specify which patch is ready to be pushed.
- If the patch should be pushed to a specific branch (like comm-central, or a project branch) rather than mozilla-inbound (or a release branch) use the whiteboard to specify where the patch should be pushed.
Before asking checkin-needed, pull the latest branch and ensure your patch applies cleanly. Bitrotted patches usually take more time before being pushed. With Mercurial Queues you can just
hg qpop -a, hg pull, hg update default, hg qpush(repeat
hg qpushfor all patches in queue), fix any merge patches and qrefresh them one by one if you notice failures, then attach the updated patches.
- You can directly attach the patch that lives in /your_repository_folder/.hg/patches/mypatch.diff to the bug, or even better export the top applied patch in the queue with
hg export qtip > path_to_temp_patches/exportedpatch.diffand attach this file (the latter method should guarantee 8 lines of context for easier reviews).
These small steps will take you just a few seconds, but will save a lot of work for people willing to help you.