
    6h.c                    T   S SK Jr  S SKrS SKrS SKrS SKJr  S SKJrJ	r	J
r
  S SKJrJrJrJrJrJrJrJrJrJrJr  S SKJr  \R6                  rSSKJr  \R<                  r\R>                  r\R@                  " S	5      r! " S
 S\RD                  5      r# " S S\RH                  5      r%g)    )annotationsN)_)binhexsha1nodeconstants)	bookmarkscontexterrorexchangehglock
logcmdutilmerge
mergestatephasesutil)dateutil   )commons   \b[0-9a-f]{12,40}\bc                  n    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rSrg)mercurial_sink9   c                   [         R                  R                  XX#5        UR                  SS5      U l        UR                  SS5      U l        UR                  SS5      U l        S U l        [        R                  R                  U5      (       a  [        [        R                  " U5      5      S:  a^   [        R                  " U R                   U5      U l        U R"                  R%                  5       (       d  ['        [)        S5      U-  5      eO UR3                  [)        S5      U-  5        [        R                  " U R                   USS	9U l        U R"                  R%                  5       (       d  ['        [)        S5      U-  5      eU R4                  R7                  U5        S U l        S U l        SU l        0 U l        g ! [*        R,                   a-  nUR/                  5         ['        UR0                  S   5      eS nAff = f! [*        R,                   a(    UR/                  5         ['        [)        S
5      U-  5      ef = f)N   converts   hg.usebranchnamess   hg.clonebranchess   hg.tagsbranchr   &   %s is not a local Mercurial repositorys'   initializing destination %s repository
Tcreates)   could not create hg repository %s as sinkF) r   converter_sink__init__
configboolbranchnamesclonebranchesconfig
tagsbranch
lastbranchospathisdirlenlistdirr   
repositoryuirepolocalNoRepor   r
   	RepoError	tracebackargsstatuscreatedappendr   wlockfilemapmode
subrevmaps)selfr,   repotyper'   errs        2/usr/lib/python3/dist-packages/hgext/convert/hg.pyr   mercurial_sink.__init__:   s   &&t@==5IJ]]:7JK))J0@A77==3rzz$'7#81#<*MM$''48	yy(( CDtK  )		!GH4OPMM$''4E	yy(( CDtK  ##D) 	
 ) ?? *SXXa[))* ?? BCdJ s&   5AG BH H(G??H<Ic                    U R                   R                  S5        U R                  R                  5       U l        U R                  R	                  5       U l        g )Ns"   run hg sink pre-conversion action
)r,   debugr-   r6   r   r9   s    r<   beforemercurial_sink.before]   s7    <=YY__&
IINN$	    c                    U R                   R                  S5        U R                  (       a  U R                  R                  5         U R                  (       a  U R                  R                  5         g g )Ns#   run hg sink post-conversion action
)r,   r?   r   releaser6   r@   s    r<   aftermercurial_sink.afterb   sF    =>99II::JJ  rC   c                L    U R                   R                  R                  S5      $ )N   shamapr-   vfsjoinr@   s    r<   
revmapfilemercurial_sink.revmapfilei   s    yy}}!!),,rC   c                L    U R                   R                  R                  S5      $ )Ns	   authormaprJ   r@   s    r<   
authorfilemercurial_sink.authorfilel   s    yy}}!!,//rC   c                   U R                   (       d  g XR                  :g  nXl        U(       d  SnU Vs/ s H!  oDS   US   =(       a    US   =(       d    S4PM#     nn[        R                  R	                  U R                  U5      nU(       aG  U R                  5          [        R                  " U R                  U5      U l	        U R                  5         0 nU H"  n U R                  R                  US   5        M$     U(       a  U R                  5         [        UR!                  5       5       H  u  px[        R                  R	                  U R                  U5      n	[        R"                  " U R                  0 U	5      n
U R                  R%                  ['        S5      Xq4-  5        [(        R*                  " U R                  X Vs/ s H  oR                  U5      PM     snS9  M     U R                  5         g g s  snf ! [         a)    [        R                  " U R                  USS9U l	         GNnf = f! [         a,    UR                  US   / 5      R                  US   5         GM  f = fs  snf )Ns   defaultr   r   Tr   s   pulling from %s into %s
)heads)r"   r%   r&   r'   rL   rF   r   r+   r,   r-   	ExceptionrA   lookup
setdefaultr5   sorteditemspeernoter   r   pull)r9   branch	pbranches	setbranchb
branchpathmissingspbranchrS   pbranchpathprepohs               r<   r^   mercurial_sink.setbrancho   s   !!oo-	 FBKL)QdAaDMQqT7Z8)	LWW\\$))V4
JJLLMM$'':>	 KKM A;		  1&  JJL"()9": ggll499g>[923w6GG IIue,Le\\!_e,L #; KKM ) M  LMM$'':dK	L  ;##AaD"-44QqT::; -Ms/   (G= &H H8I1/H54H581I.-I.c                X   [        5       nUR                  5        H  nUR                  SS5      n[        U5      S:w  a=  U R                  R                  [        S5      U-  5        UR                  SU-  5        Ma  UR                  UR                  US   5      5      nU(       dZ  US   [        R                  :X  a  US   nO=U R                  R                  [        S5      U-  5        UR                  SU-  5        M  UR                  SXvS   4-  5        M     UR                  5       $ )	N    r      s   invalid tag entry: "%s"
s   %s
r   s   missing tag entry: "%s"
   %s %s
)stringio
splitlinessplitr)   r,   warnr   writeget	lookuprevr   nullhexgetvalue)r9   sourcerevmapdatafplinesrevids           r<   _rewritetagsmercurial_sink._rewritetags   s    ZOO%D

