Sheriffing/How To/Landing patches

< Sheriffing
Revision as of 16:17, 24 February 2014 by Edmorley (talk | contribs) (Few tweaks)

An area of responsibility the sheriffs have taken on is landing checkin-needed patches on behalf of others who do not have the needed commit access to do so themselves or those who do not have the ability to watch their pushes afterwards.

  • Bugs with checkin-needed or checkin? requests set
  • Verify that the patch has proper review before doing anything else
  • Add the patch to the appropriate repository's queue via saving the attachment from the bug and using hg import or using a tool like qimportbz to automate the process.
    • For general core patches, land on mozilla-inbound.
    • For core B2G work (*NOT* platform-independent core patches that happen to be fixing a B2G bug), use b2g-inbound.
    • For Firefox front-end work/any Firefox for Android-specific work, use fx-team.
  • Apply the patch via qpush.
  • If the patch does not apply cleanly, you can look at the rejects and decide if the rebase is simple enough resolve yourself or you can remove the checkin-needed request and ask the developer to post an updated patch for checkin. Don't forget to qrefresh after resolving conflicts!
  • Once the patch applies cleanly, verify that the commit information is correct:
    • Author (use the information from their Bugzilla account if needed)
    • Bug number
    • Commit message (keeping in mind that the commit message should be a brief description of what the patch is doing)
      • Format should be something like "Bug 123456 - Add a null check to XYZ to avoid a crash. r=somebody"
  • If a patch is missing commit information, remind the patch author to include it for future patches with a link to the Mercurial FAQ page that describes how to set it.
  • When the patches are applied cleanly and the commit information is correct, push to the appropriate integration branch and mark the bugs via mcMerge.
    • mcMerge will clear the checkin-needed bug keyword. You will need to manually clear checkin-needed if on the whiteboard or set checkin+ if the checkin? patch flag is set.