ó œt•Pc@s¢ddlmZddlmZmZddlZddlZddlZejj ƒej j dƒZ d„Zdefd„ƒYZdefd„ƒYZdS( iÿÿÿÿ(tutil(tSubversionExceptiontPoolNcCs ddl}|jj|ƒ|jj|ƒ|jj|ƒ|jj|ƒ|jj|ƒg}t|jddƒ}|rÅx{d D]?}x6d D].}||||ƒ}|rŒ|j |ƒqŒqŒWqWn1t j |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_providertgetattrtcoretNonetappendRt safehasattrR t svn_auth_open(tpooltsvnt providerst getprovidertnamettypetp((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(R9tpathtrevnumt start_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.pyt delete_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.pyt abort_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.raRR R+t initializeRtsvn_config_get_configRR2R R!RVR$(((s;/sys/lib/python2.7/site-packages/hgext/convert/transport.pyts