Gerrit/How Gerrit works

This is the process of code submission and review on Gerrit.

  1. Users with Wikimedia developer accounts create a Change (a request to change code) in Gerrit using Git or the web interface.
  2. Reviewers are automatically or manually added to the change to let them know they should review it.
  3. Tests are run on the change by a trusted contributor and the test bot will vote based on if the tests passed or failed.
  4. Reviewers review the change, recommend improvements, and vote on the quality of the change.
  5. If the change has negative votes, then users fix the change with Git or the web interface and the process returns to step 3.
  6. When the change receives a "+2" vote from a Maintainer, then the change gets merged into the repository.

Details

edit

Code review is an essential part of our contribution workflow. The principle is basic: any patch must be reviewed by others before being merged.

This means that your code will need reviewers. Check our advice for getting reviews.

Review before merge

edit

It's important to us to have a review-before-merge workflow for MediaWiki core and also for any extension we deploy. We will also offer that option to any extension author who wants it for their extension. The one exception is localisation and internationalisation commits, which will be able to be pushed without review.

Who can review? Gerrit project owners

edit

After creating a Developer account, anyone can comment on commits and express criticism and approvals. Anyone can give a nonbinding "+1" to any commit. However, for any given repository ("Gerrit project"), only a small group of people will have the ability to approve code within Gerrit and merge it into the repository. This superapproval is a "+2 " even though that's a misleading name, because two +1 approvals DO NOT add up to a +2. These people are "Gerrit project owners".