File: //usr/lib/python2.7/dist-packages/mercurial/pure/bdiff.pyc
ó
ÛXc @@ 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 m Z e j Z e j Z d „ Z
d „ Z d „ Z d „ Z
d „ Z d
„ Z e e k rù y d d l m Z m Z Wn# e k
rã e d k rö ‚ qö qù Xd
„ Z d „ Z
n d S( i ( t absolute_importNi ( t policyc C@ sb g | j d ƒ D] } | d ^ q } | r^ | d d k rI | j ƒ q^ | d d | d <n | S( s0 like str.splitlines, but only split on newlines.s
iÿÿÿÿ( t splitt pop( t textt lt lines( ( s8 /usr/lib/python2.7/dist-packages/mercurial/pure/bdiff.pyt
splitnewlines s &
c C@ s_ d } g } x?| D]7} | d k r1 | } q n d } | \ } } } | | }
| | } | \ } }
} | | } |
| } |
| k rÉ x‰ |
| | k rÅ | |
| | | | k rÅ | d 7} qŒ WnL | |
k rx= | | | k r| |
| | | | k r| d 7} qØ Wn | j | | | | f ƒ | | |
| | | f } q W| j | ƒ | S( Ni i ( t Nonet append( t at bt blockst prevt rt currt shiftt a1t b1t l1t a1endt b1endt a2t b2t l2t a2endt b2end( ( s8 /usr/lib/python2.7/dist-packages/mercurial/pure/bdiff.pyt _normalizeblocks s2
c C@ s) t | ƒ t j k r | j ƒ St | ƒ S( N( t typet arrayt tostringt str( t c( ( s8 /usr/lib/python2.7/dist-packages/mercurial/pure/bdiff.pyt _tostring: s
c C@ sp t | ƒ j t ƒ } t | ƒ j t ƒ } | se d j | ƒ } | od t j d d d t | ƒ ƒ | Sg } d g } x) | D]! } | j | d t | ƒ ƒ q{ Wt j d | | ƒ j ƒ } t | | | ƒ } d } d } x‡ | D] \ } }
} d j | | |
!ƒ } | | k s| rK| j t j d | | | | t | ƒ ƒ | ƒ n | | } |
| } qà Wd j | ƒ S( Nt s >llli iÿÿÿÿ(
R! t
splitlinest Truet joint structt packt lenR t difflibt SequenceMatcherR t get_matching_blocksR ( R
R t st bint pt it dt lat lbt amt bmt size( ( s8 /usr/lib/python2.7/dist-packages/mercurial/pure/bdiff.pyt bdiff@ s( &
4
c C@ sy t | ƒ } t | ƒ } t j d | | ƒ j ƒ } t | | | ƒ } g | D]) \ } } } | | | | | | f ^ qL S( N( R R) R* R R+ R ( R
R t ant bnR0 R/ t jt n( ( s8 /usr/lib/python2.7/dist-packages/mercurial/pure/bdiff.pyR Y s
c C@ sI | r t j d d | ƒ } n' t j d d | ƒ } | j d d ƒ } | S( Ns [
]+R"