Manual:$wgExternalDiffEngine
Content handlers and storage: $wgExternalDiffEngine | |
---|---|
Name of the external diff engine to use. |
|
Introduced in version: | 1.6.0 (r12987) |
Removed in version: | Still in use |
Allowed values: | (string) or false |
Default value: | false |
Other settings: Alphabetical | By function |
Details
[edit ]Name of the external diff engine to use, or false to use the internal engine.
The possible values are:
false
- wikidiff2 if available, PHP implementation else.- any other string is treated as a path to external diff executable, which is passed two file-path arguments.
The following values are no longer supported as of MW 1.32:
'wikidiff2'
- Wikimedia's fast difference engine implemented as a PHP/HHVM module.
The following values are no longer supported as of MW 1.27:
'wikidiff'
and'wikidiff3'
- treated as false for backwards compatibility.
The external engine should return HTML for a table row containing four columns (two 'marker/content' pairs).
These can be collapsed into one for diff formats that don't require columns, e.g. <tr><td colspan="4"> ... </td></tr>
This setting replaces $wgUseExternalDiffEngine .
Example
[edit ]To display diffs in the format of the common GNU diff
program, it is necessary to wrap that executable in a small script such as the following.
This is needed both to get the required HTML wrapper, and also because diff
returns non-zero when inputs don't match (which they generally don't for wiki changes).
- externaldiff.sh
#!/bin/bash echo"<tr><td colspan=4><pre>" # @todo This should also escape HTML. diff"1ドル""2ドル" DIFFRET=$? echo"</pre></td></tr>" if[[$DIFFRET-eq1]];then exit0 else exit$DIFFRET fi
- LocalSettings.php
$wgDiffEngine = 'external'; $wgExternalDiffEngine = '/path/to/externaldiff.sh';