Skip to content

Conflict 5‑Tuple Model

Conflict5Tuple captures the canonical five versions involved in a merge conflict:

Symbol Field Description
A ours_content Our side's version
B theirs_content Their side's version
O base_content Base (possibly virtual) version
M conflict_content File content with Git conflict markers
R resolved_content Post-resolution version (may be absent)

Usage

from conflict_collection.schema.five_tuple import Conflict5Tuple
from conflict_parser import MergeMetadata

record = Conflict5Tuple(
    ours_content="...",
    theirs_content="...",
    base_content="...",
    conflict_content="<<<<<<< HEAD\n...=======\n...>>>>>>> branch\n",
    resolved_content=None,
    merge_config=MergeMetadata(conflict_style="merge"),
)

The model is a Pydantic BaseModel for validation and serialisation.