Manual:$wgExternalDiffEngine/de-formal

From Linux Web Expert

The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
<translate> Content handlers and storage</translate>: $wgExternalDiffEngine
Name of the external diff engine to use.
<translate> Introduced in version:</translate>1.6.0 (r12987)
<translate> Removed in version:</translate><translate> still in use</translate>
<translate> Allowed values:</translate>(string) or false
<translate> Default value:</translate>false

Details

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:

<td class="mw-version-versionbox" title="<translate nowrap> MediaWiki <tvar name=1>1.32</tvar> is unsupported version</translate>">
<translate> ≤</translate> 1.32
<translate> MediaWiki version:</translate>
  • 'wikidiff2' - Wikimedia's fast difference engine implemented as a PHP/HHVM module.

The following values are no longer supported as of MW 1.27:

<td class="mw-version-versionbox" title="<translate nowrap> MediaWiki <tvar name=1>1.27</tvar> is unsupported version</translate>">
<translate> ≤</translate> 1.27
<translate> MediaWiki version:</translate>
  • '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

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 -eq 1 ]]; then
        exit 0
    else
        exit $DIFFRET
    fi
    
  • LocalSettings.php
    $wgDiffEngine = 'external';
    $wgExternalDiffEngine = '/path/to/externaldiff.sh';
    

See also