ó
    6°hÁ  ã                  óÈ   • S SK Jr  S SKrS SKrS SKrS SKJrJr  S SKJ	r	  S SK
JrJrJr  S SKJr  SSKJr  \R$                  r " S	 S
\R&                  \R(                  5      rg)é    )ÚannotationsN)ÚElementTreeÚ	XMLParser)Ú_)ÚerrorÚpycompatÚutil)Údateutilé   )Úcommonc                  óx   ^ • \ rS rSrSS jrS rS rSU 4S jjrS rS r	S r
S	 rS
 rS rS rS rS rSrU =r$ )Údarcs_sourceé   c                óš  • [         R                  R                  XX#US9  [         R                  R                  XS5        [        R
                  R                  [        R
                  R                  US5      5      (       d  [        [        S5      U-  5      e[         R                  " SSS9  U R                  S5      R                  5       S   R                  5       nUS:  a"  [        R                  " [        S	5      U-  5      eS
[!        5       ;  a  [        R                  " [        S5      5      e[        R
                  R#                  U5      U l        S U l        0 U l        0 U l        0 U l        U R-                  5       nU(       a  US;   a  [        [        S5      U-  5      eg U R.                  R1                  [        S5      5        g )N)Úrevss   darcss   _darcss(   %s does not look like a darcs repository)Údebnames	   --versionr   s   2.1s,   darcs version 2.1 or newer needed (found %r)r   s*   Python ElementTree module is not available)s	   darcs-1.0s   hasheds3   %s repository format is unsupported, please upgrades#   failed to detect repository format!)r   Úconverter_sourceÚ__init__ÚcommandlineÚosÚpathÚexistsÚjoinÚNoRepor   Ú	checktoolÚrun0Ú
splitlinesÚstripr   ÚAbortÚglobalsÚrealpathÚlastrevÚchangesÚparentsÚtagsÚformatÚuiÚwarn)Úselfr'   Úrepotyper   r   Úversionr&   s          Ú5/usr/lib/python3/dist-packages/hgext/convert/darcs.pyr   Údarcs_source.__init__   sv  € Ü×Ñ×(Ñ(¨°8ÈÐ(ÑMÜ×Ñ×#Ñ# D¨hÔ7ô �w‰w�~‰~œbŸg™gŸl™l¨4°Ó;×<Ñ<ÜœÐFÓGÈ$ÑNÓOÐOä×Ò˜¨8Ò4Ø—)‘)˜LÓ)×4Ñ4Ó6°qÑ9×?Ñ?ÓAˆØ�VÓÜ—+’+ÜÐAÓBÀWÑLóð ð ¤£	Ó)Ü—+’+œaÐ MÓNÓOÐOä—G‘G×$Ñ$ TÓ*ˆŒ	àˆŒØˆŒØˆŒØˆŒ	ð —‘“ˆÞØÐ2Ó2ÜÜð*óð ñ	óð ð 3ð �G‰G�L‰LœÐAÓBÕCó    c                ó´  • [         R                  " S[        R                  R	                  U R                  5      -   S-   S9U l        U R                  SU R
                  S9u  pU R                  U5        U R                  SSSU R                  S9nS nS nUR                  S	5       H¡  nU R                  UR                  S
5      5      nU R                  UR                  SS5      5      nUR                  S5      (       a  USS  R                  5       nOUb  XpR                  U'   S nX`R                   U'   U/U R"                  U'   UnM£     / U R"                  U'   g )Ns   convert-ó   -)Úprefixs   init©Úrepodirs   changesT)Ú
xml_outputÚsummaryr3   ÚpatchÚhashÚnameÚ s   TAG é   )r   Úmkdtempr   r   ÚbasenameÚtmppathÚrunÚ	checkexitÚxmlÚfindallÚrecodeÚgetÚfindtextÚ
startswithr   r%   r#   r$   )	r)   ÚoutputÚstatusÚtreeÚtagnameÚchildÚeltÚnoder8   s	            r,   ÚbeforeÚdarcs_source.beforeG   s1  € Ü×'Ò'Ø¤§¡×!1Ñ!1°$·)±)Ó!<Ñ<¸tÑCñ
ˆŒð Ÿ™ '°4·<±<˜Ð@‰ˆØ�‰�vÔà�x‰xØ 4°¸t¿y¹yð ð 
ˆð ˆØˆØ—<‘< Ö(ˆCØ—;‘;˜sŸw™w v›Ó/ˆDØ—;‘;˜sŸ|™|¨F°BÓ7Ó8ˆDØ�‰˜w×'Ñ'Ø˜q˜r˜(Ÿ.™.Ó*‘ØÑ$Ø%)—	‘	˜'Ñ"Ø�Ø!$�L‰L˜ÑØ#' &ˆD�L‰L˜ÑØŠEñ )ð !ˆ�‰�UÒr.   c                ó’   • U R                   R                  SU R                  -  5        [        R                  " U R                  SS9  g )Ns   cleaning up %s
T)Úignore_errors)r'   Údebugr=   ÚshutilÚrmtree©r)   s    r,   ÚafterÚdarcs_source.after`   s.   € Ø�‰�‰Ð)¨D¯L©LÑ8Ô9Ü�Š�d—l‘l°$Ó7r.   c                ón   >• [        U[        5      (       a  UR                  S5      n[        TU ]  X5      $ )Núlatin-1)Ú
isinstanceÚstrÚencodeÚsuperrB   )r)   ÚsÚencodingÚ	__class__s      €r,   rB   Údarcs_source.recoded   s/   ø€ Ü�aœ×Ñð —‘˜Ó#ˆAÜ‰w‰~˜aÓ*Ð*r.   c                óø   • [        5       n[        SS9nU R                  " U40 UD6nUR                  UR                  US9  UR                  5         U R                  UR                  5        UR                  5       $ )NrX   )r^   )Úparser)	r   r   Ú_runÚparseÚstdoutÚwaitr?   Ú
returncodeÚgetroot)r)   ÚcmdÚkwargsÚetreerb   Úps         r,   r@   Údarcs_source.xmll   sc   € ô “ˆô  IÑ.ˆØ�IŠI�cÑ$˜VÑ$ˆØ�‰�A—H‘H VˆÑ,Ø	�‰ŒØ�‰�q—|‘|Ô$Ø�}‰}‹Ðr.   c                ó8  • U R                  SSU R                  S9u  pU R                  U5        [        R                  " SU[        R
                  5      nU(       d  g SR                  [        S UR                  S5      R                  S5       5       5      5      $ )Nó   shows   repor2   s   ^\s*Format:\s*(.*)$ó   ,c              3  ó@   #   • U  H  oR                  5       v •  M     g 7f©N)r   )Ú.0Úfs     r,   Ú	<genexpr>Ú&darcs_source.format.<locals>.<genexpr>€   s   é € ÐJÒ3I¨a§¡§	 	Ò3Iùs   ‚r   )
r>   r   r?   ÚreÚsearchÚ	MULTILINEr   ÚsortedÚgroupÚsplit)r)   rF   rG   Úms       r,   r&   Údarcs_source.formatz   sr   € ØŸ™ '¨7¸D¿I¹I˜ÐF‰ˆØ�‰�vÔÜ�IŠIÐ-¨v´r·|±|ÓDˆÞØØ�y‰yœÑJ°1·7±7¸1³:×3CÑ3CÀDÔ3IÓJÓJÓKÐKr.   c                óÖ   • / nU R                  SSSU R                  S9u  p#U R                  U5        UR                  S5       H"  nUSS  nU(       d  M  UR	                  U5        M$     U$ )Nro   s   filesT)Úno_directoriesr3   ó   
é   )r>   r=   r?   r|   Úappend)r)   ÚmanrF   rG   Úliner   s         r,   ÚmanifestÚdarcs_source.manifest‚   sm   € ØˆØŸ™Ø�X¨d¸D¿L¹Lð "ð 
‰ˆð 	�‰�vÔØ—L‘L Ö'ˆDØ˜˜�8ˆDßˆtØ—
‘
˜4Ö ñ (ð ˆ
r.   c                ó    • U R                   S    $ rr   )r$   rT   s    r,   ÚgetheadsÚdarcs_source.getheadsŽ   s   € Ø�|‰|˜DÑ!Ð!r.   c                óÆ  • U R                   U   nSn[        R                  " U R                  UR	                  S5      5      U5      nUR                  S5      S-   UR                  SS5      -   nSn[        R                  " U R                  UR	                  S5      5      [        R                  " XF5      U R                  U5      R                  5       U R                  U   S	9$ )
Ns   %a %b %d %H:%M:%S %Z %YÚ
local_dater8   Ú
Úcommentr9   s   %Y-%m-%d %H:%M:%S %1%2Úauthor)r�   ÚdateÚdescr$   )r#   r
   ÚstrdaterB   rC   rD   r   ÚcommitÚdatestrr   r$   )r)   ÚrevrK   Ú
