The Signpost

Technology report

Code Review backlog almost zero; What is: Subversion?; brief news

Code Review push nears zero

The process of reviewing all those revisions set to be part of the latest version of MediaWiki, 1.18, is drawing to a close, at least numerically. Data published this week show that the number of unchecked and potentially problematic revisions has fallen from a high of 1500 to under 100. Given that these are likely to be large, difficult to check revisions, a new page has been created on MediaWiki.org to list those that still need to be checked for errors. As of time of writing, some 90 revisions are listed, divided into several categories based on priority.

Despite this prioritisation of reviewing, developer Robert Lanphier emphasised in a post to the wikitech-l mailing list that zero remained the target, writing that "we want to get through everything anyway... we're all looking forward to seeing this list shrink to zero". After the code review backlog is substantially reduced, 1.18 will undergo a period of being tested for bugs, before being pushed live to Wikimedia wikis. It is unlikely to be made available to external sites in packaged form until it has demonstrated its stability on Wikimedia wikis.

What is: Subversion?

Related articles
What is...?

Wikimedia Labs: soon to be at the cutting edge of MediaWiki development?
23 April 2012

MediaWiki 1.20wmf01 hits first WMF wiki, understanding 20% time, and why this report cannot yet be a draft
16 April 2012

What is: agile development? and new mobile site goes live
12 September 2011

The bugosphere, new mobile site and MediaWiki 1.18 close in on deployment
29 August 2011

Code Review backlog almost zero; What is: Subversion?; brief news
18 July 2011

Wikimedia down for an hour; What is: Wikipedia Offline?
30 May 2011

Bugs, Repairs, and Internal Operational News
25 April 2011

What is: localisation?; the proposed "personal image filter" explained; and more in brief
21 March 2011


More articles

Subversion (full name Apache Subversion but usually shortened to simply "SVN") is the software that handles the collaborative development of MediaWiki. By and large, it handles this in much the same way as contributing to a wiki; developers grab copies of the files they want to edit from a central repository, change them, and then "commit" their changes back to the central repository. (Developers can also get edit conflicts; Subversion provides only basic protection against them and this is one of the reasons why a move to software seen as more conflict friendly, such as Git, has been suggested in the past—for context, see previous Signpost coverage: 1, 2.)

A simple Subversion workflow where each number is one "commit" (note that Wikimedia does not currently use tags, only branches)

The nature of Subversion ultimately defines the current development workflow for MediaWiki in many key respects. The majority of coding is done on local copies of the bleeding edge "trunk" code, but Subversion also allows for a process known as "branching", where elements within the repository are duplicated, allowing for a developer to choose to which copy his or her changes are applied. As a general rule, new features will continue to be added to trunk, whilst bug fixes will end up in both branch and trunk code. This process allows for the branch to "bake": that is, to become free of bugs by maintaining a fixed feature set. These branches, when stable, then form MediaWiki releases.

As of time of writing, 1.18 is currently baking; on 18 July it was re-branched from trunk, whilst a branch made some three months was renamed and put on hold. 1.18 will therefore take advantage of the ongoing improvements in the stability of trunk code; if 1.19 is still to be branched soon, it would therefore be more of a stability rather than a feature-oriented release. A second strategy would be to delay 1.19 to allow for new features to be incorporated before release.

In brief


















Wikipedia:Wikipedia Signpost/2011-07-18/Technology_report