ó â\e[c@@s/ddlmZddlZddlZddlZddlmZddlm Z ddl m Z ddl m Z mZmZddlmZmZejdƒZejd ƒZejd ƒZejd ƒZejd ƒZejd ƒZejeƒZdefd„ƒYZd„ZejeƒdS(i(tabsolute_importN(tparse(tLink(t indent_log(t display_pathtremove_auth_from_urltrmtree(tVersionControltvcss url="([^"]+)"scommitted-rev="(\d+)"s URL: (.+)sRevision: (.+)s\s*revision="(\d+)"s(.*)t SubversioncB@sžeZdZdZdZdZd„Zd„Zd „Zd „Z d „Z d „Z d „Z d„Z d„Zd„Zd„Zd„Zd„Zd„ZRS(tsvns.svntcheckoutssvn+sshssvn+https svn+httpsssvn+svncC@s d|gS(Ns-r((tselftrev((s;/tmp/pip-install-0xiv62/pip/pip/_internal/vcs/subversion.pytget_base_rev_argsscC@s|jdƒj|jƒ s,td|ƒ‚|jd|gdtdidd6ƒ}tj|ƒ}|s“tj dt |ƒƒtj d |ƒd S|j d ƒjƒ}tj|ƒ}|sítj d t |ƒƒtj d |ƒ|d fS||j d ƒfS(s/Returns (url, revision), where both are stringst/sBad directory: %stinfot show_stdoutt extra_environtCtLANGs'Cannot determine URL of svn checkout %ss!Output that cannot be parsed: %sis,Cannot determine revision of svn checkout %sN(NN(trstriptendswithtdirnametAssertionErrort run_commandtFalset _svn_url_retsearchtloggertwarningRtdebugtNonetgrouptstript_svn_revision_re(R tlocationtoutputtmatchturl((s;/tmp/pip-install-0xiv62/pip/pip/_internal/vcs/subversion.pytget_info"s,     cC@sŽ|j|jƒ\}}tjd||ƒtƒTtjj|ƒrTt|ƒndg|j ƒ||g}|j |dt ƒWdQXdS(s@Export the svn repository at the url to the destination locations!Exporting svn repository %s to %stexportRN( tget_url_rev_optionsR'RRRtostpathtexistsRtto_argsRR(R R$R't rev_optionstcmd_args((s;/tmp/pip-install-0xiv62/pip/pip/_internal/vcs/subversion.pyR)>s  cC@sY|jƒ}tjd||t|ƒƒddg|jƒ||g}|j|ƒdS(NsChecking out %s%s to %sR s-q(t to_displayRRRR.R(R tdestR'R/t rev_displayR0((s;/tmp/pip-install-0xiv62/pip/pip/_internal/vcs/subversion.pyt fetch_newKs   cC@s.dg|jƒ||g}|j|ƒdS(Ntswitch(R.R(R R2R'R/R0((s;/tmp/pip-install-0xiv62/pip/pip/_internal/vcs/subversion.pyR5VscC@s+dg|jƒ|g}|j|ƒdS(Ntupdate(R.R(R R2R/R0((s;/tmp/pip-install-0xiv62/pip/pip/_internal/vcs/subversion.pyR6ZscC@sŠxƒ|D]{}t|ƒj}|s(qnd|krYdj|jdƒd ƒjƒ}n|}||jkr|jddƒdSqWdS(Nt-iÿÿÿÿt#ii(Rt egg_fragmenttjointsplittlowertkeyR (R tdisttdependency_linksR'R9R=((s;/tmp/pip-install-0xiv62/pip/pip/_internal/vcs/subversion.pyt get_location^s  %c C@síd}xàtj|ƒD]Ï\}}}|j|krAg|(qn|j|jƒtjj||jdƒ}tjj|ƒs„qn|j|ƒ\}}||kr²|d}n$| sÉ|j|ƒ rÖg|(qnt ||ƒ}qW|S(sR Return the maximum revision for all files under a given location itentriesR( R+twalkRtremoveR,R:R-t_get_svn_url_revt startswithtmax( R R$trevisiontbasetdirstfilest entries_fntdirurltlocalrev((s;/tmp/pip-install-0xiv62/pip/pip/_internal/vcs/subversion.pyt get_revisionls"  cC@sDtt|ƒj|ƒ\}}|jdƒr:d|}n||fS(Nsssh://ssvn+(tsuperR t get_url_revRE(R R'R ((s;/tmp/pip-install-0xiv62/pip/pip/_internal/vcs/subversion.pyRP‡s cC@s"t|ƒ}t|ƒ}||fS(N(tget_rev_options_argsR(R R't extra_args((s;/tmp/pip-install-0xiv62/pip/pip/_internal/vcs/subversion.pytget_url_rev_argsŽs  cC@sw|}x]tjjtjj|dƒƒse|}tjj|ƒ}||kr tjd|ƒdSq W|j|ƒdS(Nssetup.pysGCould not find setup.py for directory %s (tried all parent directories)i( R+R,R-R:RRRR RD(R R$t orig_locationt last_location((s;/tmp/pip-install-0xiv62/pip/pip/_internal/vcs/subversion.pytget_url”s$ c C@sIddlm}tjj||jdƒ}tjj|ƒrat|ƒ}|jƒ}WdQXnd}|j dƒs”|j dƒs”|j dƒrt t t j |jdƒƒƒ}|dd=|dd }g|D]2}t|ƒd krÕ|d rÕt|d ƒ^qÕdg}n |j d ƒr˜tj|ƒ} | sNtd |ƒ‚n| jd ƒ}gtj|ƒD]} t| jd ƒƒ^qmdg}nŒyk|jdd|gdtƒ} tj| ƒjd ƒ}gtj| ƒD]} t| jd ƒƒ^qá}Wn|k r#dg}}nX|r9t|ƒ} nd} || fS(Ni(tInstallationErrorRAtt8t9t10s ii s! I; 5 cC@s[|j|ƒ}|dkrdS|jƒjddƒd}|j|ƒ}d|||fS(NR7iissvn+%s@%s#egg=%s(RVR tegg_nameR;RN(R R>R$trepotegg_project_nameR ((s;/tmp/pip-install-0xiv62/pip/pip/_internal/vcs/subversion.pytget_src_requirementÔs  cC@stS(s&Always assume the versions don't match(R(R R2tname((s;/tmp/pip-install-0xiv62/pip/pip/_internal/vcs/subversion.pytis_commit_id_equalÝs(ssvnssvn+sshssvn+https svn+httpsssvn+svn(t__name__t __module__RvRt repo_nametschemesRR(R)R4R5R6R@RNRPRSRVRDRuRw(((s;/tmp/pip-install-0xiv62/pip/pip/_internal/vcs/subversion.pyR s$          , cC@sÜtj|ƒ}t|dƒr4|j|j}}nl|d}d|kr”|jdƒd}d|kr„|jddƒ\}}q |d}}n d \}}g}|r¿|d|g7}n|rØ|d|g7}n|S( s; Return the extra arguments to pass to RevOptions. tusernameit@it:s --usernames --passwordN(NN(t urllib_parseturlsplitthasattrR|tpasswordR;R (R'trR|R‚tnetloctauthRR((s;/tmp/pip-install-0xiv62/pip/pip/_internal/vcs/subversion.pyRQâs     ( t __future__RtloggingR+tretpip._vendor.six.moves.urllibRRtpip._internal.indexRtpip._internal.utils.loggingRtpip._internal.utils.miscRRRtpip._internal.vcsRRtcompileReRgRR#RjRit getLoggerRxRR RQtregister(((s;/tmp/pip-install-0xiv62/pip/pip/_internal/vcs/subversion.pyts$   É