o ö]LbÎã@s†ddlmZddlZddlZddlZejjZejjZddl m Z ddl m Z ej  ¡dadd„ZGdd„deƒZGd d „d eƒZdS) é)Úabsolute_importN)Úgetattr)ÚutilcCs®ddl}|j |¡|j |¡|j |¡|j |¡|j |¡g}t|jddƒ}|r@dD]}dD]}||||ƒ}|r=|  |¡q.q*nt   |jd¡rP|  |j  |¡¡|j  ||¡S)z)Create a Subversion authentication baton.rNÚ'svn_auth_get_platform_specific_provider)s gnome_keyringskeychainskwalletswindows)ssimplesssl_client_cert_pwsssl_server_trustsget_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_providerrÚcoreÚappendrÚ safehasattrÚget_windows_simple_providerÚ svn_auth_open)ÚpoolÚsvnÚ providersÚ getproviderÚnameÚtypeÚp©rú9/usr/lib/python3/dist-packages/hgext/convert/transport.pyÚ_create_auth_baton's,     ûÿ  €ýÿrc@s eZdZdS)ÚNotBranchErrorN)Ú__name__Ú __module__Ú __qualname__rrrrrFsrc@s2eZdZdZd dd„ZGdd„deƒZdd „ZdS) ÚSvnRaTransportz; Open an ra connection to a Subversion repository. óNc Csötƒ|_||_d|_d|_|dust tjd¡sjtj   |j¡|_ t |jƒ}||j _ t dur3tj d¡a t |j _ztj  |j|j |j¡|_WdStyi}z|j\}}|tjjtjjtjjfvrdt|ƒ‚‚d}~ww||_tj |j|j d¡¡dS)Nr!sreparentÚutf8)ÚPoolrÚsvn_urlÚusernameÚpasswordrrrÚ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ÚreparentÚencode)ÚselfÚurlr'ÚabÚxxx_todo_changemeÚinstÚnumrrrÚ__init__Os8    ÿ ý€ø zSvnRaTransport.__init__c@sHeZdZdd„Zddd„Zddd„Z ddd „Zdd d „Zdd d „ZdS)zSvnRaTransport.ReportercCs|\|_|_dS©N)Ú _reporterÚ_baton)r5Ú reporter_datarrrr;psz SvnRaTransport.Reporter.__init__Nc Cs tj |j|j|||||¡dSr<)rr'Úreporter2_invoke_set_pathr=r>)r5ÚpathÚrevnumÚ start_emptyÚ lock_tokenrrrrÚset_pathssùz SvnRaTransport.Reporter.set_pathcCstj |j|j||¡dSr<)rr'Úreporter2_invoke_delete_pathr=r>)r5rArrrrÚ delete_path~s ÿz#SvnRaTransport.Reporter.delete_pathc Cs"tj |j|j||||||¡dSr<)rr'Úreporter2_invoke_link_pathr=r>)r5rAr6ÚrevisionrCrDrrrrÚ link_pathƒsøz!SvnRaTransport.Reporter.link_pathcCótj |j|j|¡dSr<)rr'Úreporter2_invoke_finish_reportr=r>©r5rrrrÚ finish_report‘ó ÿz%SvnRaTransport.Reporter.finish_reportcCrKr<)rr'Úreporter2_invoke_abort_reportr=r>rMrrrÚ abort_report–rOz$SvnRaTransport.Reporter.abort_reportr<) rrrr;rErGrJrNrQrrrrÚReporteros   ÿ rRcOs&| tjj|j||g|¢Ri|¤Ž¡Sr<)rRrr'Ú do_update)r5rBrAr/ÚkwargsrrrrS›sÿzSvnRaTransport.do_update)r!N)rrrÚ__doc__r;ÚobjectrRrSrrrrr Js   ,r )Ú __future__rrrÚsvn.coreÚsvn.rar r#r.Úmercurial.pycompatrÚ mercurialrr'Ú initializer*rrrVr rrrrÚs