ó
    6°hZó  ã                  óv  • S SK Jr  S SKrS SKrS SK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JrJr  S SKJrJrJr  SSKJr  \R0                  r\R2                  r\R4                  r\R6                  r\R8                  r\R:                  r\R<                  r\R>                  r\R@                  r \RB                  r!\RD                  r"\RF                  r#\RH                  r$\RJ                  r% S SK&r&S SK'r&S SK(r&S SK)r&S SK*r&SSKJ+r+  S SK,r,\,RZ                  " S	S
\.S9  \&R^                  R`                    Sq2S r3S r4S r5S r6 " S S\75      r8S r9S r:S r;S r< " S S5      r=   S(S jr>S r? " S S5      r@ " S S\A5      rBS rCS rD\D\D\CS .rES! rF " S" S#\5      rGS$rHS% rI " S& S'\\5      rJg! \1 a    Sr& N…f = f))é    )ÚannotationsN)Ú_)ÚencodingÚerrorÚpycompatÚutilÚvfs)ÚdateutilÚprocutilÚ
stringutilé   )Úcommon)Ú	transportÚignorezsvn.core)ÚmoduleÚcategoryc                 ó’  • [         b  g [        R                  (       a  Sq OK[        R                  " 5          [
        R                  " [
        R                  5      =(       d    Sq S S S 5        [        R                  " [         5      R                  q [         [        R                  " S5      R                  :H  qg ! , (       d  f       NZ= f)NÚmbcsz
ISO-8859-1úutf-8)Ú
fsencodingr   Ú	iswindowsr   Úwith_lc_ctypeÚlocaleÚnl_langinfoÚCODESETÚcodecsÚlookupÚnameÚfsencoding_is_utf8© ó    Ú:/usr/lib/python3/dist-packages/hgext/convert/subversion.pyÚinit_fsencodingr#   O   s~   € äÑØÜ××ð ‰
ô ×ÒÕ!Ü×+Ò+¬F¯N©NÓ;×K¸|ˆJ÷ "ä—’œzÓ*×/Ñ/€JÜ#¤v§}¢}°WÓ'=×'BÑ'BÑBÑ÷ "Õ!ús   ¶.B8Â8
Cc                ód   • [         (       a  U $ U R                  [        5      R                  S5      $ )Nr   )r   Údecoder   Úencode©Úss    r"   Úfs2svnr)   `   s'   € ßÒØˆà�x‰xœ
Ó#×*Ñ*¨7Ó3Ð3r!   c                ó0   • [         R                  " U S5      $ )Ns   %Y-%m-%dT%H:%M:%S.000000Z)r
   Údatestr)Údates    r"   Úformatsvndater-   g   s   € Ü×Ò˜DÐ">Ó?Ð?r!   c                ó>   • [         R                  " U S S S-   S/5      $ )Né   s    UTCs   %Y-%m-%dT%H:%M:%S)r
   Ú	parsedater'   s    r"   Úparsesvndater1   k   s&   € ô ×Ò˜a  ˜f wÑ.Ð1EÐ0FÓGÐGr!   c                  ó   • \ rS rSrSrg)ÚSvnPathNotFoundér   r    N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__r    r!   r"   r3   r3   r   s   † Úr!   r3   c                ó  • U R                  SS5      nSn[        U5      S:”  a  [        US   5      nUS   R                  SS5      nSnSn[        U5      S:”  a)  US   R	                  S5      (       a  US   SS nSUS   -   nX4U4$ )	a�  Parse a revision string and return (uuid, path, revnum).
>>> revsplit(b'svn:a2147622-4a9f-4db4-a8d3-13562ff547b2'
...          b'/proj%20B/mytrunk/mytrunk@1')
('a2147622-4a9f-4db4-a8d3-13562ff547b2', '/proj%20B/mytrunk/mytrunk', 1)
>>> revsplit(b'svn:8af66a51-67f5-4354-b62c-98d67cc7be1d@1')
('', '', 1)
>>> revsplit(b'@7')
('', '', 7)
>>> revsplit(b'7')
('', '', 0)
>>> revsplit(b'bad')
('', '', 0)
ó   @r   r   ó   /r!   s   svn:é   N)ÚrsplitÚlenÚintÚsplitÚ
startswith)ÚrevÚpartsÚrevnumÚuuidÚmods        r"   ÚrevsplitrH   v   s•   € ð �J‰J�t˜QÓ€EØ€FÜ
ˆ5ƒz�Aƒ~Ü�U˜1‘X“ˆØ�!‰H�N‰N˜4 Ó#€EØ€DØ
€CÜ
ˆ5ƒz�Aƒ~˜% ™(×-Ñ-¨g×6Ñ6Ø�Q‰x˜˜ˆ|ˆØ�U˜1‘X‰oˆØ�fÐÐr!   c                ó.   • [         R                  U S5      $ )Ns   !$&'()*+,-./:=@_~)ÚurlreqÚquoter'   s    r"   rK   rK   ‘   s   € ô �<‰<˜Ð/Ó0Ð0r!   c                óP  •  [         R                  R                  [         R                  R	                  [        U 5      5      5      $ ! [         R                  R                   a     Of = f[        R                  R                  U 5      (       az  [        R                  R                  [        R                  " U 5      5      n [        R                  (       a  S[        R                  " U 5      -   n [        U 5      n S[        U 5      -  n [         R                  R	                  U 5      $ )zœConvert path or URL to a SVN URL, encoded in UTF-8.

This can raise UnicodeDecodeError if the path or URL can't be converted to
unicode using `fsencoding`.
r<   s	   file://%s)ÚsvnÚclientÚurl_from_pathÚcoreÚsvn_path_canonicalizer)   ÚSubversionExceptionÚosÚpathÚisdirÚnormpathr   Úabspathr   r   rK   )rT   s    r"   ÚgeturlrX   œ   sÎ   € ðÜ�z‰z×'Ñ'Ü�H‰H×*Ñ*¬6°$«<Ó8ó
ð 	
øô �8‰8×'Ñ'ó áðúô 
‡w�w‡}�}�T×ÑÜ�w‰w×Ñ¤§¢¨TÓ 2Ó3ˆÜ××Øœ$Ÿ-š-¨Ó-Ñ-ˆDô �d‹|ˆØœe D›kÑ)ˆÜ�8‰8×)Ñ)¨$Ó/Ð/s   ‚AA ÁA(Á'A(c                ó    • [         R                  R                  5       n[         R                  R                  Ul        XR
                  l        U$ ©N)rM   rP   Úsvn_opt_revision_tÚsvn_opt_revision_numberÚkindÚvalueÚnumber)r_   Úoptrevs     r"   r`   r`   ´   s4   € Ü�X‰X×(Ñ(Ó*€FÜ—(‘(×2Ñ2€F„KØ ‡L�LÔØ€Mr!   c                  ó   • \ rS rSrS rSrg)Úchangedpathé»   c                ój   • UR                   U l         UR                  U l        UR                  U l        g rZ   )Úcopyfrom_pathÚcopyfrom_revÚaction)ÚselfÚps     r"   Ú__init__Úchangedpath.__init__¼   s%   € ØŸ_™_ˆÔØŸN™NˆÔØ—h‘hˆ�r!   )rg   re   rf   N)r5   r6   r7   r8   rj   r9   r    r!   r"   rb   rb   »   s   † õr!   rb   c           
     óì  ^ ^• SmU U4S jn [         R                  " US9n	[        R                  R	                  U	R                  UUUUUUU5        [
        R                  " S T T5        T R                  5         [        R                  " S5        g ! [         a    [
        R                  " S T T5         NK[         a6  n
[
        R                  " [        R                  " U
5      T T5         S n
A
N…S n
A
ff = f)Néÿÿÿÿc                ó’   >• 0 nU b&  U R                  5        H  u  px[        U5      Xg'   M     [        R                  " XaX#U4T	T
5        g rZ   )Úitemsrb   ÚpickleÚdump)Ú
orig_pathsrE   Úauthorr,   ÚmessageÚpoolÚpathsÚkÚvÚfpÚprotocols            €€r"   ÚreceiverÚget_log_child.<locals>.receiverÎ   sE   ø€ ØˆØÑ!Ø"×(Ñ(Ö*‘�Ü& q›>�“ñ +ä�Š�U F°'Ð:¸BÀÕIr!   ©Úurlr   )r   ÚSvnRaTransportrM   ÚraÚget_logrp   rq   ÚOSErrorÚ	Exceptionr   ÚforcebytestrÚflushrS   Ú_exit)ry   r~   rv   ÚstartÚendÚlimitÚdiscover_changed_pathsÚstrict_node_historyr{   ÚtÚinstrz   s   `          @r"   Úget_log_childrŽ   Â   sÅ   ù€ ð €HöJð(ô ×$Ò$¨Ñ-ˆÜ�‰�‰Ø�D‰DØØØØØ"ØØô		
ô  	�Š�D˜"˜hÔ'Ø‡H�H„Jô ‡H‚HˆQ…Køô ó (ä�Š�D˜"˜hÖ'Üó AÜ�Š”J×+Ò+¨DÓ1°2°x×@Ñ@ûðAús   �AB Â"C3Â4	C3Â=,C.Ã.C3c                ó   • [         R                  " 5          [        c  [        R                  " [        S5      5      e[        U R                  R                  5       5      n[        U R                  /UQ76   SSS5        g! , (       d  f       g= f)zaFetch SVN log in a subprocess and channel them back to parent to
avoid memory collection issues.
Ns5   debugsvnlog could not load Subversion python bindings)r   r   rM   r   ÚAbortr   Ú
decodeargsÚfinÚreadrŽ   Úfout)ÚuiÚoptsÚargss      r"   Údebugsvnlogr˜   ñ   sb   € ô 
×	Ò	Õ	Ü‰;Ü—+’+ÜÐJÓKóð ô ˜"Ÿ&™&Ÿ+™+›-Ó(ˆÜ�b—g‘gÐ% Ó%÷ 
×	Ö	ús   –A A?Á?
Bc                  ó*   • \ rS rSrSrS rS rS rSrg)Ú	logstreaméÿ   z$Interruptible revision log iterator.c                ó   • Xl         g rZ   ©Ú_stdout)rh   Ústdouts     r"   rj   Úlogstream.__init__  s   € Ø�r!   c              #  ó8  #   •   [         R                  " U R                  5      n Uu  p#pEnUv •  M.  ! [         a     [        R
                  " [        S5      5      ef = f! [        [        4 a(    Uc   g [        R
                  " [        S5      U-  5      ef = f7f)Nó>   Mercurial failed to run itself, check hg executable is in PATHs   log stream exception '%s')	rp   Úloadrž   ÚEOFErrorr   r�   r   Ú	TypeErrorÚ
ValueError)rh   Úentryrr   rE   rs   r,   rt   s          r"   Ú__iter__Úlogstream.__iter__  s¤   é € ØðÜŸš D§L¡LÓ1�ðKØ<AÑ9�
 F°'ð
 ŠKñ! øô ó Ü—k’kÜð5óóð ðûô œzÐ*ó KØ‘=ÙÜ—k’k¤!Ð$@Ó"AÀEÑ"IÓJÐJðKüs6   ‚B… 2 ¦A ¬B²*AÁBÁBÁ2BÁ4#BÂBc                ój   • U R                   (       a"  U R                   R                  5         S U l         g g rZ   )rž   Úclose©rh   s    r"   r«   Úlogstream.close  s%   € Ø�<�<Ø�L‰L×ÑÔ ØˆD�Lð r!   r�   N)	r5   r6   r7   r8   Ú__doc__rj   r¨   r«   r9   r    r!   r"   rš   rš   ÿ   s   † Ù.òòõ& r!   rš   c                  ó.   • \ rS rSrSr   SS jrS rSrg)Údirectlogstreami  z—Direct revision log iterator.
