So, you're about to use checkin-needed...

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-central (or other release branches), and maybe you're among them.

This is really cool and everybody is more than happy to help you completing your work, because we all benefit from it. But, there is something you can do to help people pushing your patch.

Here is some hint to speed up the landing of your checkin-needed patch:

  • Set yourself as author of the patch. Maybe you don't know that Mercurial 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]):
    diff = -p -U 8
    qdiff = -p -U 8
    qnew = -U
  • Set the title 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", otherwise hg qrefresh -e will launch your editor where you can just type-in or paste title, save and close editor. You can set a default editor in [ui] section of Mercurial.ini or $HOME/.hgrc.
  • 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-central (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 qpush for all patches in queue), fix patches and qrefresh them one by one if you notice failures, then attach 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.diff and 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 to people willing to help you.

Thank you for you amazing contributions.

MaK Martedì 22 Giugno 2010 at 08:51 am | | Mozilla-EN
Tag usati: , ,