FA-75824 / Text diff and three-way merge / Member archive
Conflict resolution reuse: unmatched conflicts disappear · case 04
Conflicts with no recorded resolution vanish from the file along with both sides.
Case contract
Scan conflict blocks ("<<<<<<<" optionally followed by a label, optional "|||||||" base section, "=======", ">>>>>>>" optionally labelled). A block matches a recorded [side1, side2, resolution] when its two sides equal the recorded sides in either order; base lines are ignored. Matched blocks are replaced by the resolution; unmatched blocks are re-emitted as bare "<<<<<<<", ours, "=======", theirs, ">>>>>>>" and counted. Return lines and the unresolved count.
Why this case matters
Reusing recorded conflict resolutions saves repeating the same manual merge during rebases.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| unknown conflict stays unresolved | {"lines": ["tail"], "unresolved": 1} | {"lines": ["\u003c\u003c\u003c\u003c\u003c\u003c\u003c", "p4", "=======", "q", "\u003e\u003e\u003e\u003e\u003e\u003e\u003e", "tail"], "unresolved": 1} | Failed |
MEMBER ARCHIVE
The complete case is available to members.
This record includes three runnable implementations, regression fixtures, execution results, and source hashes.
Member access is invitation-based. Sign in with your invited account to inspect the sources.
Sign in to the archive ↗