File: //kunden/lib/python3/dist-packages/breezy/__pycache__/textmerge.cpython-39.pyc
a
�*�^� � @ sH d dl mZ ddlmZ ee� d� G dd� de�ZG dd� de�Zd S )
� )�absolute_import� )�lazy_importz
import patiencediff
c @ sd e Zd ZdZdZdZdZeeefdd�Zdd� Zd d
� Z dd� Z
ddd�Zddd�Ze
dd� �ZdS )� TextMergea Base class for text-mergers
Subclasses must implement _merge_struct.
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.
s <<<<<<<
s >>>>>>>
s =======
c C s || _ || _|| _d S �N)�a_marker�b_marker�split_marker)�selfr r r � r �2/usr/lib/python3/dist-packages/breezy/textmerge.py�__init__0 s zTextMerge.__init__c C s t d��dS )z�Return structured merge info. Must be implemented by subclasses.
See TextMerge docstring for details on the format.
z_merge_struct is abstractN)�NotImplementedError)r
r r r �
_merge_struct6 s zTextMerge._merge_structc c sp |D ]f}t |�dkr*|d D ]
}|V qq| jV |d D ]
}|V q:| jV |d D ]
}|V qV| jV qdS )z$Convert merge result tuples to linesr r N)�lenr r r )r
�struct_iter�lines�liner r r �struct_to_lines<