StructuralMergeResult
The result of a structural (Pcs-level) 3-way merge. relations is Δ after resolving whatever could be resolved automatically - safe to reconstruct a merged tree from by walking it from rootLabel (see PcsTreeBuilder). conflicts is everywhere that couldn't be resolved. For a conflicting slot, relations keeps the base's own value if it had one (Lindholm's rule: an edit always wins over the base, so a real conflict - two edits disagreeing - is the one case with no automatic winner); a conflicting slot with no base value at all (e.g. both sides independently insert different content at the same anchor) is simply absent from relations. Either way, relations isn't guaranteed internally consistent when conflicts is non-empty - per Lindholm, that's expected: Δ only becomes Tm once every conflict is resolved one way or another (PcsTreeBuilder.build fails cleanly rather than silently reconstructing a bad tree when it isn't).
Value parameters
- rootLabel
-
the label of
base/left/right's shared root node (they're assumed to already correspond, same as everywhere else in this package).
Attributes
- Graph
-
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass Any