|Note: When you edit this page, you agree to release your contribution under the CC0. See Public Domain Help Pages for more info.
A diff (short for difference) displays the changes between two revisions of a page. Diffs are a fundamental component of navigation and content moderation on MediaWiki wikis.
The platforms in the wiki ecosystem have several versions of a diff depending on which device and installation of MediaWiki is being used.
When and why to use a diff?
The main reason to use a diff is to review a specific change to a page made by yourself or someone else. There are many possible reasons to do this:
- To help find instances of vandalism
- To determine when a section, sentence, or word was added or removed
- To determine which editor made a given change
- As a starting point to further actions as the diff contains edit, undo, and other actions as well as links to the editor's user and talk pages.
The most common way to view a diff is through the "Revision history". This is accessible via the "View history" tab. From there, you can use "prev" to view diffs of single revisions, or use the radio buttons and the "Compare selected revisions" button to view diffs across multiple revisions.
Most special pages that list changes will usually include links to diffs, such as:
Another way to view a diff is with the Special:Diff page.
To use this, you must know the IDs of the revisions you want to compare.
Revision IDs can be retrieved by looking at the
diff=123 portion of a diff URL, where
123 is the diff ID.
Additionally, you can use the value of the
oldid parameter to get the diff of that revision against the previous one.
Components to a diff
Below is a visual representation of the important components of a diff page which you will see when viewing the difference between two versions.
This interactive example shows the top of the diff page (some of the links are dummy links). The older revision is shown on the left, the newer revision on the right.
Tim Starling (talk | contribs)(Edit summaries in diffs are great) m (correction, + MediaWiki User's Guide) Line 8: Line 8: For sysops and those with the rollback flag, a revert button is shown allowing them to revert from the new version to the old one. For sysops and those with the rollback flag, a revert button is shown allowing them to revert from the new version to the old one. − This is only shown when viewing the diff between the currentversion and the one immediately preceding it. + This is only shown when viewing the diff between the version and the one . This example shows the top of the diff page, with the links described above. This example shows the top of the diff page, with the links described above. Line 25: Line 25: </table> </table> + [[MediaWiki User's Guide]] +
Unchanged text is dark grey on light grey (only parts before and after changed text are shown).
|Previous diff||Newer diff|
Identical text that has moved from one place to another is usually represented as added and removed text. On MediaWiki installations using Wikidiff2, there may be an arrow icon more clearly indicating where the moved text went to.
Lines containing added text have a plus icon (+) before them. The added words and characters are highlighted and in bold.
Lines containing removed text have a minus icon (−) before them. The removed words and characters are highlighted and in bold.
We can see what has been replaced with new content when there's a + icon and a − icon next to the phrase where the change happened.
Paragraphs which have changed are black on white, with an orange border on the old revision side and a blue border on the new version side.
Inserted and removed text is highlighted with the border color and in bold. Where whole paragraphs have been removed or inserted, no highlighting or bolding is applied and the other side is blank.
|Old revision||New revision|
|Old revision||New revision|
|Old revision||New revision|
Linking to a diff
Diffs can be linked to by copying the URL while viewing the diff — this URL has two parameters,
Linking to a diff from outside a wiki can be done by using the full URL, for example:
The diff special page at Special:Diff makes it easier to create shorter URLs which redirect to diffs.
From within a wiki, these links can take the following forms:
[[Special:Diff/1242287]]→ Special:Diff/1242287 – Shows the diff to the previous revision of the same page.
[[Special:Diff/1242287/prev]]→ Special:Diff/1242287/prev – Shows the diff to the previous revision of the same page.
[[Special:Diff/1242287/next]]→ Special:Diff/1242287/next – Shows the diff to the next revision of the same page.
[[Special:Diff/1242287/cur]]→ Special:Diff/1242287/cur – Shows the diff to the current revision of the same page.
[[Special:Diff/1242286/1242287]]→ Special:Diff/1242286/1242287 – Shows the diff between the specified revisions of the same page which may also be reversed, e.g.
[[Special:Diff/1242287/1242286]]→ Special:Diff/1242287/1242286, though one should avoid this.
These links may be used in the edit summary as well as adapted like any other internal links, e.g.
[[Special:Diff/1242286/1242287|see this diff]] → see this diff.
For example, the full URL
[https://mediawiki.org/w/index.php?diff=1242287 1242287] could also be written as
By default, the later revision of the page is displayed in full below the diff — this can be turned off via a preferences ("Do not show page content below diffs") or by setting
diffonly=1 in the URL.
Links to diffs without the page text can be created:
Since MediaWiki 1.35, an inline diff (also known as a unified diff) is available.
As of 2022 this is only available with the wikidiff2 engine.
Inline diffs can be accessed by passing the
diff-type=inline parameter in the URL (example).
There are plans to expose a toggle to switch between inline and two-column in the interface (phab:T240608).
How to report bugs?
Bugs should be reported on Phabricator under the #MediaWiki-Page-diffs tag.
The following user preferences are available in the "Diffs" section of the "Appearance" preferences tab:
- Do not show page content below diffs
- Toggle the display of the page text below the diff. This text is the later of the two revisions of the page.
- Don't show diff after performing a rollback
- Whether to show the diff of the rolled back revision after a rollback.
Some extensions also add their own preferences related to diffs. One such extension is Extension:RevisionSlider, which can be disabled in preferences using the "Don't show the revision slider" preference in that section.
- Help:History — Navigating and understanding page history.
- Visual diffs — Diffs in the VisualEditor and VisualDiff extensions.