U n a+0@sddlmZddlZddlZddlZddlmZddlmZm Z m Z m Z ddl m Z ddlmZddlmZmZedZed Zed Zed Zerdd lmZmZdd l mZddlmZddlmZmZee Z!GdddeZ"e#e"dS))absolute_importN) indent_log) display_pathis_console_interactivermtreesplit_auth_from_netloc) make_command)MYPY_CHECK_RUNNING)VersionControlvcsz url="([^"]+)"zcommitted-rev="(\d+)"z\s*revision="(\d+)"z(.*))OptionalTuple) CommandArgs) HiddenText)AuthInfo RevOptionscseZdZdZdZdZdZeddZe ddZ ed d Z efd d Z efd dZ e ddZeddZeddZeddZd(fdd ZddZddZddZd d!Zd"d#Zd$d%Zd&d'ZZS)) Subversionsvnz.svncheckout)rzsvn+sshzsvn+httpz svn+httpszsvn+svncCsdS)NT)cls remote_urlrr]C:\Users\vtejo\AppData\Local\Temp\pip-unpacked-wheel-6mt8ur68\pip\_internal\vcs\subversion.pyshould_add_vcs_url_prefix+sz$Subversion.should_add_vcs_url_prefixcCsd|gS)Nz-rr)revrrrget_base_rev_args/szSubversion.get_base_rev_argsc Csd}t|D]\}}}|j|kr0g|dd<q||jtj||jd}tj|s\q||\}}||kr||d}n|r||sg|dd<qt ||}q|S)zR Return the maximum revision for all files under a given location rNentries/) oswalkdirnameremovepathjoinexists_get_svn_url_rev startswithmax) rlocationrevisionbasedirsfiles entries_fndirurllocalrevrrr get_revision3s"       zSubversion.get_revisioncs"|dkrtt|||St|S)z This override allows the auth information to be passed to svn via the --username and --password options instead of via the URL. ssh)superrget_netloc_and_authr)rnetlocscheme __class__rrr3OszSubversion.get_netloc_and_authcs2tt||\}}}|dr(d|}|||fS)Nzssh://zsvn+)r2rget_url_rev_and_authr&)rurlr user_passr6rrr8\s zSubversion.get_url_rev_and_authcCs(g}|r|d|g7}|r$|d|g7}|S)Nz --usernamez --passwordr)usernamepassword extra_argsrrr make_rev_argses   zSubversion.make_rev_argscCsR|}tjtj|dsD|}tj|}||krtd|dSq||dS)Nzsetup.pyzGCould not find setup.py for directory %s (tried all parent directories)r)rr"r$r#r loggerwarningr%)rr( orig_location last_locationrrrget_remote_urlps zSubversion.get_remote_urlc Csvddlm}tj||jd}tj|rHt|}|}W5QRXnd}| dsj| dsj| drt t t j |d}|dd=|dd }d d |Ddg}n| d rt|}|std jft|d}dd t|Ddg}n^z<|jdd|gdd} t| d}dd t| D}Wn |k rXdg}}YnX|rjt|} nd} || fS)Nr)InstallationErrorr8910z cSs,g|]$}t|dkr|drt|dqS) )lenint).0drrr s z/Subversion._get_svn_url_rev..zrCr%rsrvr~rrrrrr __classcell__rrr6rr%s<       2 !r)$ __future__rloggingrrepip._internal.utils.loggingrpip._internal.utils.miscrrrrpip._internal.utils.subprocessrpip._internal.utils.typingr pip._internal.vcs.versioncontrolr r compilerarfrjritypingr r rrrr getLoggerrr?rregisterrrrrs,           +