dateformatr�   r‘   Únewdateformats          r,   Ú	getcommitÚdarcs_source.getcommit‘   s¸   € Ø�l‰l˜3ÑˆØ/ˆ
Ü×Ò §¡¨C¯G©G°LÓ,AÓ BÀJÓOˆØ�|‰|˜FÓ# dÑ*¨S¯\©\¸)ÀRÓ-HÑHˆð 2ˆÜ�}Š}Ø—;‘;˜sŸw™w xÓ0Ó1Ü×!Ò! $Ó6Ø—‘˜TÓ"×(Ñ(Ó*Ø—L‘L Ñ%ñ	
ð 	
r.   c                ó8  • U R                  SU R                  SSU R                  U5      -  SSSU R                  S9u  p#U(       aU  UR	                  S5      S:X  a  U R                  X25        U R                  SSU R                  S	9u  p#U R                  X25        g g )
Ns   pullTs   hash %ss
   /bin/false)ÚallÚmatchÚno_testÚno_posthookÚexternal_merger3   s   We have conflicts inéÿÿÿÿs   revert)r›   r3   )r>   r   rB   r=   Úfindr?   )r)   r•   rF   rG   s       r,   ÚpullÚdarcs_source.pull    s“   € ØŸ™ØØ�I‰IØØ˜tŸ{™{¨3Ó/Ñ/ØØØ(Ø—L‘Lð "ð 	
‰ˆö Ø�{‰{Ð2Ó3°rÓ9Ø—‘˜vÔ.Ø!ŸX™X i°TÀ4Ç<Á<˜XÐP‰NˆFØ�N‰N˜6Õ*ð	 r.   c                óˆ  • U(       a  [         R                  " [        S5      5      e0 n/ nS nU R                  U   R	                  S5       GHG  nUR
                  S;   a  M  UR
                  S:X  aç  Uc  U R                  5       nU R                  UR                  S5      5      nU R                  UR                  S5      5      nXu;   a*  UR                  Xq45        UR                  X�45        XsU'   M¨  US-   nU HW  n	U	R                  U5      (       d  M  US-   U	[        U5      S  -   n
UR                  X‘45        UR                  X¡45        X“U
'   MY     GM  UR                  U R                  UR                  R                  5       5      U45        GMJ     U R                  U5        Xl        [!        U5      U[#        5       4$ )Ns*   convert from darcs does not support --fullr5   )Úadd_directoryÚremove_directoryÚmoveÚfromÚtoó   /)r   r   r   r#   r¡   Útagr†   rB   rC   rƒ   rE   ÚlenÚtextr   r¢   r"   rz   Úset)r)   r•   ÚfullÚcopiesr#   r„   rK   ÚsourceÚdestrt   Úfdests              r,   Ú
getchangesÚdarcs_source.getchanges±   sv  € ÞÜ—+’+œaÐ MÓNÓOÐOØˆØˆØˆØ—<‘< Ñ$×)Ñ)¨)×4ˆCØ�w‰wÐ?Ó?ÙØ�w‰w˜&Ó Ø‘;ØŸ-™-›/�CØŸ™ S§W¡W¨V£_Ó5�Ø—{‘{ 3§7¡7¨4£=Ó1�Ø“=à—N‘N F =Ô1Ø—N‘N D ;Ô/Ø#)˜4“Lð $ d™]�FÛ ˜Ø Ÿ|™|¨F×3Ñ3Ù$Ø $ t¡¨a´°F³°Ð.>Ñ >˜ØŸ™¨ xÔ0ØŸ™¨ |Ô4Ø()˜u›ô !ð —‘ §¡¨C¯H©H¯N©NÓ,<Ó =¸sÐC×Dñ1 5ð2 	�	‰	�#ŒØŒÜ�g‹ ¬«Ð-Ð-r.   c                ót  • X R                   :w  a  [        R                  " [        S5      5      e[        R
                  R                  U R                  U5      n [        R                  " U5      n[        R                  " U5      R                  nUS-  =(       a    S=(       d    SnXE4$ ! [         a     gf = f)Ns   internal calling inconsistency)NNéI   ó   xr.   )r"   r   r   r   r   r   r   r=   r	   ÚreadfileÚlstatÚst_modeÚFileNotFoundError)r)   r8   r•   r   ÚdataÚmodes         r,   ÚgetfileÚdarcs_source.getfileÔ   s�   € Ø—,‘,ÓÜ—+’+œaÐ AÓBÓCÐCÜ�w‰w�|‰|˜DŸL™L¨$Ó/ˆð	Ü—=’= Ó&ˆDÜ—8’8˜D“>×)Ñ)ˆDð �u‘×& $×-¨#ˆØˆzÐøô !ó 	Ùð	ús   Á6B* Â*
B7Â6B7c                ó   • U R                   $ rr   )r%   rT   s    r,   ÚgettagsÚdarcs_source.gettagsà   s   € Ø�y‰yÐr.   )r#   r"   r$   r   r%   r=   rr   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   rM   rU   rB   r@   r&   r†   r‰   r˜   r¢   r´   r¿   rÂ   Ú__static_attributes__Ú__classcell__)r_   s   @r,   r   r      sM   ø† ô&DòP!ò28÷+òòLò
ò"ò
ò+ò"!.òF
÷ð r.   r   )Ú
__future__r   r   rw   rR   Úxml.etree.ElementTreer   r   Úmercurial.i18nr   Ú	mercurialr   r   r	   Úmercurial.utilsr
   r9   r   r   r   r   r   © r.   r,   Ú<module>rÐ      sT   ðõ #ã 	Û 	Û ÷õ
 ÷ñ õ
 %Ý à	�‰€ôC�6×*Ñ*¨F×,>Ñ,>õ Cr.   