4#A1v{Q;<tCD4(JJv//!56EQ4,444aDE GGLL#?!@4!GHHHWt^,HHZ5A$-/0 &  {{}rC   c                   [        5       nUR                  5        GH  nUR                  SS5      n[        U5      S:w  a  M'  US   nUS   nU[        R
                  :w  Ga5  U R                  R                  U5      nUc  [        U R                  U R                  R                  US5      5      nXR                  U'   [        S5      n	[        U5      S:X  am  U R                  R                  R                  US5      n
U R                  R                  R                  U
5      (       a  U R                  R!                  X-  5        UR                  U5      nU(       d8  [        U5      S:  a(  U R                  R!                  [        S5      Xg4-  5        OUnUR#                  S	Xg4-  5        GM     UR%                  5       $ )
Nrh   r   ri   r   s
   .hg/shamaps/   no ".hgsubstate" updates will be made for "%s"
s   .hgs!   %s is missing from %s/.hg/shamap
rj   )rk   rl   rm   r)   r   rr   r8   rp   mapfiler,   r-   wjoinr   wvfsreljoinexistsrn   ro   rs   )r9   rt   rv   rw   rx   ry   rz   subpathru   msgsubnewids               r<   _rewritesubstatemercurial_sink._rewritesubstate   sl   ZOO%D

4#A1v{aDEdG)111,,W5>$-!HF 06OOG, OPC6{a'"iinn44WfE99>>0055 GGLL7

5)6{QCD$./
 "EHHZ5"223I &L {{}rC   c              #    #    UR                  U5      /n[        R                  " U R                  UUUSSSSS9nUR	                  5        Hs  u  nu  pxn	UR                  U5      (       a  M!  U[        R                  ;   a$  [        R                  " [        S5      XbU4-  5      eU[        R                  :X  a  Mo  Uv   Mu     g7f)a*  Calculates the files from p2 that we need to pull in when merging p1
and p2, given that the merge is coming from the given source.

This prevents us from losing files that only exist in the target p2 and
that don't come from the source repo (like if you're merging multiple
repositories together).
TF)branchmergeforceacceptremotefollowcopiesse   unable to convert merge commit since target parents do not merge cleanly (file %s, parents %s and %s)N)ancestormergemodcalculateupdatesr-   filemaptargetfilebelongstosourcer   CONVERT_MERGE_ACTIONSr
   Abortr   ACTION_KEEP)
