Subversion/Code review


Code review is the systematic examination of MediaWiki core and extension code revisions intended to find and fix mistakes overlooked in development. Please test all your code before committing and use a descriptive commit message to make it easier for code reviewers to understand the reasoning behind your revision and to know that all the changes you made were intentional.

Extension:CodeReview helps facilitate the code review process.

Status flags[edit]

CodeReview allows revisions to be marked as:

Code review status flags
Status flag Meaning
new This code is in need of review. This is applied to new revisions and should also be applied when all the known issues with a FIXME revision have been satisfactorily addressed, but a full review of the revision has still not yet been done.
fixme A reviewer has identified a specific problem with the revision that needs to be fixed, and no attempt to fix it has been reviewed, or the attempt to fix it has been reviewed and deemed unsatisfactory.
reverted The revision has been reverted in a later revision.
resolved After issues with the revision were noted and satisfactorily addressed, a full review of the code has been done and the reviewer is sure that the revision is OK in every way.
ok A full review of the revision has been done and the reviewer is sure that the revision is OK in every way.
deferred Commonly used for extensions that are not enabled on Wikimedia wikis because many of the reviewing developers are focused there, so from their perspective, review isn't strictly necessary. If your code is marked "deferred" and you were hoping for a review, just ask (for example, check in on the #mediawiki IRC channel and/or reopen as "new" with a comment asking for review.)
old Revisions older than a certain age (generally speaking, r50000), not explicitly marked not new/reviewed.

Emails may be sent out periodically via Wikitech-l notifying everyone of how many outstanding "fixme" commits each committer has.

Magic linking[edit]

Syntax like

  • bug 12345
  • r12345
  • follow up patch to r12345

in a commit message or code comment automatically creates a link to the specific bug or revision, or set a follow-up indication at the specific revision it follows up. When used in a commit message specifically, this syntax also creates links between revisions (to note follow-up revisions, for example).

The commit message and code comment parsers are very finicky. This is noted at bug 24279.

See also[edit]

External links[edit]