
    6h                        S SK Jr  S SKrS SKrS SKr\R                  R                  r\R                  R                  r\R                  R                  5         SqS r " S S\5      r " S S5      rg)    )annotationsNc                z   SSK nUR                  R                  U 5      UR                  R                  U 5      UR                  R	                  U 5      UR                  R                  U 5      UR                  R                  U 5      /n[        UR                  SS5      nU(       a6  S H/  nS H&  nU" XEU 5      nU(       d  M  UR                  U5        M(     M1     OE[        UR                  S5      (       a*  UR                  UR                  R                  U 5      5        UR                  R                  X 5      $ )z)Create a Subversion authentication baton.r   N'svn_auth_get_platform_specific_provider)s   gnome_keyrings   keychains   kwallets   windows)s   simples   ssl_client_cert_pws   ssl_server_trustget_windows_simple_provider)
svn.clientclientget_simple_providerget_username_provider!get_ssl_client_cert_file_provider$get_ssl_client_cert_pw_file_provider"get_ssl_server_trust_file_providergetattrcoreappendhasattrr   svn_auth_open)poolsvn	providersgetprovidernametypeps          9/usr/lib/python3/dist-packages/hgext/convert/transport.py_create_auth_batonr   &   s    
 	

&&t,

((.

44T:

77=

55d;I ;TK KDOD11$$Q' P L 3::<==SZZCCDIJ88!!)22    c                      \ rS rSrSrg)NotBranchErrorE    N)__name__
__module____qualname____firstlineno____static_attributes__r    r   r   r   r   E   s    r   r   c                  <    \ rS rSrSrS	S jr " S S5      rS rSrg)
SvnRaTransportI   z3
Open an ra connection to a Subversion repository.
Nc                   [        5       U l        Xl        SU l        SU l        Ub  [        [        R                  S5      (       d  [        R                  R                  U R                  5      U l        [        U R                  5      nX0R                  l        [        c  [        R                  R                  S 5      q[        U R                  l         [        R                  R!                  U R                  U R                  U R                  5      U l        g X l        [        R                  R/                  U R                  U R                  R1                  S5      5        g ! ["         ap  nUR$                  u  pVU[        R                  R&                  [        R                  R(                  [        R                  R*                  4;   a  [-        U5      ee S nAff = f)Nr   reparentutf8)Poolr   svn_urlusernamepasswordr   r   rar   create_contextr   
auth_baton
svn_configr   svn_config_get_configconfigopen_ra_sessionSubversionExceptionargsSVN_ERR_RA_ILLEGAL_URL"SVN_ERR_RA_LOCAL_REPOS_OPEN_FAILEDSVN_ERR_BAD_URLr   r*   encode)selfurlr0   abxxx_todo_changemeinstnums          r   __init__SvnRaTransport.__init__N   sJ   F	 :WSVVZ88**33DII>DK#DII.B%'KK"! XX;;DA
!+DKK**44LL$++tyy GFFOODGGT\\%8%8%@A ' /44HH33HH??HH,, 
 )--s   AE$ $
G.A+GGc                  N    \ rS rSrS rS
S jrS
S jr S
S jrS
S jrS
S jr	S	r
g)SvnRaTransport.Reportern   c                "    Uu  U l         U l        g N)	_reporter_baton)r=   reporter_datas     r   rC    SvnRaTransport.Reporter.__init__o   s    *7'DNDKr   Nc           	     v    [         R                  R                  U R                  U R                  UUUUU5        g rI   )r   r0   reporter2_invoke_set_pathrJ   rK   )r=   pathrevnumstart_empty
lock_tokenr   s         r   set_path SvnRaTransport.Reporter.set_pathr   s1    FF,,r   c                n    [         R                  R                  U R                  U R                  X5        g rI   )r   r0   reporter2_invoke_delete_pathrJ   rK   )r=   rP   r   s      r   delete_path#SvnRaTransport.Reporter.delete_path}   s#    FF//Tr   c           
     x    [         R                  R                  U R                  U R                  UUUUUU5        g rI   )r   r0   reporter2_invoke_link_pathrJ   rK   )r=   rP   r>   revisionrR   rS   r   s          r   	link_path!SvnRaTransport.Reporter.link_path   s6     FF--	r   c                n    [         R                  R                  U R                  U R                  U5        g rI   )r   r0   reporter2_invoke_finish_reportrJ   rK   r=   r   s     r   finish_report%SvnRaTransport.Reporter.finish_report   s#    FF11Tr   c                n    [         R                  R                  U R                  U R                  U5        g rI   )r   r0   reporter2_invoke_abort_reportrJ   rK   ra   s     r   abort_report$SvnRaTransport.Reporter.abort_report   s#    FF00Tr   )rK   rJ   rI   )r!   r"   r#   r$   rC   rT   rX   r]   rb   rf   r%   r    r   r   ReporterrF   n   s'    	8			 FJ		
	r   rh   c                ~    U R                  [        R                  R                  " U R                  X/UQ70 UD65      $ rI   )rh   r   r0   	do_update)r=   rQ   rP   r8   kwargss        r   rj   SvnRaTransport.do_update   s5    }}FFTWWfDTDVD
 	
r   )r   r/   r   r0   r-   r.   )r   N)	r!   r"   r#   r$   __doc__rC   rh   rj   r%   r    r   r   r'   r'   I   s    B@* *X
r   r'   )
__future__r   r   r   svn.coresvn.rar   r,   r7   r0   
initializer3   r   r   r'   r    r   r   <module>rr      si   $ #    xx}}hh22 
    
3>	( 	T
 T
r   