This can be used for debugging and development but it will probably leak
memory and is not suitable for real conversions.c           
     óš   ^ • U 4S jn[         R                  " US9n	[        R                  R	                  U	R                  UUUUUUU5        g )Nc                ó„   >• 0 nU b&  U R                  5        H  u  px[        U5      Xg'   M     T	R                  XaX#U45        g rZ   )ro   rb   Úappend)
rr   rE   rs   r,   rt   ru   rv   rw   rx   rh   s
            €r"   r{   Ú*directlogstream.__init__.<locals>.receiver-  sA   ø€ ØˆEØÑ%Ø&×,Ñ,Ö.‘D�AÜ*¨1›~�E“Hñ /à�K‰K˜¨°gÐ>Õ?r!   r}   )r   r   rM   r€   r�   )
rh   r~   rv   r‡   rˆ   r‰   rŠ   r‹   r{   rŒ   s
   `         r"   rj   Údirectlogstream.__init__#  sG   ø€ õ	@ô ×$Ò$¨Ñ-ˆÜ�‰�‰Ø�D‰DØØØØØ"ØØõ		
r!   c                ó   • g rZ   r    r¬   s    r"   r«   Údirectlogstream.closeB  s   € Ør!   r    N©r   TF)r5   r6   r7   r8   r®   rj   r«   r9   r    r!   r"   r°   r°     s   † ñ8ð Ø#Ø!ô
õ>r!   r°   c                óœ   • S HF  n[         R                  R                  [         R                  R                  X5      5      (       a  MF    g   g)N)s   locksó   hookss   formató   dbFT)rS   rT   ÚexistsÚjoin)r•   rT   ÚprotoÚxs       r"   Ú	filecheckrÀ   I  s4   € Û3ˆÜ�w‰w�~‰~œbŸg™gŸl™l¨4Ó3×4Ó4Ùñ 4ð r!   c                óœ  •  [         R                  5       nUR                  [        R                  " SX!4-  5      S5      nUR                  5       nSU;   $ ! [        R                   aW  nUR                  S:w  a  U R                  [        S5      5         S nAgUR                  R                  5       n S nASU;   $ S nAf[         a     gf = f)Ns   %s://%s/!svn/ver/0/.svns   rbi”  sw   svn: cannot probe remote repository, assume it could be a subversion repository. Use --source-type if you know better.
TFs#   <m:human-readable errcode="160013">)rJ   ÚbuildopenerÚopenr   Ústrurlr“   ÚurlerrÚ	httperrorÚcodeÚwarnr   ry   rƒ   )r•   rT   r¾   ÚopenerÚrspÚdatar�   s          r"   Ú	httpcheckrÌ   S  s¾   € ðÜ×#Ñ#Ó%ˆØ�k‰kÜ�OŠOÐ6¸%¸ÑFÓGÈó
ˆð �x‰x‹zˆð  2°TÑ9Ð9øô ×Ñó Ø�9‰9˜Óà�G‰GÜð&óôô Ø�w‰w�|‰|‹~Œð 2°TÑ9Ð9ûô ó áðús$   ‚AA ÁCÁ)*B;ÂB;Â;CÃ
C)ó   https   httpsó   filec                óŠ  •  UR                  SS5      u  p#US:X  a¼  [        R                  (       aF  US S S:X  a=  USS R                  5       (       a%  USS R	                  5       S:X  a  US S S-   USS  -   n UR                  [        5      n[        R                  U5      nSU;   a  U R                  [        S5      5        g
UR                  [        5      nUS:X  a  [        R"                  " U5      nO<US;   a6  [$        R&                  " U5      (       d  U R                  [        S5      5        g
[(        R+                  US 5      nSU;   a,  U" XU5      (       a  gUR-                  SS5      S   nSU;   a  M,  g
! [         a8    U R                  [        S	5      [        R                  " [        5      -  5         g
f = f! [         ax    Sn[        R                   " U5      n UR                  [        5         GN#! [         a9    U R                  [        S5      [        R                  " [        5      -  5          g
f = ff = f)Ns   ://r   rÎ   r<   é   é   s   %3a/s   :/sf   Subversion requires that file URLs can be converted to Unicode using the current locale encoding (%s)
Fu   ï¿½sI   Subversion does not support non-UTF-8 percent-encoded bytes in file URLs
sb   Subversion requires that paths can be converted to Unicode using the current locale encoding (%s)
)rÍ   Úhttpssc   Subversion sources don't support non-ASCII characters in HTTP(S) URLs. Please percent-encode them.
c                 ó   • g)NFr    )r—   s    r"   Ú<lambda>Úissvnurl.<locals>.<lambda>¹  s   € ¨er!   Tr   )rA   r   r   ÚisalphaÚlowerr%   r   ÚUnicodeDecodeErrorrÈ   r   ÚsysbytesrJ   Úurl2pathnamer&   r¦   r   rW   Úpconvertr   Ú
isasciistrÚprotomapÚgetr>   )r•   r~   r¾   rT   ÚunicodepathÚchecks         r"   Úissvnurlrá   s  s5  € ð9Ø—i‘i ¨Ó*‰ˆØ�GÓä×"×"Ø˜˜!�H Ó$Ø˜˜1�I×%Ñ%×'Ñ'Ø˜˜1�I—O‘OÓ%¨Ó0à˜B˜Q�x %Ñ'¨$¨q¨r¨(Ñ2�ð
Ø"Ÿk™k¬*Ó5�ô" !×-Ñ-¨kÓ:ˆKØ*¨kÓ9Ø—‘Üð@óôð ð ×%Ñ%¤jÓ1ˆDð �ÓÜ�}Š}˜TÓ"‰Ø	Ð$Ó	$Ü×"Ò" 4×(Ñ(Ø�G‰GÜðCóôð Ü�L‰L˜Ñ 3Ó4€EØ
�$‹,Ù�˜5×!Ñ!ØØ�{‰{˜4 Ó# AÑ&ˆð �$�,ð øô} &ó Ø—‘ÜðOóô ×'Ò'¬
Ó3ñ	4ôñ ðûô@ ó ØˆÜ�|Š|˜CÓ ˆð
	Ø�K‰Kœ
×#øÜ!ó 	Ø�G‰GÜðHóô ×#Ò#¤JÓ/ñ	0ôò ð	úðúsT   ‚A5G  Á8E; Â5G  ÃG  Å;?F=Æ:G  Æ<F=Æ=G  Ç "IÇ#G;Ç;?H>È:IÈ=H>È>Ic                  óÚ   ^ • \ 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S jrS rS rS rSS jrS rSS jrS rS rS rS rS rSS jrSS jr   SS jrSrU =r$ )Ú
svn_sourceiÏ  c                ót  >• [         T
U ]  XX4S9  [        5         UR                  S5      (       d£  UR                  S5      (       d�  [        R
                  R                  U5      (       aB  [        R
                  R                  [        R
                  R                  US5      5      (       d'  [        X5      (       d  [        [        S5      U-  5      e[        c#  [        [        S5      [        S5      S-  -   5      e [        R                  R                  [        R                  R                  4nUS	:  a&  [        [        S
5      U-  [        S5      S-  -   5      e 0 U l        S n UR%                  S5      nUS:¼  a  ['        X7S-   S  5      nUS U n[+        U5      U l        SU l         [0        R2                  " 5          [4        R6                  " U R,                  S9U l        U R4                  R8                  U l        U R4                  R:                  U l        [        R8                  R?                  U R8                  5      U l         [B        RE                  U R,                  [G        U R@                  5      S  5      U l$        S U l%        U RH                  U l&        0 U l'        0 U l(        [        R8                  RS                  U R8                  5      U l*        S S S 5        U(       a=  [G        U5      S:”  a  [\        R^                  " [        S5      5      e ['        US   5      nU R`                  Rc                  SS5      n	U	c  Sn	U	Re                  S5      U l3        U R`                  Rc                  SS5      U l4         ['        U Rh                  5      U l4        U Rh                  S:  a  SU l4         [0        R2                  " 5          U Rk                  U RH                  U5      U l6        S S S 5        U Rl                  (       d,  [\        R^                  " [        S5      U RH                  -  5      eU Rq                  U Rl                  5      U l9        SU l:        [        R
                  R                  [        R
                  R                  US5      5      (       a  X0l;        OS U l;        S U l<        g ! [          a$    [        [        S5      [        S5      S-  -   5      ef = f! [(         a     GNSf = f! , (       d  f       GN= f! [        R                  RV                   a„    URY                  5         S[        R                  R                  [        R                  R                  [        R                  RZ                  4-  n[        [        S5      U R,                  U4-  5      ef = f! [(         a&    [\        R^                  " [        S5      US   -  5      ef = f! [(         a-    [\        R^                  " [        S5      U Rh                  -  5      ef = f! , (       d  f       GN1= f! [n         a    S U l6         GNHf = f) N)Úrevss   svn://s
   svn+ssh://ó   .svns-   %s does not look like a Subversion repositorys)   could not load Subversion python bindingss     (try installing the %s package)s   python3-subversion)r   r=   s=   Subversion python bindings %d.%d found, 1.4 or later requireds    (try upgrading the %s package)s   python-subversions=   Subversion python bindings are too old, 1.4 or later requiredr;   r   r   s   UTF-8r}   s   %d.%d.%dsB   %s does not look like a Subversion repository to libsvn version %ss@   subversion source does not support specifying multiple revisionss"   svn: revision %s is not an integeró   converts	   svn.trunkó   trunkr<   s   svn.startrevs(   svn: start revision %s is not an integeró   no revision found in module %s©NNs   .svn/entries)=Úsuperrj   r#   rB   rS   rT   r¼   r½   rá   ÚNoRepor   rM   ÚMissingToolrP   ÚSVN_VER_MAJORÚSVN_VER_MINORÚAttributeErrorÚlastrevsÚrfindr@   r¦   rX   r~   r   r   r   r   r   r€   rN   ÚctxÚget_repos_rootÚbaseurlrJ   Úunquoter?   r   Ú
prevmoduleÚ
rootmoduleÚcommitsrv   Úget_uuidrF   rR   Ú	tracebackÚSVN_VER_MICROr   r�   r•   ÚconfigÚstripÚ	trunknameÚstartrevÚlatestÚheadr3   rE   Úlast_changedÚ_changescacheÚwcÚ	convertfp)rh   r•   Úrepotyper~   rå   Úversionr  ÚatÚ
svnversionÚtrunkcfgÚ	__class__s             €r"   rj   Úsvn_source.__init__Ð  s  ø€ Ü‰Ñ˜ sÐÑ6äÔà�N‰N˜9×%Ñ%Ø�~‰~˜m×,Ñ,ä—‘—‘˜s×#Ñ#Ü—G‘G—N‘N¤2§7¡7§<¡<°°WÓ#=×>Ñ>ä˜× Ñ äÜÐBÓCÀcÑIóð ô ‰;ÜœaÐ LÓMÜÐ CÓDÐG\Ñ\ñ]ó ^ð ^ð	Ü—h‘h×,Ñ,¬c¯h©h×.DÑ.DÐDˆGØ˜ÓÜ!Üð1óð ñ	ô
 Ð8Ó9Ð<PÑPñQóð ð  ð$ ˆŒàˆð	ð —‘˜4“ˆBØ�Q‹wÜ˜S a¡ ˜]Ó+�Ø˜#˜2�h�ô ˜#“;ˆŒØ ˆŒð	Ü×#Ò#Õ%Ü!*×!9Ò!9¸d¿h¹hÑ!G�”ØŸ.™.×+Ñ+�”ØŸ>™>×0Ñ0�”Ü"Ÿv™v×4Ñ4°T·W±WÓ=�”ô %Ÿn™n¨T¯X©X´c¸$¿,¹,Ó6GÐ6IÐ-JÓK�”Ø"&�”Ø"&§+¡+�”Ø!�”Ø�”
ÜŸF™FŸO™O¨D¯G©GÓ4�”	÷ &ö8 Ü�4‹y˜1‹}Ü—k’kÜð9óóð ðÜ˜T !™W›�ð —7‘7—>‘> *¨lÓ;ˆØÑØˆHØ!Ÿ™¨Ó-ˆŒØŸ™Ÿ™ z°?ÓCˆŒð	Ü §¡Ó.ˆDŒMØ�}‰}˜qÓ Ø !�”ð	Ü×#Ò#Õ%Ø ŸK™K¨¯©°VÓ<�”	÷ &ð �y�yÜ—+’+ÜÐ3Ó4°t·{±{ÑBóð ð !ŸK™K¨¯	©	Ó2ˆÔà)ˆÔä�7‰7�>‰>œ"Ÿ'™'Ÿ,™, s¨OÓ<×=Ñ=Ø�GàˆDŒGØˆ�øôE ó 	ÜÜð)óô Ð4Ó5Ð8LÑLñ	Móð ð	ûô& ó 	Úð	ú÷
 &Ö%ûô �x‰x×+Ñ+ó 	Ø�L‰LŒNØ$Ü—‘×&Ñ&Ü—‘×&Ñ&Ü—‘×&Ñ&ð(ñ ˆJô
 Üð,óð —8‘8˜ZÐ(ñ	)óð ð	ûô2 ó Ü—k’kÜÐ;Ó<¸tÀA¹wÑFóð ðûô ó 	Ü—+’+ÜÐ=Ó>ÀÇÁÑNóð ð	ú÷ &Ö%ûäó 	ØˆD�Ið	ús“   Ã>A R* Å),S Æ-S> ÇDS,ËS> ÌV# Í=1W Î/X" Ï"XÏ&X" Ò*.SÓ
S)Ó(S)Ó,
S;Ó6S> Ó;S> Ó>B"V Ö#0W×7XØ
XØX" ØX" Ø"X7Ø6X7c                ól   • [         R                  " 5       U l        U R                  R                  5         g rZ   )r   r   Ú	__enter__r¬   s    r"   ÚbeforeÚsvn_source.beforeS  s%   € Ü!×/Ò/Ó1ˆÔØ×Ñ×$Ñ$Õ&r!   c                ó>   • U R                   R                  S S S 5        g rZ   )r   Ú__exit__r¬   s    r"   ÚafterÚsvn_source.afterW  s   € Ø×Ñ×#Ñ# D¨$°Õ5r!   c                óz   • 0 nU H-  n[        U5      u  pEnUR                  XV5      nXg:”  d  M)  XbU'   M/     X l        g rZ   )rH   Ú
setdefaultrñ   )rh   Úrevmaprñ   ÚrevidrF   r   rE   Ú
lastrevnums           r"   Ú	setrevmapÚsvn_source.setrevmapZ  sD   € ØˆÛˆEÜ#+¨E£?Ñ ˆD˜&Ø!×,Ñ,¨VÓ<ˆJØÕ"Ø#)˜Ó ñ	 ð
 !�r!   c                óö   •  [         R                  R                  U R                  R	                  S5      S-   [        U5      -   USU R                  5        g! [         R                  R                   a     gf = f)Nr<   FT)	rM   rN   Úlsr~   ÚrstriprK   ró   rP   rR   )rh   rT   r`   s      r"   r¼   Úsvn_source.existsc  sc   € ð		Ü�J‰J�M‰MØ—‘—‘ Ó%¨Ñ,¬u°T«{Ñ:ØØØ—‘ô	ð øÜ�x‰x×+Ñ+ó 	Ùð	ús   ‚AA ÁA8Á7A8c                ó  ^ • U 4S jnU 4S jn[        T R                  5      nSnU" SU5      nU" SU5      T l        U" SU5      nU(       a•  T R                  =(       d    SnT =R                  SU-   -  sl        T R	                  T R                  T R                  5      T l        T R
                  (       d,  [        R                  " [        S5      T R                  -  5      eT R
                  /T l	        T R                  b  S	UT R                  =(       d    S4-  T l        U(       Ga(  T R                  R                  S5      n[        R                  R                  US-   [        U5      -   US
T R                   5      n[#        U5       HÃ  n	SXFU	4-  n
U" U
T R                  5      (       d  M$  T R	                  U
T R                  5      nU(       d)  T R$                  R'                  [        S5      U	-  5        Mp  T R$                  R'                  [        S5      U	T R)                  U5      4-  5        T R                  R+                  U5        MÅ     T R,                  (       a£  T R                  (       a’  [/        T R                  5      S:”  a  [        R                  " [        S5      5      eT R)                  T R                  S   5      nUT R,                  :  a,  [        R                  " [        S5      T R,                  -  5      eT R                  $ )Nc                ó`   >• TR                  X5      nU[        R                  R                  :H  $ rZ   )Ú
_checkpathrM   rP   Úsvn_node_dir)rT   rE   r]   rh   s      €r"   rU   Ú"svn_source.getheads.<locals>.isdirp  s&   ø€ Ø—?‘? 4Ó0ˆDØœ3Ÿ8™8×0Ñ0Ñ0Ð0r!   c                óô  >• TR                   R                  SSU -   5      nUb  UR                  5       S:X  a  g U=(       d    U R                  S5      nTR                  X15      (       dR  TR                  R                  U5      (       a  U S:X  a  g U(       a#  [        R                  " [        S5      X4-  5      eg TR                   R                  [        S5      U [        R                  " U5      4-  5        U$ )Nrç   s   svn.r!   r<   rè   s&   expected %s to be at %r, but not founds   found %s at %r
)r•   rý   rþ   r¼   r   Úendswithr   r�   r   Únoter   Úbytestr)r   rC   ÚcfgpathrT   rh   s       €r"   Ú
getcfgpathÚ'svn_source.getheads.<locals>.getcfgpatht  sÔ   ø€ Ø—g‘g—n‘n Z°¸4±Ó@ˆGØÑ" w§}¡}£¸#Ó'=ØØ—O˜t×*Ñ*¨4Ó0ˆDØ—;‘;˜t×)Ñ)Ø—;‘;×'Ñ'¨×-Ñ-°$¸(Ó2BàÞÜŸ+š+ÜÐCÓDØ˜,ñ'óð ð Ø�G‰G�L‰LÜÐ%Ó&¨$´×0@Ò0@ÀÓ0FÐ)GÑGôð ˆKr!   r!   rè   s   tagss   branchesr<   ré   s   %s/%sFs   %s/%s/%ss   ignoring empty branch %s
s   found branch %s at %d
r   s>   svn: start revision is not supported with more than one branchr   s.   svn: no revision found after start revision %d)r`   r  Útagsr   r  r  r   r�   r   Úheadsr~   rþ   rM   rN   r  rK   ró   Úsortedr•   r(  rE   r³   r   r?   )rh   rU   r+  rC   Ú	oldmoduleÚtrunkÚbranchesÚrpathÚbranchnamesÚbranchr   ÚbrevidrE   s   `            r"   ÚgetheadsÚsvn_source.getheadso  sn  ø€ õ	1õ	ô( �T×&Ñ&Ó'ˆØˆ	Ù˜8 SÓ)ˆÙ˜w¨Ó,ˆŒ	Ù˜k¨3Ó/ˆö ØŸ™×* sˆIØ�KŠK˜4 %™<Ñ'�KØŸ™ D§K¡K°×1BÑ1BÓCˆDŒIØ—9—9Ü—k’kÜÐ7Ó8¸4¿;¹;ÑFóð ð
 —i‘i�[ˆŒ
Ø�9‰9Ñ Ø  I°·	±	×0D¸WÐ#FÑFˆDŒI÷ Ø—H‘H—N‘N 4Ó(ˆEÜŸ*™*Ÿ-™-Ø˜‘œu X›Ñ.°°U¸D¿H¹HóˆKô ! Ö-�Ø$¨	¸VÐ'DÑD�Ù˜V T×%6Ñ%6×7Ñ7ÙØŸ™ V¨T×->Ñ->Ó?�ÞØ—G‘G—L‘L¤Ð#@Ó!AÀFÑ!JÔKÙØ—‘—‘ÜÐ0Ó1Ø˜tŸ{™{¨6Ó2Ð3ñ4ôð —
‘
×!Ñ! &Ö)ñ .ð �=�=˜TŸZŸZÜ�4—:‘:‹ Ó"Ü—k’kÜð5óóð ð —[‘[ §¡¨A¡Ó/ˆFØ˜Ÿ™Ó%Ü—k’kÜÐGÓHØ—m‘mñ$óð ð
 �z‰zÐr!   c                ój  • U R                   U   u  p40 nU(       a  U R                  XU5      u  o`l        nU(       d  U(       d¶  [        U5      u  pxn	[        R
                  R                  U R                  [        U5      -   [        U	5      SU R                  5      n
U
R                  5        VVs/ s H1  u  p¼UR                  [        R                  R                  :X  d  M/  UPM3     nnn[        5       U l        WR!                  5         ["        R$                  " Xa/['        U5      -  5      nXe4$ s  snnf ©NT)rv   ÚexpandpathsÚremovedrH   rM   rN   r  rõ   rK   r`   ró   ro   r]   rP   Úsvn_node_fileÚsetÚsortr   Úziplistr?   )rh   rC   Úfullrv   ÚparentsÚcopiesÚfilesrF   r   rE   ÚentriesÚnÚes                r"   Ú_getchangesÚsvn_source._getchangesÃ  sò   € ØŸ:™: c™?ÑˆØˆÞØ*.×*:Ñ*:¸3ÀwÓ*OÑ'ˆE”< Þ–wä#+¨C£=Ñ ˆD˜&Ü—j‘j—m‘mØ—‘œu V›}Ñ,¬f°V«n¸dÀDÇHÁHóˆGð
 $ŸM™MœOôâ+‘D�AØ—6‘6œSŸX™X×3Ñ3Ñ3÷ Ù+ð ñ ô
 ›5ˆDŒLà�
‰
ŒÜ× Ò  ¨´°E³
Ñ(:Ó;ˆØˆÐùós   Â/.D/Ã!D/c                ó²   • U R                   S   U:X  a  U(       d  U R                   S   u  p4O U R                  X5      u  p4U R                  U	 X4[        5       4$ )Nr   r   )r  rH  rv   r>  )rh   rC   rA  rD  rC  s        r"   Ú
getchangesÚsvn_source.getchangesÙ  sY   € à×Ñ˜aÑ  CÓ'¶ð #×0Ñ0°Ñ3‰OˆU�Fð #×.Ñ.¨sÓ9‰OˆUà—
‘
˜3�Øœs›uÐ%Ð%r!   c                ór   • U R                  US5      u  p4XU44U l        U Vs/ s H  oUS   PM	     sn$ s  snf )NFr   )rH  r  )rh   rC   ÚirD  rC  Úfs         r"   ÚgetchangedfilesÚsvn_source.getchangedfilesé  s?   € à×*Ñ*¨3°Ó6‰ˆØ!¨6 ?Ð3ˆÔÙ#Ó$še˜�!”™eÑ$Ð$ùÒ$s   £4c                óv  • XR                   ;  a�  [        U5      u  p#nX0l        U R                  U5        U R                  R                  US5      nXE:  a  US-   nU R                  XE5        XR                   ;  a"  [        R                  " [        S5      U-  5      eU R                   U   nU R                   U	 U$ )Nr   r   s   svn: revision %s not found)
rù   rH   r   Úreparentrñ   rÞ   Ú_fetch_revisionsr   r�   r   )rh   rC   rF   r   rE   ÚstopÚ	revcommits          r"   Ú	getcommitÚsvn_source.getcommitï  s£   € Ø—l‘lÓ"Ü#+¨C£=Ñ ˆD˜&Ø ŒKØ�M‰M˜&Ô!ð —=‘=×$Ñ$ V¨QÓ/ˆDØ‹}Ø ‘z�Ø×!Ñ! &Ô/ØŸ,™,Ó&Ü—k’k¤!Ð$AÓ"BÀVÑ"KÓLÐLØ—L‘L Ñ%ˆ	à�L‰L˜ÐØÐr!   c                ó‚   • [         R                  " SU5      (       d#  [        R                  " [	        S5      X!4-  5      eg)z:fails if revision format does not match the correct formatsW   svn:[0-9a-f]{8,8}-[0-9a-f]{4,4}-[0-9a-f]{4,4}-[0-9a-f]{4,4}-[0-9a-f]{12,12}(.*)@[0-9]+$s.   %s entry %s is not a valid revision identifierN)ÚreÚmatchr   r�   r   )rh   ÚrevstrÚmapnames      r"   ÚcheckrevformatÚsvn_source.checkrevformat  sI   € ä�xŠxð$ð ÷	
ñ 
ô —+’+ÜÐCÓDØÐ#ñ$óð ð
r!   c                ól   • [        U R                  R                  SS5      S   5      U R                  -
  $ )Nr;   r   )r@   r  r>   r   r¬   s    r"   Ú
numcommitsÚsvn_source.numcommits  s,   € Ü�4—9‘9×#Ñ# D¨!Ó,¨QÑ/Ó0°4·=±=Ñ@Ð@r!   c           	     ó²  • 0 nU R                   c  U$ / nU R                   n[        R                  R                  U R                  5      nU R	                  U R                   /X@R
                  5      n U GH˜  nUu  pxpšnU(       d  / nUR                  5        VVs/ s H1  u  pÍUR                  (       d  M  UR                  UR                  U4PM3     nnnUR                  SS9  UnU(       a  US   S   U:X  a  UR                  5       S   nU Hv  u  nnnUR                  US-   5      (       d  M"  U H:  nUS   R                  U5      (       d  M  UUS   [        U5      S  -   nUU/US S&   M`     UR                  UUU/5        Mx     UR                  5        VVs0 s H6  u  pÍUR                  S:X  d  M  UR                  (       d  M*  XÍR                  _M8     nnn[        5       nU HY  nU HP  u  nnnUR                  US-   5      (       a  UR                  UU   S-   5      (       a  M>  UR!                  U5          MW     M[     U H>  nU Vs/ s H.  nUS   U:w  d  M  US   R                  US-   5      (       a  M,  UPM0     nnM@     / nU Hx  u  nnnUR#                  S5      S   nUR                  U5      (       a  UR                  UUU/5        MG  UU;   a  MO   U R%                  UU5      nU(       a  UU;  a  UUU'   Mv  Mx  Mz     UnUnGM›     UR)                  5         U$ s  snnf s  snnf s  snf ! [&         a     Mµ  f = f! UR)                  5         f = f)NT)Úreverserm   rÐ   r   r<   ó   A)r-  rM   r€   Úget_latest_revnumÚ_getlogr   ro   re   rf   r?  ÚpoprB   r?   r³   rg   r>  ÚaddrA   r  r3   r«   )rh   r-  ÚpendingsÚtagspathr‡   Ústreamr§   Ú	origpathsrE   rs   r,   rt   ri   rG  rC  ÚsrctagspathÚsourceÚ	sourcerevÚdestÚtagÚtagpathÚaddedsÚbadrootsÚdestrootÚbadrootÚ	renamingsÚtagnameÚtagids                               r"   ÚgettagsÚsvn_source.gettags  sd  € ØˆØ�9‰9ÑØˆKð ˆØ—9‘9ˆÜ—‘×(Ñ(¨¯©Ó1ˆØ—‘˜tŸy™y˜k¨5·-±-Ó@ˆðS	Ü�Ø;@Ñ8�	 6°Þ Ø "�Ið !*§¡Ô 1ôâ 1™˜Ø—•ó 9�Q—_‘_ a§n¡n°aÓ8Ù 1ð ñ ð —‘ D�Ñ)à&�Þ˜f R™j¨™m¨xÓ7à"(§*¡*£,¨q¡/�Kã/5Ñ+�F˜I tØŸ?™?¨8°d©?×;Ñ;Ù Û'˜Ø˜q™6×,Ñ,¨T×2Ó2Ø&,¨s°1©v´c¸$³i°kÐ/BÑ&B˜GØ'.°	Ð&:˜C  ˜GÚ!ñ	  (ð !Ÿ™¨°¸DÐ(AÖBñ 06ð( !*§¡Ô 1ôâ 1™˜Ø—x‘x 4Ñ'ó 'à,-¯O­Oó '�A—‘Ò&Ù 1ð ñ ô
 ›5�Û &�HÛ3;Ñ/˜ 	¨4Ø#Ÿ™Ø$ t™O÷ ñ  à#×.Ñ.¨v°hÑ/?À$Ñ/F×GÑGÙ$Ø Ÿ™ XÔ.Úó 4<ñ !'ó  (�Gñ "*ó â!)˜AØ˜Q™4 7™?ó ð !" !¡§¡°¸$±× ?÷ Ù!)ð ð  ‘Hñ  (ð �	Û/7Ñ+�F˜I tØ"Ÿj™j¨Ó.¨rÑ2�GØ×(Ñ(¨×5Ñ5Ø!×(Ñ(¨&°)¸WÐ)EÔFÙ Ø $“á ð	Ø $§¡¨F°IÓ >˜Þ  W°DÓ%8Ø,1˜D ›Mñ &9™5ñ 08ð& %�Ø&“ña  ðd �L‰LŒNØˆùó_ùó>ùò  øô, +ó ò
 ðûð �L‰L�Nús‚   Á1(M ÂL"Â4L"ÃA:M ÅAM ÆL(Æ4L(ÇL(ÇA5M ÉL.ÉL.É;L.ÊAM Ë$L3Ë?M Ì"M Ì3
MÌ=M Í MÍM ÍMc           	     ón  • U R                   (       d  g U R                  c:  [        [        R                  R                  U R                   SS5      S5      U l        U R                  R                  [        R                  " SX R                  U5      4-  5      5        U R                  R                  5         g )Nræ   ó	   hg-shamapÚabs   %s %d
)r  r  rÃ   rS   rT   r½   Úwriter   ÚtonativeeolrE   r…   )rh   rC   Údestrevs      r"   Ú	convertedÚsvn_source.converted  s�   € Ø�w�wØØ�>‰>Ñ!Ü!Ü—‘—‘˜TŸW™W g¨|Ó<¸dóˆDŒNð 	�‰×ÑÜ×Ò˜Z¨7·K±KÀÓ4DÐ*EÑEÓFô	
ð 	�‰×ÑÕr!   c                óL   • SU R                   U=(       d    U R                  U4-  $ )Ns   svn:%s%s@%d)rF   r   )rh   rE   r   s      r"   r  Úsvn_source.revid‹  s!   € Ø §¡¨F×,A°d·k±kÀ6Ð JÑJÐJr!   c                ó<   • [        UR                  S5      S   5      $ )Nr;   rm   )r@   rA   ©rh   rC   s     r"   rE   Úsvn_source.revnumŽ  s   € Ü�3—9‘9˜T“? 2Ñ&Ó'Ð'r!   c                óV  ^ • SU 4S jjnUR                  T R                  5      (       d  T R                  R                  SU-  5        gUc)  [        R
                  R                  T R
                  5      n T R                  S5      n[        R
                  R                  T R
                  UR                  S5      U5      nT R                  U5        U(       d  [        [        S5      X4-  5      eU" XUR                  5      u  pgUc,  U" X5      u  pgUc  T R                  R                  SU-  5        gUR                  T R                  5      (       d  T R                  R                  SU-  5        gT R                  Xg5      $ ! [        R                  R                   a    Sn NÕf = f)	a-  Find the latest revid affecting path, up to stop revision
number. If stop is None, default to repository latest
revision. It may return a revision in a different module,
since a branch may be moved without a change being
reported. Return None if computed module does not belong to
rootmodule subtree.
Nc                óÔ  >• TR                  U /X=(       d    S5      n U H“  nUu  pVpxn	Uc	  U(       a    O‚Ub  Xb::  a    OxU Hn  n
U R                  U
5      (       a  XZ   R                  (       d  M.  XZ   R                  U [        U
5      S  -   nTR                  R                  SXU4-  5        Un   M‘     M•     W(       d  S nWU 4UR                  5         $ ! UR                  5         f = f)Nr   s#   branch renamed from %s to %s at %d
)rg  rB   re   r?   r•   Údebugr«   )rT   r‡   rU  rl  r§   rv   rE   rs   r,   rt   ri   Únewpathrh   s               €r"   ÚfindchangesÚ&svn_source.latest.<locals>.findchangesš  sÝ   ø€ Ø—\‘\ 4 &¨%·¸Ó;ˆFðÛ#�EØ;@Ñ8�E 6°Ø‘|®ñ ØÑ'¨F«NÙã"˜Ø#Ÿ™¨q×1Ñ1¸¹×9O×9OÙ$Ø"'¡(×"8Ñ"8¸4ÄÀAÃÀ¸>Ñ"I˜ØŸ™Ÿ™ØCØ#¨fÐ5ñ6ôð  '˜Úó #ñ $ö& Ø!�FØ˜t�|à—‘•ø�—‘•ús   ŸB%C ÃC's   ignoring foreign branch %r
r!   r<   s   %s not found up to revision %ds   ignoring empty branch %r
rZ   )rB   rø   r•   rŒ  rM   r€   rf  rS  Ústatrþ   rP   rR   r3   r   Úcreated_revr  )rh   rT   rU  rŽ  r÷   ÚdirentrE   Úrealpaths   `       r"   r  Úsvn_source.latest‘  s]  ø€ ÷	ð8 �‰˜tŸ™×/Ñ/à�G‰G�M‰MÐ9¸DÑ@ÔAØà‰<Ü—6‘6×+Ñ+¨D¯G©GÓ4ˆDð	ØŸ™ sÓ+ˆJÜ—V‘V—[‘[ §¡¨$¯*©*°TÓ*:¸DÓAˆFØ�M‰M˜*Ô%ö Ü!ÜÐ3Ó4¸°|ÑCóð ñ ' t°6×3EÑ3EÓFÑˆØ‰>ñ  +¨4Ó6ÑˆFØ‰~Ø—‘—‘Ð;¸hÑFÔGØà×"Ñ" 4§?¡?×3Ñ3Ø�G‰G�M‰MÐ9¸HÑDÔEØØ�z‰z˜&Ó+Ð+øô7 �x‰x×+Ñ+ó 	ØŠFð	ús   Á6AF Æ F(Æ'F(c                ó  • U R                   U:X  a  U$ U R                  [        U5      -   nU R                   nUc  SnU R                  R	                  SU-  5        [
        R                  R                  U R                  U5        Xl         U$ )z:Reparent the svn transport and return the previous parent.r!   s   reparent to %s
)r÷   rõ   rK   r•   rŒ  rM   r€   rS  )rh   r   Úsvnurlr÷   s       r"   rS  Úsvn_source.reparentÞ  sp   € à�?‰?˜fÓ$ØˆMØ—‘¤ f£Ñ-ˆØ—_‘_ˆ
ØÑØˆJØ�‰�‰Ð)¨FÑ2Ô3Ü�‰�‰˜Ÿ™ Ô(Ø ŒØÐr!   c                ó  • [        5       [        5       pT0 n[        U5      SS  u  pxXpR                  :w  a!  Xpl        U R                  U R                  5        U R                  R                  [        S5      [        S5      [        U5      S9n	[        U5       GH:  u  n
u  p¼U	R                  X«S9  U R                  U5      nU R                  XØ5      nU[        R                  R                  :X  aÕ  UR                  U R!                  U5      5        UR"                  (       a  U(       d  M’  [        US   5      SS  u  nnUR$                  U:  a  M¸  U R                  UR"                  U5      nU(       d  MÝ  U R                  R'                  SUUUR$                  4-  5        U R!                  U5      X`R!                  U5      '   GM-  US:X  Gah  U R                  R'                  SUR$                  -  5        [        US   5      SS  u  nnUS	-   U-   nU R                  UUU5      nU[        R                  R                  :X  a#  UR                  U R!                  U5      5        GMÌ  U[        R                  R(                  :X  a�  UR+                  S	5      nUR+                  S	5      nU R-                  UU5      nU HS  nUR/                  UU5      nU R                  S	U-   U5      nU(       d  M3  UR                  U R!                  U5      5        MU     GMz  U R                  R'                  S
X‹4-  5        GMœ  U[        R                  R(                  :X  d  GM½  UR0                  S:X  a  GMÐ  UR0                  S:X  aá  U(       aÚ  [        US   5      SS  u  nnU R                  UUU5      nU[        R                  R                  :X  a!  UR                  U R!                  U5      5        OtU[        R                  R(                  :X  aV  U R-                  UU5       H@  nU R                  S	U-   5      nU(       d  M   UR                  U R!                  U5      5        MB     U R-                  X¸5       H@  nU R                  S	U-   5      nU(       d  M   UR                  U R!                  U5      5        MB     UR"                  (       a  U(       d  GM1  [        US   5      SS  u  nnUR$                  U:  a  GMX  U R                  UR"                  U5      nU(       d  GM~  U R                  R'                  SUUUR$                  4-  5        U R-                  UR"                  UR$                  5      nU He  nU R                  S	U-   U5      nU(       d  M!  UU[        U5      S  -   nU R                  U5      nU R!                  U5      X`R!                  U5      '   Mg     GM=     U	R3                  5         UR                  U5        [5        U5      XV4$ )Nr   s   scanning pathss   paths)ÚunitÚtotal)Úitemr   s   copied to %s from %s@%d
s   gone from %d
r<   s    unknown path in revision %d: %s
ó   Mó   Rs   mark %s came from %s:%d
)r>  rH   r   rS  r•   Úmakeprogressr   r?   Ú	enumerateÚupdateÚ
getrelpathr#  rM   rP   r=  ri  Úrecodere   rf   rŒ  r$  rþ   Ú
_iterfilesÚreplacerg   ÚcompleteÚlist)rh   rC   rv   rB  Úchangedr<  rC  Ú
new_modulerE   ÚprogressrN  rT   ÚentÚ	entrypathr]   ÚpmoduleÚprevnumre   Ú
parentpathÚfromkindÚorootÚnrootÚchildrenÚ	childpathÚpkindÚcopyfrompathÚ
copytopaths                              r"   r;  Úsvn_source.expandpathsë  sð  € Ü›5¤#£%�Øˆä% c›]¨1¨2Ð.Ñˆ
ØŸ™Ó$Ø$ŒKØ�M‰M˜$Ÿ+™+Ô&à—7‘7×'Ñ'ÜÐÓ ¤q¨£{¼#¸e»*ð (ð 
ˆô (¨×.‰NˆA‰{�Ø�O‰O˜AˆOÑ)ØŸ™¨Ó-ˆIà—?‘? 9Ó5ˆDØ”s—x‘x×-Ñ-Ó-Ø—‘˜DŸK™K¨	Ó2Ô3Ø×(×(¶Ùô $,¨G°A©JÓ#7¸¸Ð#;Ñ �˜Ø×#Ñ# gÓ-ÙØ $§¡°×0AÑ0AÀ7Ó K�Þ$ÙØ—‘—‘Ø0Ø  -°×1AÑ1AÐBñCôð 26·±¸]Ó1K�—{‘{ 9Ó-Ô.Ø˜”Ø—‘—‘Ð/°#×2BÑ2BÑBÔCÜ#+¨G°A©JÓ#7¸¸Ð#;Ñ �˜Ø$ t™^¨iÑ7�
ØŸ?™?¨9°g¸wÓG�àœsŸx™x×5Ñ5Ó5Ø—K‘K §¡¨IÓ 6×7Ø¤§¡×!6Ñ!6Ó6Ø&×,Ñ,¨TÓ2�EØ ŸJ™J tÓ,�EØ#Ÿ™¨u°gÓ>�HÛ%-˜	Ø$-×$5Ñ$5°e¸UÓ$C˜	Ø$(§O¡O°D¸9Ñ4DÀgÓ$N˜	ß$˜9Ø#ŸK™K¨¯©°IÓ(>Ö?ô	 &.ð —G‘G—M‘MØ<À¸~ÑM÷ð œŸ™×.Ñ.Ö.Ø—:‘: Ó%ò Ø—:‘: Ó%®'ô (0°¸±
Ó';¸A¸BÐ'?Ñ$�G˜WØ ŸO™O¨I°wÀÓH�EØ¤§¡× 6Ñ 6Ó6ØŸ™ D§K¡K°	Ó$:Õ;Ø¤#§(¡(×"7Ñ"7Ó7ð *.¯©¸À'Ö)J˜IØ(,¯©¸¸yÑ8HÓ(I˜Iß(˜yØ '§¡¨D¯K©K¸	Ó,BÖ Cñ *Kð
 "&§¡°Ö!>�IØ $§¡°°yÑ0@Ó A�Iß �yØŸ™ D§K¡K°	Ó$:Ö;ñ "?ð ×(×(¶Úô $,¨G°A©JÓ#7¸¸Ð#;Ñ �˜Ø×#Ñ# gÓ-ÚØ#Ÿ™¨s×/@Ñ/@À'ÓJ�Þ#ÚØ—‘—‘Ø0Ø˜\¨3×+;Ñ+;Ð<ñ=ôð  Ÿ?™?¨3×+<Ñ+<¸c×>NÑ>NÓO�Û!)�IØ $§¡°°yÑ0@À'Ó J�IÞ$Ù Ø!%¨	´#°lÓ2CÐ2EÐ(FÑ!F�JØ!%§¡°Ó!<�JØ6:·k±kÀ)Ó6L�FŸ;™; zÓ2Ó3ô "*ñi /ðx 	×ÑÔØ�‰�wÔÜ�W“˜wÐ/Ð/r!   c                ó:  ^ ^• UT:  a  TUsnmS T l         U U4S jnT R                  R                  [        S5      T R                  UT4-  5         S nSnT R                  T R                  /UT5      n U Hp  nUu  p‰p«nU	T R                  :  a  Sn  OWU(       d.  T R                  R                  SU	-  5        U=(       d    U	S:H  nMR  U" X‰X«U5      u  pÕU(       a  UnU(       d  Mp    O   UR                  5         U(       d€  U(       ax  UR                  (       df   T R                  UR                  5      nUS:”  aC  T R                  T R                  US-
  5      nU(       a  UR                  R                  U5        g g g g g g ! UR                  5         f = f! [         a     g f = f! [        R                   R"                   aU  nUR$                  u  nnU[        R                   R&                  :X  a"  [(        R*                  " [        S5      T-  5      ee S nAff = f)	Nc           	     ó  >• TR                   R                  SU[        U 5      4-  5        SnTR                  U5      nUTR                  ;   d  UT:  a  SU4$ / n[        U R                  5       5      n U  VV	s/ s H*  u  p‰TR                  R                  U5      (       d  M'  X‰4PM,     n
nn	U
(       aÑ  U
S   u  p¼UR                  (       až  SnUR                  TR                  [        U5      S -   nTR                  XÜR                  5      nUbX  [        U5      SS u  nnUTR                  :¼  a7  U/nTR                   R                  [        S5      TR                  UU4-  5        OTR                   R                  S5        / nU  H+  u  p¼TR!                  U5      c  M  UR#                  X¼45        M-     [%        U5      nTR                   R'                  S	S
5      (       a  [)        US   5      nU(       a  TR+                  U5      nOSnU(       a  TR+                  U5      nOSn TR                  R-                  S5      S   nUTR.                  :X  a  Sn[3        U[4        R6                  " US5      UUUUS9nUTR                  U'   UUR8                  4TR:                  U'   TR<                  (       a5  TR<                  R8                  (       d  U/TR<                  R8                  SS& UTl        UU4$ s  sn	nf ! [0         a    Sn N²f = f)zTReturn the parsed commit object or None, and True if
the revision is a branch root.
s!   parsing revision %d (%d changes)
FNrm   Tr   s$   found parent of branch %s at %d: %s
s)   no copyfrom path, don't know what to do.
rç   s   localtimezoner   r!   r<   s   %Y-%m-%d %H:%M:%S %1%2)rs   r,   ÚdescrB  r5  rC   )r•   rŒ  r?   r  rù   r/  ro   r   rB   re   r  rf   rH   r   r(  r   r¡  r³   r1   Ú
configboolÚmakedatetimestampr¢  rA   rÿ   Ú
IndexErrorÚcommitr
   r+   rB  rv   Ú
child_cset)rr   rE   rs   r,   rt   ÚbranchedrC   rB  ri   rG  Ú
root_pathsrT   rª  r�  Úprevidr÷   r­  rv   Úlogr5  Úcsetrh   Ú	to_revnums                        €€r"   ÚparselogentryÚ2svn_source._fetch_revisions.<locals>.parselogentry]  sÔ  ø€ ð �G‰G�M‰MØ5Øœ3˜z›?Ð+ñ,ôð
 ˆHØ—*‘*˜VÓ$ˆCð �d—l‘lÓ" f¨yÓ&8Ø˜X�~Ð%àˆGô   
× 0Ñ 0Ó 2Ó3ˆJá#-ôÚ#-™4˜1°·±×1GÑ1GÈ×1J“�“¡:ð ñ ö Ø& r™N‘	�Ø×$×$Ø#�HØ!×/Ñ/°$·+±+¼cÀ$»i¸kÐ2JÑJ�Gà!Ÿ[™[¨×2BÑ2BÓC�FØÑ)Ü.6°vÓ.>¸q¸rÐ.BÑ+˜
 GØ" d§m¡mÓ3Ø'- h˜GØ ŸG™GŸL™LÜ !Ð"JÓ KØ#'§;¡;°¸Ð"Dñ!Eôøð
 —G‘G—M‘MÐ"OÔPàˆEã'‘	�Ø—?‘? 4Ó(Ñ0ÙØ—‘˜d˜[Ö)ñ (ô
   Ó%ˆDØ�w‰w×!Ñ! *Ð.>×?Ñ?Ü(¨¨a©Ó1�æØ—k‘k 'Ó*‘à�æØŸ™ VÓ,‘à�ðØŸ™×*Ñ*¨4Ó0°Ñ4�Ø˜TŸ^™^Ó+Ø!�Fô ØÜ×%Ò% dÐ,EÓFØØØØñˆDð !%ˆD�L‰L˜Ñð  % d§l¡lÐ3ˆD�J‰J�s‰OØ�� t§¡×'>×'>Ø.1¨U�—‘×'Ñ'©Ð*Ø"ˆDŒOØ˜�>Ð!ùóCøô\ ó Ø’ðús   Á8&K6Â"K6È(0K< Ë<LÌ
Ls-   fetching revision log for "%s" from %d to %d
FTs   revision %d has no entries
r   r   s   svn: branch has no revision %s)r¿  r•   r(  r   r   rg  r   rŒ  r«   rB  rE   rC   r  r³   r3   rM   rP   rR   r—   ÚSVN_ERR_FS_NO_SUCH_REVISIONr   r�   )rh   Úfrom_revnumrÅ  rÆ  Ú	firstcsetÚlastonbranchrl  r§   rv   rE   rs   r,   rt   rÄ  Úfirstrevnumr  Úxxx_todo_changemer�   Únums   ` `                r"   rT  Úsvn_source._fetch_revisionsW  sò  ù€ Ø˜Ó"Ø%.°Ð"ˆK˜àˆŒöU	"ðn 	�‰�‰ÜÐ?Ó@Ø�{‰{˜K¨Ð3ñ4ô	
ð
,	ØˆIØ ˆLØ—\‘\ 4§;¡; -°¸iÓHˆFðÛ#�EØ;@Ñ8�E 6°Ø §¡Ó-Ø'+˜ÙÞ ØŸ™Ÿ™Ð&EÈÑ&NÔOð (4×'B°vÀ±{˜Ù Ù)6Ø v°Wó*Ñ&�Dö Ø$(˜	ß#�|Ùñ# $ð& —‘”æ¦I°i×6G×6GðØ"&§+¡+¨i¯m©mÓ"<�KØ" Q“Ø!%§¡¨T¯[©[¸+È¹/Ó!J˜Þ!Ø%×-Ñ-×4Ñ4°VÕ<ð "ð 'ð 7H I�<øð —‘•ûô 'ó Ùðûä�x‰x×+Ñ+ó 	Ø+×0Ñ0‰KˆT�3Ø”c—h‘h×:Ñ:Ó:Ü—k’kÜÐ7Ó8¸9ÑDóð ð ûð	úsW   Á"F' Á4A.F Ã&F Ã*/F' ÄA"F ÆFÆF' Æ
F$Æ!F' Æ#F$Æ$F' Æ'HÇAHÈHc                ó  • XR                   ;   a  g [        U5      SS  u  p4U R                  U:w  a!  X0l        U R                  U R                  5        [	        5       n[
        R                  R                  U R                  XU5      nUR                  5       nUR                  5         [        U[        5      (       a  US   nSU;   =(       a    S=(       d    SnSU;   =(       a    S=(       d    UnUS:X  a&  S	nUR#                  U5      (       a  U[%        U5      S  nXx4$ ! [
        R                  R                   aO  n	[
        R                  R                  [
        R                  R                  4n
U	R                   U
;   a   S n	A	ge S n	A	ff = f)
Nrê   r   rm   ó   svn:executableó   xr!   s   svn:specialó   ls   link )r<  rH   r   rS  ÚstringiorM   r€   Úget_fileÚgetvaluer«   Ú
isinstancer¦  rP   rR   ÚSVN_ERR_FS_NOT_FOUNDÚSVN_ERR_RA_DAV_PATH_NOT_FOUNDÚapr_errrB   r?   )rh   ÚfilerC   r¨  rE   ÚioÚinforË   ÚmoderG  ÚnotfoundÚlink_prefixs               r"   ÚgetfileÚsvn_source.getfileç  sE  € à—<‘<ÓØð	Ü!)¨#£¨q¨rÐ!2ÑˆJØ�{‰{˜jÓ(Ø(”Ø—‘˜dŸk™kÔ*Ü“ˆBÜ—6‘6—?‘? 4§7¡7¨D¸"Ó=ˆDØ—;‘;“=ˆDð �H‰HŒJÜ˜$¤×%Ñ%Ø˜B‘x�Ø%¨Ñ-×7°4×>¸3ˆDØ" dÑ*×4°×<¸ˆDð �4‹<Ø"ˆKØ�‰˜{×+Ñ+ØœC Ó,Ð.Ð/�ØˆzÐøô �x‰x×+Ñ+ó 	ä—‘×-Ñ-Ü—‘×6Ñ6ðˆHð �y‰y˜HÓ$Ü!Øûð	ús   ’CD ÄFÄ=AFÆFÆFc                ó„  ^• TR                  S5      m[        R                  R                  5       nSR	                  U R
                  [        T5      /5      R                  S5      n[        R                  R                  U[        U5      SU R                  U5      nT(       a  TS-  mU4S jUR                  5        5       $ )z3Enumerate all files in path at revnum, recursively.r<   Tc              3  ó†   >#   • U  H6  u  pUR                   [        R                  R                  :X  d  M/  TU-   v •  M8     g 7frZ   )r]   rM   rP   r=  )Ú.0ri   rG  rT   s      €r"   Ú	<genexpr>Ú(svn_source._iterfiles.<locals>.<genexpr>  s6   øé € ð 
â'‘�Ø�v‰vœŸ™×/Ñ/Ñ/ó ˆT�AŽXÚ'ùs
   ƒ.AµA)rþ   rM   rP   ÚPoolr½   rõ   rK   rN   r  r`   ró   ro   )rh   rT   rE   ru   r3  rE  s    `    r"   r£  Úsvn_source._iterfiles  sŒ   ø€ à�z‰z˜$ÓˆÜ�x‰x�}‰}‹ˆØ—	‘	˜4Ÿ<™<¬¨t«Ð5Ó6×<Ñ<¸TÓBˆÜ—*‘*—-‘- ¤v¨f£~°t¸T¿X¹XÀtÓLˆÞØ�D‰LˆDô
àŸ™œó
ð 	
r!   c                ó^  • Uc  U R                   nUR                  U5      (       a@  UR                  S5      [        U5      S  nUR                  S5      (       a  USS  $ US:X  a  U$ U R                  R                  S[        R                  " U5      [        R                  " U5      4-  5        g )Nr<   r   r!   s   %r is not under %r, ignoring
)r   rB   r  r?   r•   rŒ  r   r)  )rh   rT   r   Úrelatives       r"   r¡  Úsvn_source.getrelpath  s¡   € Ø‰>Ø—[‘[ˆFð �?‰?˜6×"Ñ"Ø—{‘{ 4Ó(¬¨V«¨Ð7ˆHØ×"Ñ" 4×(Ñ(Ø  �|Ð#Ø˜S“Ø�ð 	�‰�‰Ø-Ü×Ò Ó%¤x×'7Ò'7¸Ó'?Ð@ñAô	
ð r!   c                ó  • Ub  U R                  S5      nUS-   U-   n [        R                  R                  U R                  UR	                  S5      U5      Ub  U R                  W5        $ $ ! Ub  U R                  W5        f f = f)Nr!   r<   )rS  rM   r€   Ú
check_pathrþ   )rh   rT   rE   r   r÷   s        r"   r#  Úsvn_source._checkpath-  s}   € ØÑØŸ™ sÓ+ˆJØ˜D‘= 4Ñ'ˆDð	*ô —6‘6×$Ñ$ T§W¡W¨d¯j©j¸Ó.>ÀÓGàÑ!Ø—‘˜jÕ)ð "øˆvÑ!Ø—‘˜jÕ)ð "ús   ž9A- Á-Bc                óv  • / nU HK  nUR                  S5      (       d  U R                  S-   U-   nUR                  UR                  S5      5        MM     U R                  UUUUUU/n	U R
                  R                  SS5      (       d  [        U	6 $ [        U	5      n
[        R                  " 5       nS[        R                  " U5      -  n[        R                  " U5      u  pÞUR                  U
5         UR                  5         ['        U5      $ ! [         a     [         R"                  " [%        S5      5      ef = f)Nr<   rç   s   svn.debugsvnlogs   %s debugsvnlogr¢   )rB   r   r³   rþ   rõ   r•   r»  r°   Ú
encodeargsr   ÚhgexecutableÚ
shellquoteÚpopen2r€  r«   r‚   r   r�   r   rš   )rh   rv   r‡   rˆ   r‰   rŠ   r‹   Úrelpathsri   r—   ÚargÚhgexeÚcmdÚstdinrŸ   s                  r"   rg  Úsvn_source._getlog9  s#  € ð ˆÛˆAØ—<‘< ×%Ñ%Ø—K‘K $Ñ&¨Ñ*�Ø�O‰O˜AŸG™G D›MÖ*ñ ð
 �L‰LØØØØØ"Øð
ˆð �w‰w×!Ñ! *Ð.@×AÑAÜ" DÐ)Ð)Ü˜ÓˆÜ×%Ò%Ó'ˆØ¤(×"5Ò"5°eÓ"<Ñ<ˆÜ Ÿš¨Ó,‰ˆØ�‰�CÔð	Ø�K‰KŒMô ˜Ó Ð øô ó 	Ü—+’+Üð1óóð ð	ús   Ã3D Ä*D8)r  rõ   r¿  rù   r  ró   r   r  r.  r  rñ   r   rv   r÷   r€   r<  rø   r   r-  r   rÿ   r~   rF   r  r   rZ   )s	   splicemapr¸   )r5   r6   r7   r8   rj   r  r  r  r¼   r7  rH  rK  rP  rW  r^  ra  r{  rƒ  r  rE   r  rS  r;  rT  rá  r£  r¡  r#  rg  r9   Ú__classcell__)r  s   @r"   rã   rã   Ï  sŸ   ø† ÷AòF'ò6ò!ò
òRòhò,&ò %òô,òAòhòT
ôKò(ôK,òZòj0òXNò`òB
ôô.
*ð" Ø#Ø!÷*!ò *!r!   rã   s‡   #!/bin/sh

REPOS="$1"
REV="$2"
USER="$3"
PROPNAME="$4"
ACTION="$5"

%(rules)s

echo "Changing prohibited revision property" >&2
exit 1
c                óz   • / nU  H  u  p#UR                  SX#4-  5        M     [        SSR                  U5      0-  $ )Ns>   if [ "$ACTION" = "%s" -a "$PROPNAME" = "%s" ]; then exit 0; fis   rulesó   
)r³   Úpre_revprop_change_templater½   )Úprop_actions_allowedÚrulesrg   Úpropnames       r"   Úgen_pre_revprop_change_hookr  u  sM   € Ø€EÛ0ÑˆØ�‰ð#ð Ð ñ	!ö	
ñ 1ô '¨(°E·J±J¸uÓ4EÐ)FÑFÐFr!   c                  ó  • \ rS rSr\R
                  " S\R                  5      r\R
                  " S\R                  5      rS r	S r
S rS rS rS	 rS
 r\S 5       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)Úsvn_sinki‚  s   Committed revision (\d+).s   Repository UUID:\s*(\S+)c                óh   • U R                   (       a!  [        R                  " U R                   5        g g rZ   )r  rS   Úchdirr¬   s    r"   ÚprerunÚsvn_sink.prerun†  s   € Ø�7�7Ü�HŠH�T—W‘WÕð r!   c                óh   • U R                   (       a!  [        R                  " U R                  5        g g rZ   )r  rS   r  Úcwdr¬   s    r"   ÚpostrunÚsvn_sink.postrunŠ  s   € Ø�7�7Ü�HŠH�T—X‘XÕð r!   c                óX   • [         R                  R                  U R                  SU5      $ )Nræ   ©rS   rT   r½   r  )rh   r   s     r"   r½   Úsvn_sink.joinŽ  s   € Ü�w‰w�|‰|˜DŸG™G W¨dÓ3Ð3r!   c                ó$   • U R                  S5      $ )Nr~  ©r½   r¬   s    r"   Ú
revmapfileÚsvn_sink.revmapfile‘  s   € Ø�y‰y˜Ó&Ð&r!   c                ó$   • U R                  S5      $ )Ns   hg-authormapr  r¬   s    r"   Ú
authorfileÚsvn_sink.authorfile”  s   € Ø�y‰y˜Ó)Ð)r!   c                ó&	  • [         R                  " SSS9  [         R                  " SSS9  [        R                  XX#5        [        R                  XS5        / U l        / U l        / U l        / U l        S U l	        [        R                  " 5       U l        Sn[        R                  R                  [        R                  R!                  USS5      5      (       a7  [        R                  R#                  U5      U l	        U R%                  S5        GOó[&        R(                  " S	U5      (       Gd1  [        R                  R#                  U5      n[        R                  R+                  [        R                  R-                  U5      5      (       aÑ  [        R                  R/                  [        R                  R!                  US
S5      5      (       dX  UR1                  [3        S5      [        R                  R5                  U5      -  5        [	        US5      R%                  SU5        Un[6        R8                  " U5      nUR;                  S5      (       d  SU-   nSU-   n[        R                  R!                  [        R                  " 5       [        R                  R5                  U5      S-   5      nUR1                  [3        S5      [        R                  R5                  U5      -  5        U R%                  SX55        XPl	        [<        R>                  " U R                  5      U l         [<        R>                  " U R                  5      U l!        [E        XR!                  S5      5      U l#        [6        RH                  " U R                  5      (       a  [6        RJ                  U l&        OS U l&        U(       a�  / SQnU RN                  RQ                  SS5      (       a  URS                  S5        [        R                  R!                  USS5      n[6        RT                  " U[W        U5      5        [6        RX                  " USS5        U R%                  S5      nU RZ                  R)                  U5      R]                  S5      R_                  5       U l0        g )Ns   svns
   subversion)Údebnames   svnadminFræ   s   entriess   updates"   ^(file|http|https|svn|svn\+ssh)://r»   s   fs-types!   initializing svn repository '%s'
s   creater<   s   file://s   -wcs#   initializing svn working copy '%s'
s   checkouts   hg-childmap))rœ  s   svn:log)re  ó   hg:convert-branch)re  ó   hg:convert-revrç   ó   svn.dangerous-set-commit-dates)rœ  ó   svn:daterº   s   pre-revprop-changeTs   infor   )1r   Ú	checktoolÚconverter_sinkrj   ÚcommandlineÚdeleteÚsetexecÚdelexecrC  r  r   Úgetcwdr
  rS   rT   Úisfiler½   r“  Úrun0rZ  ÚsearchrU   Údirnamer¼   Ústatusr   Úbasenamer   rV   rB   Úvfsmodr	   rÉ   ÚwopenerÚmapfileÚchildmapÚ	checkexecÚisexecÚis_execr•   r»  r³   Ú	writefiler  ÚsetflagsÚuuid_reÚgrouprþ   rF   )	rh   r•   r  rT   ÚcreatedÚwcpathrÿ  ÚhookÚoutputs	            r"   rj   Úsvn_sink.__init__—  s4  € Ü×Ò˜¨Ò7Ü×Ò˜¨mÒ<ä×Ñ ¨(Ô9Ü×Ñ˜T vÔ.ØˆŒØˆŒØˆŒØˆŒØˆŒÜ—?’?Ó$ˆŒàˆÜ�7‰7�>‰>œ"Ÿ'™'Ÿ,™, t¨W°jÓA×BÑBÜ—g‘g×&Ñ& tÓ,ˆDŒGØ�I‰I�iÖ ä—9’9ÐCÀT×JÒJÜ—w‘w×'Ñ'¨Ó-�Ü—7‘7—=‘=¤§¡§¡°Ó!6×7Ñ7ÜŸ7™7Ÿ>™>ÜŸ™Ÿ™ T¨5°*Ó=÷ñ ð Ÿ	™	ÜÐCÓDÜ Ÿg™g×.Ñ.¨tÓ4ñ5ôô $ B¨Ó4×9Ñ9¸)ÀTÔJØ"&˜ÜŸ=š=¨Ó.�DØŸ?™?¨4×0Ñ0Ø# d™{˜Ø%¨Ñ,�Dä—W‘W—\‘\Ü—’Ó!¤2§7¡7×#3Ñ#3°DÓ#9¸FÑ#BóˆFð �I‰IÜÐ9Ó:Ü—'‘'×"Ñ" 6Ó*ñ+ôð �I‰I�k 4Ô0àŒGÜ—j’j §¡Ó)ˆŒÜ—z’z $§'¡'Ó*ˆŒÜ §I¡I¨nÓ$=Ó>ˆŒÜ�>Š>˜$Ÿ'™'×"Ñ"ÜŸ;™;ˆD�LàˆDŒLæò$Ð ð �w‰w×!Ñ!ØÐ=÷ñ ð %×+Ñ+Ð,?Ô@ä—7‘7—<‘< ¨Ð3HÓIˆDä�NŠNØÔ1Ð2FÓGôô �MŠM˜$  tÔ,à—‘˜7Ó#ˆØ—L‘L×'Ñ'¨Ó/×5Ñ5°aÓ8×>Ñ>Ó@ˆ�	r!   c                óX   • [         R                  R                  " U R                  /UQ76 $ rZ   r  )rh   Únamess     r"   ÚwjoinÚsvn_sink.wjoinã  s   € Ü�w‰w�|Š|˜DŸG™GÐ, eÒ,Ð,r!   c                óÌ  • [        5       nU R                  SSSS9n[        R                  R                  R                  U5      nUR                  S5       HŠ  nUR                   Hw  nUR                  UR                  :w  d  UR                  S:w  a  M/  SR                  S UR                   5       5      nUR                  [        R                  " U5      5          Mˆ     MŒ     U$ )Ns   lsT)Ú	recursiveÚxmlr§   r   Ú c              3  óp   #   • U  H,  oR                   UR                  :X  d  M  UR                  v •  M.     g 7frZ   )ÚnodeTypeÚ	TEXT_NODErË   )rå  Úcs     r"   ræ  Ú$svn_sink.manifest.<locals>.<genexpr>ò  s&   é € ð Ú$0˜q·J±JÀ!Ç+Á+Ñ4M“F�A—F–F¢Lùs   ‚6£6)r>  r%  r@  ÚdomÚminidomÚparseStringÚgetElementsByTagNameÚ
childNodesrC  ÚELEMENT_NODEÚtagNamer½   ri  r   Ú
unitolocal)rh   Úmr8  ÚdocrG  rF  r   s          r"   ÚmanifestÚsvn_sink.manifestæ  sº   € ô
 ‹EˆØ—‘˜5¨D°d�Ð;ˆÜ�g‰g�o‰o×)Ñ)¨&Ó1ˆØ×)Ñ)¨'Ö2ˆAØ—\”\�Ø—:‘: §¡Ó/°1·9±9ÀÓ3FÙØ—w‘wñ Ø$%§L¢Lóó �ð —‘”h×)Ò)¨$Ó/Ô0Úó "ñ 3ð ˆr!   c                ó  • SU;   a  U R                   R                  X15        g  [        R                  R	                  U R                  U5      5      (       a  [        R                  " U5        U R                  (       aU  Sn[        R                  R                  U R                  U5      5      (       a   U R                  U R                  U5      5      nU R                   R                  X5        U R                  (       au  W(       a"  SU;  a  U R                  R                  U5        O!SU;   a  U R                  R                  U5        [        R                  " U R                  U5      SSU;   5        g g ! [         a     GNf = f)NrÓ  FrÒ  )r+  ÚsymlinkrS   rT   Úislinkr<  Úunlinkr‚   r0  r¼   r€  r"  r³   r!  r   r2  )rh   ÚfilenameÚflagsrË   Úwasexecs        r"   ÚputfileÚsvn_sink.putfileþ  s  € Ø�5‹=Ø�L‰L× Ñ  Õ0ðÜ—7‘7—>‘> $§*¡*¨XÓ"6×7Ñ7Ü—I’I˜hÔ'ð �|�|ð  �Ü—7‘7—>‘> $§*¡*¨XÓ"6×7Ñ7Ø"Ÿl™l¨4¯:©:°hÓ+?Ó@�Gà�L‰L×Ñ˜xÔ.à�|�|ÞØ 5Ó(ØŸ™×+Ñ+¨HÔ5øà˜u“}ØŸ™×+Ñ+¨HÔ5Ü—’˜dŸj™j¨Ó2°E¸4À5¹=ÕIð øô ó Úðús   ¤A	E5 Å5
FÆFc                ó  • U R                  U5      n[        R                  R                  U5      nU(       av  [        R
                  " S[        R                  R                  U5      S9u  pV[        R                  " U5        [        R                  " U5        [        R                  " X65         U R                  SX5        U R                  R                  U5        U(       a/   [        R                  " U5        [        R                  " WU5        g g ! [         a     N%f = f! U R                  R                  U5        U(       a@   [        R                  " U5        O! [         a     Of = f[        R                  " WU5        f f = f)Ns   hg-copy-)ÚprefixÚdirs   copy)r<  rS   rT   Úlexistsr   Úmkstempr'  r«   rV  Úrenamer%  rQ  ri  r‚   )rh   ro  rq  Úwdestr¼   ÚfdÚtempnames          r"   Ú	_copyfileÚsvn_sink._copyfile  s   € ð —
‘
˜4Ó ˆÜ—‘—‘ Ó'ˆÞÜ#×+Ò+Ø"¬¯©¯©¸Ó(>ñ‰LˆBô �HŠH�RŒLÜ�IŠI�hÔÜ�IŠI�eÔ&ð		+Ø�I‰I�g˜vÔ,à�M‰M×Ñ˜dÔ#ÞðÜ—I’I˜eÔ$ô —	’	˜( EÕ*ð øô ó Ùðûð	 �M‰M×Ñ˜dÔ#ÞðÜ—I’I˜eÕ$øÜó Ùðúä—	’	˜( EÕ*ð úsB   Â/D# Ã$D Ä
D ÄD Ä##FÅEÅFÅ
E+Å(FÅ*E+Å+Fc                ó&  ^^• [        5       nU H~  m[        R                  R                  U R	                  T5      5      (       a  UR                  T5        [        T5      m[        UU4S jS5       H  mUR                  TS T 5        M     M€     U$ )Nc                 ó*   >• T R                  SST5      $ )Nr<   r   )rò   )rO  rN  s   €€r"   rÔ   Ú"svn_sink.dirs_of.<locals>.<lambda>8  s   ø€  !§'¡'¨$°°1Ô"5r!   rm   )r>  rS   rT   rU   r<  ri  r?   Úiter)rh   rD  ÚdirsrO  rN  s      @@r"   Údirs_ofÚsvn_sink.dirs_of2  sm   ù€ Ü‹uˆÛˆAÜ�w‰w�}‰}˜TŸZ™Z¨›]×+Ñ+Ø—‘˜”Ü�A“ˆAÜÕ5°rÖ:�Ø—‘˜˜2˜A˜–ó ;ñ	 ð ˆr!   c                óî   • [        U R                  U5      5       Vs/ s H  o"U R                  ;  d  M  UPM     nnU(       a-  U R                  R                  U5        U R	                  USSSS9  U$ s  snf )Nó   addT)Únon_recursiveÚquiet)r/  rl  rQ  r   Úxargs)rh   rD  ÚdÚadd_dirss       r"   rt  Úsvn_sink.add_dirs<  sk   € ä˜dŸl™l¨5Ó1Ô2ó
Ú2�!¸t¿}¹}Ñ6L�AÑ2ð 	ð 
ö Ø�M‰M× Ñ  Ô*Ø�J‰J�x °tÀ4ˆJÑHØˆùò
s
   �A2´A2c                ó¼   • U Vs/ s H  o"U R                   ;  d  M  UPM     nnU(       a,  U R                   R                  U5        U R                  USSS9  U$ s  snf )Nro  T)rq  )rQ  r   rr  )rh   rD  rO  s      r"   Ú	add_filesÚsvn_sink.add_filesE  sP   € Ù!Ó<šE�q¨d¯m©mÑ%;—™EˆÐ<ÞØ�M‰M× Ñ  Ô'Ø�J‰J�u˜f¨DˆJÑ1Øˆùò	 =s
   …AœAc                ó    • X R                   U'   g rZ   )r-  )rh   ÚparentÚchilds      r"   ÚaddchildÚsvn_sink.addchildL  s   € Ø %�‰�fÒr!   c                ó$   • SU R                   U4-  $ )Ns	   svn:%s@%s)rF   rˆ  s     r"   r  Úsvn_sink.revidO  s   € Ø˜tŸy™y¨#Ð.Ñ.Ð.r!   c	                óP
  • U H"  n	 U R                  U R                  U	   5      s  $    U Hp  u  p«UR                  X«5      u  pÍUc  U R                  R                  U
5        M8  U R                  X­U5        X¢;   d  MQ  U R                  R                  X*   U
/5        Mr     U(       a=  U R                  R                  [        U R                  R                  U5      5      5        U V
s/ s H  oªS   PM	     nn
[        U R                  5      n[        U5      nUR                  U R                  UR                  U5      5      5        U R                  (       a/  U R                   H  u  nnU R!                  UU5        M     / U l        U R                  (       aQ  U R#                  U R                  S5        U R                   H  n
U R                  R%                  U
5        M      / U l        UR                  U R'                  UR                  U5      5      5        U R(                  (       a$  U R#                  U R(                  SS5        / U l        U R*                  (       a%  U R#                  U R*                  SSS5        / U l        [,        R.                  " SS9u  nn[0        R2                  " US	5      nUR5                  [6        R8                  " UR:                  5      5        UR=                  5          U R?                  S
[@        RB                  " URD                  5      USS9n U RF                  RI                  U5      RK                  S5      nURZ                  (       a  U R]                  SSURZ                  SUS9  UR^                  (       a-  UR^                  S:w  a  U R]                  SSUR^                  SUS9  U RP                  Ra                  SS5      (       aC  [b        Rd                  " URf                  5      nUS   S4nU R]                  SS[i        U5      SUS9  U H  n	U Rk                  U	U5        M     U R                  U5      [0        RN                  " U5        $ ! [         a     GMh  f = fs  sn
f ! [L         aŒ    U(       d&  U(       a  US   OSs [0        RN                  " U5        $ U RP                  RS                  [U        S5      5        U RP                  RS                  U5        [V        RX                  " [U        S5      5      ef = f! [0        RN                  " U5        f = f)Nr   s   deletes   propdelrÑ  s   propsetó   *s   hg-convert-)r]  Úwbs   commits   utf-8)ÚusernamerÛ  r   r   s   Nones   unexpected svn output:
s   unable to cope with svn outputr  T)ÚrevpropÚrevisions   defaultr  rç   r  r  )6r  r-  ÚKeyErrorrá  r   r³   rZ  rC  Úextendr/  rQ  Ú
differencer>  Ú	frozensetr   rt  re  rr  Úremoverw  r"  r!  r   r`  rS   Úfdopenr€  r   r�  rº  r«   r%  r   Ú	shortuserrs   Ú	commit_rer&  r4  rð   rV  r•   rÈ   r   r   r�   rC   Úrunr5  r»  r
   r0   r,   r-   r|  )rh   rD  rC  rB  r¾  ro  r  rA  Úcleanp2rz  rO  rx   rË   rÞ  rE  r(   rs  rc  Úmessagefilery   r8  rC   r,   s                          r"   Ú	putcommitÚsvn_sink.putcommitR  s  € ó ˆFðØ—z‘z $§-¡-°Ñ"7Ó8Ò8ñ ó ‰DˆAØŸ™¨Ó-‰JˆDØ‰|Ø—‘×"Ñ" 1Ö%à—‘˜Q dÔ+Ø•;Ø—K‘K×&Ñ&¨©	°1 ~Ö6ñ ö Ø�K‰K×Ñœv d§m¡m×&>Ñ&>¸uÓ&EÓFÔGÙ$Ó%šu˜!�1”™uˆÐ%ä�d—k‘kÓ"ˆÜ˜%Ó ˆØ�‰�t—}‘} U×%5Ñ%5°gÓ%>Ó?Ô@Ø�;�;ØŸœ‘��1Ø—‘˜q !Ö$ñ $àˆDŒKØ�;�;Ø�J‰J�t—{‘{ IÔ.Ø—[”[�Ø—‘×$Ñ$ QÖ'ñ !àˆDŒKØ�‰�t—~‘~ e×&6Ñ&6°wÓ&?Ó@ÔAØ�<�<Ø�J‰J�t—|‘| ZÐ1BÔCØˆDŒLØ�<�<Ø�J‰J�t—|‘| ZÐ1BÀDÔIØˆDŒLä"×*Ò*°.ÑA‰ˆˆKÜ�YŠY�r˜4Ó ˆØ
�‰”×!Ò! &§+¡+Ó.Ô/Ø
�‰Œ
ð4	#Ø—Y‘YØÜ#×-Ò-¨f¯m©mÓ<Ø Ø!ð	 ð ˆFðHØ—n‘n×+Ñ+¨FÓ3×9Ñ9¸!Ó<�ð �z�zØ—‘ØØ%Ø—J‘JØ Ø ð ñ ð �}�} §¡°*Ó!<Ø—‘ØØ(Ø—M‘MØ Ø ð ñ ð �w‰w×!Ñ!ØÐ=÷ñ ô  ×)Ò)¨&¯+©+Ó6�Ø˜Q™ �|�ð —‘ØØÜ! $Ó'Ø Ø ð ñ ó "�Ø—‘˜f cÖ*ñ "à—:‘:˜c“?ä�IŠI�kÕ"øôy ó Ûðüò &øôF "ó HÞÞ)0˜7 1š:°gÑ=ôR �IŠI�kÕ"ðQ —‘—‘œQÐ:Ó;Ô<Ø—‘—‘˜VÔ$Ü—k’k¤!Ð$EÓ"FÓGÐGðHûôV �IŠI�kÕ"úsI   ‡QÃ'Q/Ë00T Ì!*Q4 ÍC;T Ñ
Q,Ñ+Q,Ñ4T
ÒT Ò+AT
Ô
T ÔT%c                óL   • U R                   R                  [        S5      5        g)Ns/   writing Subversion tags is not yet implemented
rê   )r•   rÈ   r   )rh   r-  s     r"   ÚputtagsÚsvn_sink.puttags¶  s   € Ø�‰�‰”QÐJÓKÔLØr!   c                ó   • gr:  r    rˆ  s     r"   ÚhascommitfrommapÚsvn_sink.hascommitfrommapº  s   € ð r!   c                óf   • XR                   ;   a  g[        R                  " [        S5      U-  5      e)NTs_   splice map revision %s not found in subversion child map (revision lookups are not implemented))r-  r   r�   r   rˆ  s     r"   ÚhascommitforsplicemapÚsvn_sink.hascommitforsplicemap¿  s:   € ð —-‘-ÓØÜ�kŠkÜðDóð ñ	ó
ð 	
r!   )r-  rC  r
  r   r"  r0  rÉ   r!  rF   r  r+  N)r5   r6   r7   r8   rZ  ÚcompileÚMr�  r3  r  r  r½   r  r  rj   r<  ÚpropertycacherQ  rZ  re  rl  rt  rw  r|  r  r‘  r”  r—  rš  r9   r    r!   r"   r  r  ‚  s    † Ø—
’
Ð8¸"¿$¹$Ó?€IØ�jŠjÐ5°r·t±tÓ<€Gòòò4ò'ò*òJAòX-ð ñó ðò.Jò8+ò0òòò&ò/òb#òHòõ

r!   r  r¸   )KÚ
__future__r   r   r   rS   rp   rZ  Úxml.dom.minidomr@  Úmercurial.i18nr   Ú	mercurialr   r   r   r   r	   r*  Úmercurial.utilsr
   r   r   rA  r   rÔ  rž  rÅ   rJ   r  r¾  r  Úconverter_sourcer‘   rñ  r¼  r,  rí   rì   rM   Ú
svn.clientÚsvn.coreÚsvn.raÚ	svn.deltar   ÚwarningsÚfilterwarningsÚDeprecationWarningrP   rR   ÚImportErrorr   r#   r)   r-   r1   rƒ   r3   rH   rK   rX   r`   rb   rŽ   r˜   rš   r¦  r°   rÀ   rÌ   rÝ   rá   rã   rþ  r  r  r    r!   r"   Ú<module>r­     sæ  ðõ
 #ã Û Û 	Û Û 	Û å ÷õ ÷ñ õ à�=‰=€Ø×"Ñ"€Ø	�‰€Ø	�‰€à× Ñ €Ø	�‰€Ø×&Ñ&€Ø×*Ñ*Ð Ø×Ñ€
Ø×Ñ€
Ø×,Ñ,Ð Ø
�.‰.€Ø× Ñ €Ø	�‰€ðãÛÛÛÛõ Ûà×ÒØ˜Ð.@òð ‡H�H× Ò ð €
òCò"4ò@òHô	�iô 	òò61ò0ò0÷ñ ð ØØô,ò^&÷ ñ  ô>%�dô %òVò:ð4 ØØñ€òKôxT!Ð!ô T!ðnÐ ò
GôH
ˆ~˜{õ H
øð) ó Ø
‚Cðús   Ã,AF- Æ-F8Æ7F8