�t�c@s�ddlmZddlmZmZddlZddlZddlZejj �ej
jd�Z
d�Zdefd��YZdefd��YZdS( i�(tutil(tSubversionExceptiontPoolNcCs ddl}|jj|�|jj|�|jj|�|jj|�|jj|�g}t|jdd�}|r�x{dD]?}x6d
D].}||||�}|r�|j
|�q�q�WqWn1tj|jd�r�j
|jj
|��n|jj||�S(s*Create a Subversion authentication baton. i�Nt'svn_auth_get_platform_specific_providert
gnome_keyringtkeychaintkwallettwindowstsimpletssl_client_cert_pwtssl_server_trusttget_windows_simple_provider(RRRR(RR R
(t
svn.clienttclienttget_simple_providertget_username_providert!get_ssl_client_cert_file_providert$get_ssl_client_cert_pw_file_providert"get_ssl_server_trust_file_providertgetattrtcoretNonetappendRtsafehasattrRt
svn_auth_open(tpooltsvnt providerstgetprovidertnamettypetp((s;/sys/lib/python2.7/site-packages/hgext/convert/transport.pyt_create_auth_baton"s"
tNotBranchErrorcBseZRS((t__name__t
__module__(((s;/sys/lib/python2.7/site-packages/hgext/convert/transport.pyR!>stSvnRaTransportcBs<eZdZddd�Zdefd��YZd�ZRS(s;
Open an ra connection to a Subversion repository.
tcCs~t�|_||_d|_d|_|dksItjtj d�rOtj
j|j�|_
t|j�}t
r�tjj|tjj|j�tjj|tjj|j�n||j
_t|j
_y(tj
j|j|j
|j�|_ Wqztk
rK\}}|tjjtjjtjjfkrEt|��n�qzXn+||_ tj j|j |jjd��dS(NR%treparenttutf8(RRtsvn_urltusernametpasswordRRRRtraR
tcreate_contextR tFalseRtsvn_auth_set_parametertSVN_AUTH_PARAM_DEFAULT_USERNAMEtSVN_AUTH_PARAM_DEFAULT_PASSWORDt
auth_batont
svn_configtconfigtopen_ra_sessionRtSVN_ERR_RA_ILLEGAL_URLt"SVN_ERR_RA_LOCAL_REPOS_OPEN_FAILEDtSVN_ERR_BAD_URLR!R&tencode(tselfturlR+tabtinsttnum((s;/sys/lib/python2.7/site-packages/hgext/convert/transport.pyt__init__Es4 "
tReportercBsMeZd�Zdd�Zdd�Zdd�Zdd�Zdd�ZRS(cCs|\|_|_dS(N(t _reportert_baton(R9t
reporter_data((s;/sys/lib/python2.7/site-packages/hgext/convert/transport.pyR>escCs,tjj|j|j|||||�dS(N(RR+treporter2_invoke_set_pathR@RA(R9tpathtrevnumtstart_emptyt
lock_tokenR((s;/sys/lib/python2.7/site-packages/hgext/convert/transport.pytset_pathhscCs#tjj|j|j||�dS(N(RR+treporter2_invoke_delete_pathR@RA(R9RDR((s;/sys/lib/python2.7/site-packages/hgext/convert/transport.pytdelete_pathlsc Cs/tjj|j|j||||||�dS(N(RR+treporter2_invoke_link_pathR@RA(R9RDR:trevisionRFRGR((s;/sys/lib/python2.7/site-packages/hgext/convert/transport.pyt link_pathpscCs tjj|j|j|�dS(N(RR+treporter2_invoke_finish_reportR@RA(R9R((s;/sys/lib/python2.7/site-packages/hgext/convert/transport.pyt
finish_reportvscCs tjj|j|j|�dS(N(RR+treporter2_invoke_abort_reportR@RA(R9R((s;/sys/lib/python2.7/site-packages/hgext/convert/transport.pytabort_reportzsN( R"R#R>RRHRJRMRORQ(((s;/sys/lib/python2.7/site-packages/hgext/convert/transport.pyR?ds cOs(|jtjj|j||||��S(N(R?RR+t do_update(R9RERDtargstkwargs((s;/sys/lib/python2.7/site-packages/hgext/convert/transport.pyRR~sN(R"R#t__doc__RR>tobjectR?RR(((s;/sys/lib/python2.7/site-packages/hgext/convert/transport.pyR$As(t mercurialRtsvn.coreRRtsvn.raRRR+t
initializeRtsvn_config_get_configRR2R R!RVR$(((s;/sys/lib/python2.7/site-packages/hgext/convert/transport.pyt<module>s
|