Help:Diff
File:PD-icon.svg | Note: When you edit this page, you agree to release your contribution under the CC0. See Public Domain Help Pages for more info. | File:PD-icon.svg |
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.
(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 oneimmediately preceding it.+ This is only shown when viewing the diff between the recent version of a page and the last version by an author other than the one of the most current version. 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
Unchanged text is dark grey on light grey (only parts before and after changed text are shown).
Previous diff | Newer diff | ||
---|---|---|---|
|
Moved text
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.
Added text
Lines containing added text have a plus icon (+) before them. The added words and characters are highlighted and in bold.
Removed text
Lines containing removed text have a minus icon (−) before them. The removed words and characters are highlighted and in bold.
Replaced text
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, diff
and oldid
.
Linking to a diff from outside a wiki can be done by using the full URL, for example:
https://mediawiki.org/w/index.php?diff=1242287
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 being 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 [[Special:Diff/1242287|1242287]]
.
By default, the later revision of the page is displayed in full below the diff — this can be turned off via a preference ("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:
{{canonicalurl:Special:Diff/1242287|diffonly=1}}
→ https://www.linuxwebexpert.com/wiki/index.php?title=Special:Diff/1242287&diffonly=1
Inline diffs
<td class="mw-version-versionbox" title="<translate nowrap> The latest stable version is <tvar name=1>1.41</tvar></translate>"><translate> MediaWiki version:</translate> |
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).
<translate> MediaWiki version:</translate> |
As of MediaWiki 1.41, a toggle was added to diff pages that allows users to switch between inline and two-column in the user interface (T336716).
Content added Content deleted
(Edit summaries in diffs are great) m (correction, + MediaWiki User's Guide)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 of a page and the last version by an author other than the one of the most current version.. This example shows the top of the diff page, with the links described above.</table>
[[MediaWiki User's Guide]]
↲ newline
The following changes were introduced for inline diff:
- Legends and tooltips that explain the blue and yellow highlights. (T324759)
- Annotation that represent when one or more lines are added or deleted. (T330247)
How to report bugs?
Bugs should be reported on Phabricator under the #MediaWiki-Page-diffs tag.
User Preferences
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 "⧼revisionslider-preference-disable⧽" preference in that section.
See also
- Help:History — Navigating and understanding page history.
- Visual diffs — Diffs in the VisualEditor and VisualDiff extensions.