MD092 - Unresolved merge conflict markers¶
Aliases: merge-conflict
Enabled by default. This rule reports opening and closing Git and Jujutsu conflict markers, including partial conflicts and marker widths of seven or more characters. It checks fenced code blocks too: a merge can insert a real conflict inside a code example.
An unsuppressed finding prevents all formatting of that document, including line-ending normalization, embedded Markdown, external code-block tools, and editor formatting options. The original bytes are preserved. Other files are still processed. The rule has no automatic fix.
check and check --fix exit 1 for an unsuppressed conflict, unless
--fail-on never is set. fmt, fmt --check, and fmt --diff report the
conflict and skip the document, retaining their formatter-style exit code 0.
Documenting conflict markers¶
Suppress the rule around a literal example, then re-enable it so conflicts elsewhere still protect the document:
# Resolving a conflict
<!-- rumdl-disable merge-conflict -->
```text
<<<<<<< HEAD
Our version
=======
Their version
>>>>>>> branch
```
<!-- rumdl-enable merge-conflict -->
The surrounding documentation is checked and formatted normally.
The comments must be outside the code fence containing the example. Comments inside code blocks or inline code spans are literal text and do not disable rules. Suppressing an example does not hide a later unsuppressed conflict.
Suppression also hides any real conflict inside that region. Keep the region as small as possible.
Configuration¶
The standard rule controls apply, including disable, extend-disable,
enable, inline disable-file and configure-file, and per-file ignores.
For example, to disable this rule only in a document of conflict examples:
An explicit enable list that omits MD092 disables the safeguard, just as it
excludes other rules. enable = [] disables every rule, including MD092.
The former merge-conflict diagnostic is now reported as MD092 in structured
output. merge-conflict remains available as its configuration alias.