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
CodeReview allows revisions to be marked as:
 * new &mdash; 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 &mdash; 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 &mdash; The revision has been reverted in a later revision.
 * resolved &mdash; 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 &mdash; A full review of the revision has been done and the reviewer is sure that the revision is OK in every way.
 * verified &mdash; The revision has been tested and the reviewer has confirmed that it works as intended.
 * deferred &mdash; 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 &mdash; Revisions older than a certain age (generally speaking, r50000), not explicitally marked not new/reviewed.

Do not change the flags for your own revisions, except to change them back to "new" after you fix a revision that was flagged "fixme." All developers are encouraged to fix "fixme" status revisions regardless of who made the revision. Emails may be sent out periodically via Wikitech-l notifying everyone of how many outstanding "fixme" commits each committer has.

Magic linking
Syntax like "bug 12345" or "r12345" in a commit message or code comment automatically creates a link to the specific bug or revision. 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.