r9   rt   p1ctxp2ctxancmresultfileactioninfor   s
             r<   _calculatemergedfiles$mercurial_sink._calculatemergedfiles   s      ~~e$% ++II	
 *1):%D%6//55  999kk2
 E*+  :111 
- *;s   C Cc	           
     4  ^ ^^^^^$^% [        T5      mUUU$U%UU U4S jn	/ n
U H  nX;  d  M
  U
R                  U5        M     U
n[        U5      nT R                  (       aE  US:X  a?  US   n[	        U5      nT R
                  R                  R                  U5      R                  n[        U5      S:  a%  UR                  T R
                  R                  5        [        U5      S:  a%  UR                  T R
                  R                  5        UR                  S5      nUR                  n[        R                  " [        U5      nU HH  nTR                  U5      nTR!                  U5      nUc  M*  UR#                  UUS [        U5       5      nMJ     UR$                  R'                  5       nT R
                  R(                  R+                  SS5      nU(       a  UUS'   S HV  nUR!                  U5      nUc  M  US	:X  a  [-        U5      nTR!                  U5      nUc  M@  US	:X  a  [	        U5      nUUU'   MX     T R.                  (       a   UR0                  (       a  UR0                  US
'   UR2                  (       a   UR4                  (       a  UR2                  US'   U(       Gay  UnUR                  S5      nT R
                  U   nS m$UT R
                  R                  :w  a  T R
                  U   m$[7        T5      nU(       a<  UR9                  T R
                  U   5        UR9                  T R
                  U   5        T$(       aG  [7        U5      m%T R;                  TUT$5       H%  nT%R=                  U5        UR=                  U5        M'     [>        R@                  " T R
                  UU4UUU	URB                  URD                  U5      nT R
                  R(                  RG                  SS[H        RJ                  URL                     S5        T R
                  RO                  S5       nT R
                  R(                  R+                  SS5      (       a  URP                  n OS n [-        T R
                  RS                  UU S95      nUR2                  U:w  aq  T R
                  U   nURM                  5       [H        RT                  :  a@  [H        RV                  " T R
                  U[H        RT                  UR3                  5       /5        S S S 5        SnWnU(       a  GMy  T R                  (       a  US:X  a  T R
                  RX                  R[                  S5      n!T R
                  R                  R]                  [	        U5      5      S   n"SUR$                  ;   n#U#(       de  U!R_                  WU!Ra                  U"5      5      (       d?  T R(                  Rc                  [e        S5      5        T R
                  Rg                  SS9  W$ U$ ! , (       d  f       GN= f)Nc                  > T(       a0  UT	;   a*  UT;  a$  TR                   R                  SU-  5         TU   $  TU   nTR                  X#5      u  pEUc  g US:X  a  TR                  TT
U5      nUS:X  a  TR                  TU5      n[        R                  " TR                  UUUSU;   SU;   TR                  U5      5      $ ! [        R                   a     g f = f! [         a     g f = f)Ns   reusing %s from p2
   .hgtagss   .hgsubstate   l   x)r,   r?   r
   ManifestLookupErrorKeyErrorgetfiler{   r   r	   
memfilectxr-   rp   )r-   memctxfvrv   modecopiesfilesr   p2filesru   r9   rt   s         r<   
getfilectx,mercurial_sink.putcommit.<locals>.getfilectx	  s    g!6/59:  8O
!H  -JD|J((>N",,VT:%%		

1  00       s"   C C CC
C)(C)r   r   ri   r   s   hg.sourcenames   convert_source)s   source   transplant_sources   rebase_sources   intermediate-sourcer      branchs   convert_revisions   phasess
   new-commits   hg.preserve-hash)origctxs   (octopus merge fixup)
rC   s   closes   filtering out empty revision
T)r   )4dictr5   r)   r7   r   r-   	changelogchangelogrevisionmanifestnullidpopdescrefindallsha1rerq   rp   replaceextracopyr,   r#   r   r!   r\   revsaverevsetupdater   addr	   r   authordate	setconfigr   
phasenamesphasetransactionctx	commitctxdraftregisternewmanifestlog
getstoragereadcmprevisionr3   r   rollback)&r9   r   r   parentscommitrt   ru   fullcleanp2r   plpnparentsparentp1_nodem1nodep2textsha1ssha1oldrevnewrevr   
sourcenamelabelnodep1r   filesetr   r   trr   manmnodeclosedr   r   s&   ```  ``                             @@r<   	putcommitmercurial_sink.putcommit  s    U	 	< A{		!  w<AQZF&kGYY((::7CLLFw<!NN499++,w<!NN499++,[[^{{

64(D%%d+FZZ'F!||D&3t9*=>	  !!#YY\\((5EF
'1E#$
E 99U#D| ,,4yZZ%F!00 [F%e)
, %}}E)::&..)/E%&BQBIIbMEETYY%%%		"%jGtyy}-tyy}-g, 66vueLDKK%KK% M ..		R	C IILL""!!&,,/	 &&z2b99<<&&z3FGG$jjG"G499..sG.DE
 ::%))D/Cyy{V\\1** IIr6<<#'') 3" .DBq gt A))''2237CII'',,SW5a8E-F#''&#,,u2E"F"Fq!BCD		""".	9 32s   )CX
Xc           
       ^ U R                   R                  U R                  SS9nU=(       d    U R                   R                  n[	        5       nU R                   R                  5       R                  5        Hj  u  pEU H_  nSU R                   U   ;   d  M  UR                  [	        U R                   U   S   R                  5       R                  S5      5      5        Ma     Ml     [        [        U5      5      n[        U Vs/ s H  nSX   U4-  PM     sn5      nX:X  a  g[	        5       n	[	        5       n
U HH  nUR                  5       R                  SS5      n[        U5      S:w  a  M4  U	R                  US   5        MJ     U Ha  nUR                  5       R                  SS5      n[        U5      S:w  a  M4  US   U	;  d  M?  U
R                  US   R                  5       5        Mc     U
(       d  gS	R!                  U5      mU4S
 jnU R"                  R%                  ['        S5      5        S[)        [*        R,                  " [*        R.                  " 5       5      5      -  nSU R                  0n[0        R2                  " U R                   US 4SS/USUU5      nU R                   R5                  U5      n[7        U5      [7        U5      4$ s  snf )NT)ignoremissingr   rj   NNrh   r   ri   rC   c           	     :   > [         R                  " XUTSSS 5      $ )NF)r	   r   )r-   r   r   rv   s      r<   r   *mercurial_sink.puttags.<locals>.getfilectx  s    %%dAtUE4PPrC   s   updating tags
s   %d 0r   s   update tagss   convert-repo)r-   	branchtipr$   r   r   	branchmaprX   r   rv   rl   rW   liststriprm   r)   r   rL   r,   r3   r   inttimemktimegmtimer	   r   r   r   )r9   tags	tagparentoldlinesr\   rS   re   tagnewlinesoldtagsnewtagsrx   ry   r   r   r   r   r   rv   s                     @r<   puttagsmercurial_sink.puttags  sO   II''t'L	1!1!1	5!YY00288:MF1-OODIIaL499;FFtLM  ; $x.)dKdsJ$)S)99dKL %%D

""4+A1v{KK!	 
 D

""4+A1v{t7"AaDJJL)  xx!	Q 	q+,-T[[788DOO,nnIIL	
 yy""3'4y#i.((S Ls   Kc                    Xl         g N)r7   )r9   actives     r<   setfilemapmodemercurial_sink.setfilemapmode  s    !rC   c                J   [        U5      (       d  g S =n=p4 U R                  R                  5       nU R                  R                  5       nU R                  R	                  S5      nU R
                  R                  [        S5      5        U R                  R                  nU Vs/ s H  nU[        X   5      4PM     nnUR                  U R                  XG5        UR                  5         [        R                  " X2U5        g s  snf ! [        R                  " X2U5        f = f)Ns   bookmarks   updating bookmarks
)r)   r-   r6   r   r   r,   r3   r   
_bookmarksr   applychangescloselockmodrE   )r9   updatedbookmarkr6   r   r   	destmarksbookmarkchangess           r<   putbookmarksmercurial_sink.putbookmarks  s    ?##   	-IIOO%E99>>#D&&{3BGGNN1456		,,I !0 /H 389: /   ""499b:HHJOOD, OOD,s   BD	 %D>.D	 D	 	D"c                D    XR                   ;   =(       d    U R                  $ r  )r-   r"   r9   r   s     r<   hascommitfrommapmercurial_sink.hascommitfrommap  s    ii54#5#55rC   c                    XR                   ;  a3  U R                  (       a"  [        R                  " [	        S5      U-  5      eXR                   ;   $ )Nse   revision %s not found in destination repository (lookups with clonebranches=true are not implemented))r-   r"   r
   r   r   r  s     r<   hascommitforsplicemap$mercurial_sink.hascommitforsplicemap  sK    iiD$6$6++,
   iirC   )	r!   r"   r7   r%   r   r-   r8   r$   r6   N)__name__
__module____qualname____firstlineno__r   rA   rF   rM   rP   r^   r{   r   r   r   r  r
  r  r  r  __static_attributes__ rC   r<   r   r   9   sT    !F%
!-0'R((T,\`D6)p"-&6
 rC   r   c                      \ rS rSrSS jrS rS rS rS rS r	S	 r
S
 rS rS rS rS rS rS rS rS rS rS rS rSS jrSrg)mercurial_sourcei  Nc                   [         R                  R                  XX#U5        UR                  SS5      U l        [        5       U l        UR                  SS5      U l         [        R                  " U R                  U5      U l        U R                  R                  5       (       d  [        R                  e S U l        S U l        SU l        S U l        UR-                  SS5      nUR-                  SS5      nUGc  Ub   U R                  R/                  U5      nU R                  R2                  R5                  U5      nUS	0nU R                  R2                  R7                  U/5       H*  n	S	XR                  R2                  R9                  U	5      '   M,     UR:                  U l        O[>        R@                  U l        U(       a1  U V	s/ s H  oR                  R/                  U	5      PM     sn	U l!        g U R                  RE                  5       U l!        g U(       d  Ub  [        R0                  " [#        S
5      5      e[        5       n
[        5       n[F        RH                  " U R                  U/5       HW  n	U R                  U	   nU
RK                  UR9                  5       5        URM                  S URO                  5        5       5        MY     U
R:                  U l        X-
  U l!        g ! [        R                   a(    UR                  5         [!        [#        S5      U-  5      ef = f! [        R                   a#    [        R0                  " [#        S5      U-  5      ef = fs  sn	f )Nr   s   hg.ignoreerrorss
   hg.saverevr   r   s   hg.startrevs   hg.revss    %s is not a valid start revisionr   s4   hg.revs cannot be combined with hg.startrev or --revc              3  @   #    U  H  oR                  5       v   M     g 7fr  )r   ).0r   s     r<   	<genexpr>,mercurial_source.__init__.<locals>.<genexpr>;  s     ?Avvxxs   )(r   converter_sourcer   r    ignoreerrorsr   ignoredr   r   r+   r,   r-   r.   r
   r0   r1   r/   r   lastrevlastctx_changescache	convertfpr#   rU   r   r   r   descendantsr   __contains__keepr   always_headsrS   r   revranger   r   r   )r9   r,   r:   r'   revs	startnodehgrevsstartrevchildrenrnodesr   r   s                r<   r   mercurial_source.__init__  s   ((84HMM*6HIu}}Z?	Ndggt4DI 99??$$oo% %
 'IIj.9	:z2>$ $		 0 0 ;I
  99..229=%q>,,88(DA<=HYY0055a89 E$11	 KK	<@ADqyy//2DA"iioo/y,kk0  EEeG((VH=iil		#((*%??? > **DI/DKY  	NLLNDELMM	N  ++=>J  Bs    AK* >L) $M#*<L&)7M c                n    U R                   U:w  a  U R                  U   U l        Xl         U R                  $ r  )r.  r-   r/  r  s     r<   
_changectxmercurial_source._changectx?  s,    <<399S>DLL||rC   c                    UR                  5        Vs/ s H3  o"(       d  M  U R                  UR                  5       5      (       d  M1  UPM5     sn$ s  snf r  )r   r4  r   )r9   r   r   s      r<   _parentsmercurial_source._parentsE  s5    ;;=F=aA$))AFFH2E=FFFs   
A"AAc                    U R                    Vs/ s H%  oR                  U5      (       d  M  [        U5      PM'     sn$ s  snf r  )r6  r4  r   )r9   re   s     r<   getheadsmercurial_source.getheadsH  s,     $<1yy|A<<<s   >>c                     U R                  U5      U   nUR                  5       UR                  5       4$ ! [        R                   a     gf = f)Nr   )rA  rv   flagsr
   LookupError)r9   namer   fctxs       r<   r   mercurial_source.getfileK  sI    	??3'-D99;

,,   		s   36 AAc                   / / pCUR                   nUR                   nUR                  5       R                  UR                  5       5      nUR                  5        H"  u  nu  u  pu  pUc
  U" U5        M  U" U5        M$     X44$ r  )r5   r   diffrX   )r9   ctx1ctx2mar=  maappendrappenddr   node1flag1node2flag2s                r<   _changedfilesmercurial_source._changedfilesR  sq    BA99((MMO  134779/A/}
	 4=
 urC   c                   U R                  U5      nU R                  U5      nU(       d  U(       d  UR                  5       =pVU(       aI  U R                  S   U:X  a  U R                  S   u  pxOU R	                  US   U5      u  pxU(       d  Xx-   nUnU R                  X4W5      n	[        5       n
[        U5      S:X  a^  US   R                  5       R                  UR                  5       SS9nUR                  5        H  u  pUb  M
  U
R                  U5        M     W Vs/ s H  oU R                  ;  d  M  X4PM     nnUR                  5         XU
4$ s  snf )Nr   r   ri   T)clean)rA  rD  r   r0  r[  
_getcopiesr   r)   rP  rX   r   r-  sort)r9   r   r   r   r   r   	copyfilesrS  r=  r   r   rV  r   valuer  s                  r<   
getchangesmercurial_source.getchanges^  s0   ooc"--$w #.E!!!$+ **1-A**71:s;I y9%w<1
##%**3<<>*FAGGI=KKN & &+DUt||.C8A8UD'' Es   E6Ec                  ^ 0 nU Hf  nXPR                   ;   a  M   UR                  U5      R                  5       mTU R                   ;   a  MF  [        U4S jU 5       5      (       d  Mb  TXE'   Mh     U$ ! [         a     My  [
        R                   a_  nU R                  (       d  e U R                   R                  U5        U R                  R                  [        S5      U-  5         S nAM  S nAff = f)Nc              3  .   >#    U  H
  nTU;   v   M     g 7fr  r#  )r(  r   
copysources     r<   r)  .mercurial_source._getcopies.<locals>.<genexpr>  s     <Gq:?Gs   s   ignoring: %s
)r-  filectxrg  any	TypeErrorr
   rK  r,  r   r,   rn   r   )r9   r   r   r   r   rL  erg  s          @r<   r_  mercurial_source._getcopies{  s    D||#7 [[.99;
-<G<<<) $   $$ 7((  &Q01A566	7s*   /A2A2(A22
C1?C1AC,,C1c                V   U R                  U5      nU R                  U5      nU Vs/ s H  oDR                  5       PM     nnUR                  5        Vs/ s H"  oD(       d  M  XC;  d  M  UR                  5       PM$     nnUn[        R
                  " UR                  5       [        R                  " UR                  5       S5      UR                  5       UUUUR                  5       UR                  5       UR                  5       U R                  UR                  5       US9$ s  snf s  snf )Ns   %Y-%m-%d %H:%M:%S %1%2)r   r   r   r   r   
optparentsr\   r   sortkeyr   r   r   )rA  rD  r   r   r   r   userr   datestrr   descriptionr\   r   r   r   r   )r9   r   r   rD  r   r   ro  crevs           r<   	getcommitmercurial_source.getcommit  s    ooc"==%$,-Hq557H-'*{{}P}!ga>Ogaeeg}
P}}88:!!#((*.GH"!::<))+GGILL))+
 	
	 .Ps   D!
D&"D&)D&c                ,    [        U R                  5      $ r  )r)   r-   r@   s    r<   
numcommitsmercurial_source.numcommits  s    499~rC   c                &   U R                   R                  5        Vs/ s H)  nU R                   R                  US   5      S:X  d  M'  UPM+     nnU VVs0 s H)  u  p4U R                  U5      (       d  M  U[	        U5      _M+     snn$ s  snf s  snnf )Nr   s   global)r-   tagslisttagtyper4  r   )r9   tr   rL  r   s        r<   gettagsmercurial_source.gettags  s     YY'')
)yy  1&)3 ) 	 

 37J$JD$))D/c$i$JJ

 Ks   &BBB4Bc                (  ^  T R                  U5      nT R                  U5      nU(       d%  Uc"  SnUR                  5       R                  5       / peO!U=(       d    SnT R	                  XB   U5      u  pVU 4S jXV4 5       u  pVUS:X  a
  XU44T l        XV-   $ )Nr   c              3  t   >#    U  H(  o Vs/ s H  o"TR                   ;  d  M  UPM     snv   M*     g s  snf 7fr  )r-  )r(  lr   r9   s      r<   r)  3mercurial_source.getchangedfiles.<locals>.<genexpr>  s,     J'QQ8Q4<<"7!Q8'8s   	8338)rA  rD  r   keysr[  r0  )r9   r   ir   r   rS  r=  s   `      r<   getchangedfiles mercurial_source.getchangedfiles  s    ooc"--$19ALLN'')2QA&&wz37EBJ2'J6"%AwDvrC   c                    U R                   c4  [        U R                  R                  R	                  S5      S5      U l         U R                   R                  [        R                  " SX!4-  5      5        U R                   R                  5         g )NrI   abrj   )	r1  openr-   rK   rL   ro   r   tonativeeolflush)r9   r   destrevs      r<   	convertedmercurial_source.converted  sa    >>!!$))--"4"4Y"?FDNT--jG>.IJKrC   c                :    U R                   R                  S5        g )Ns$   run hg source pre-conversion action
r,   r?   r@   s    r<   rA   mercurial_source.before  s    >?rC   c                :    U R                   R                  S5        g )Ns%   run hg source post-conversion action
r  r@   s    r<   rF   mercurial_source.after  s    ?@rC   c                    gNTr#  r@   s    r<   hasnativeordermercurial_source.hasnativeorder      rC   c                    gr  r#  r@   s    r<   hasnativeclosemercurial_source.hasnativeclose  r  rC   c                     [        U R                  R                  U5      5      $ ! [        R                  [        R
                  4 a     g f = fr  )r   r-   rU   r
   r0   rK  r  s     r<   rq   mercurial_source.lookuprev  sB    	tyy'',--!2!23 		s   #& $AAc                B    [         R                  " U R                  5      $ r  )r   listbookmarksr-   r@   s    r<   getbookmarksmercurial_source.getbookmarks  s    &&tyy11rC   c                &    U R                  X5        g)z+Mercurial, revision string is a 40 byte hexN)checkhexformat)r9   revstrmapnames      r<   checkrevformatmercurial_source.checkrevformat  s    F,rC   )
r0  r6  r1  r-  r,  r4  r/  r.  r-   r   r  )s	   splicemap)r  r  r   r!  r   rA  rD  rG  r   r[  rc  r_  ru  rx  r~  r  r  rA   rF   r  r  rq   r  r  r"  r#  rC   r<   r%  r%    sk    7*rG=
(:,
,K @A2-rC   r%  )&
__future__r   r&   r   r   mercurial.i18nr   mercurial.noder   r   r   	mercurialr   r	   r
   r   r   r   r  r   r   r   r   r   r   mercurial.utilsr   rk    r   r~   r/   compiler   r   r   r+  r%  r#  rC   r<   <module>r     s   ( # 	 	   
    %== 
..		+	,I V** I X[-v.. [-rC   