File: //lib64/python2.7/site-packages/mercurial/simplemerge.pyc
�
Hq�Qc @ s� d d l m Z d d l Z d d l Z d d l Z d d l Z d d l Z d e f d � � YZ d � Z d � Z
d e f d � � YZ d � Z
d S(
i����( t _Nt CantReprocessAndShowBasec B s e Z RS( ( t __name__t
__module__( ( ( s; /usr/lib64/python2.7/site-packages/mercurial/simplemerge.pyR s c C s� | d | d k s t � | d | d k s4 t � t | d | d � } t | d | d � } | | k rx | | f Sd Sd S( s Given two ranges return the range where they intersect or None.
>>> intersect((0, 10), (0, 6))
(0, 6)
>>> intersect((0, 10), (5, 15))
(5, 10)
>>> intersect((0, 10), (10, 15))
>>> intersect((0, 9), (10, 15))
>>> intersect((0, 9), (7, 15))
(7, 9)
i i N( t AssertionErrort maxt mint None( t rat rbt sat sb( ( s; /usr/lib64/python2.7/site-packages/mercurial/simplemerge.pyt intersect s
c C sj | | | | k r t SxK t t | | � t | | � � D]$ \ } } | | | | k r: t Sq: Wt Sd S( s? Compare a[astart:aend] == b[bstart:bend], without slicing.
N( t Falset zipt xranget True( t at astartt aendt bt bstartt bendt iat ib( ( s; /usr/lib64/python2.7/site-packages/mercurial/simplemerge.pyt
compare_range0 s .t
Merge3Textc B s� e Z d Z d
d
d
d � Z d
d
d
d d d d
e d � Z d � Z d � Z d � Z d � Z
d
� Z e e � Z d � Z
d � Z RS( s� 3-way merge of texts.
Given strings BASE, OTHER, THIS, tries to produce a combined text
incorporating the changes from both BASE->OTHER and BASE->THIS.c C s� | | _ | | _ | | _ | d k r9 t j | � } n | d k rW t j | � } n | d k ru t j | � } n | | _ | | _ | | _ d S( N( t basetextt atextt btextR t mdifft
splitnewlinest baseR R ( t selfR R R R R R ( ( s; /usr/lib64/python2.7/site-packages/mercurial/simplemerge.pyt __init__@ s s <<<<<<<s =======s >>>>>>>c c s� t | _ d } t | j � d k re | j d j d � rC d } qe | j d j d � re d } qe n | rz | rz t � n | r� | d | } n | r� | d | } n | r� | r� | d | } n | j � }
| t k r� | j |
� }
n x�|
D]�} | d } | d k rCx�t | d | d � D] }
| j
|
Vq*Wq� | d k s[| d
k r�xLt | d | d � D] }
| j |
VqsWq� | d k r�xt | d | d � D] }
| j |
Vq�Wq� | d k r�t | _ | | Vx+ t | d
| d � D] }
| j |
Vq�W| d k r[| | Vx. t | d | d � D] }
| j
|
VqBWn | | Vx+ t | d | d � D] }
| j |
Vq|W| | Vq� t
| � � q� Wd S( s'