pub fn merge(
class: MergeClass,
base: &Body,
ours: &Body,
theirs: &Body,
) -> MergeOutcomeExpand description
Attempt to merge ours and theirs given their common base,
according to class.
AppendOnly:oursverbatim, followed by the tail oftheirspast the shared line-prefix of the two sides. A strict append-only union that preserves committed content byte-exact — it never drops blank lines and never dedups repeated lines (doing so is silent data loss, ADR 0005). Suits append-only topics and session transcripts.Structured: field-level 3-way merge of JSON object bodies (see [structured_merge]). Disjoint field edits auto-merge; the same field changed differently on both sides is a genuine conflict.Opaque: alwaysNeedsResolution.Derived: neverNeedsResolution. The body is regenerable and views are single-writer (ADR 0012), so a divergence is a rare race.mergereceives only bodies (noMeta), so it cannot compareupdatedtimestamps; it resolves the race deterministically in favor of side A (ours) — the discarded side can be re-derived from source.