Part of bzrlib.textmerge View In Hierarchy
Known subclasses: bzrlib.textmerge.Merge2, bzrlib.versionedfile.PlanWeaveMerge
Many methods produce or consume structured merge information. This is an iterable of tuples of lists of lines. Each tuple may have a length of 1 - 3, depending on whether the region it represents is conflicted.
Unconflicted region tuples have length 1. Conflicted region tuples have length 2 or 3. Index 1 is text_a, e.g. THIS. Index 1 is text_b, e.g. OTHER. Index 2 is optional. If present, it represents BASE.
Method | __init__ | Undocumented |
Method | struct_to_lines | Convert merge result tuples to lines |
Method | iter_useful | Iterate through input tuples, skipping empty ones. |
Method | merge_lines | Produce an iterable of lines, suitable for writing to a file |
Method | merge_struct | Produce structured merge info |
Static Method | reprocess_struct | Perform a two-way merge on structural merge info. |
Method | _merge_struct | Return structured merge info. Must be implemented by subclasses. |
This process may split a single conflict region into several smaller ones, but will not introduce new conflicts.