Viewing File: /opt/alt/python35/lib/python3.5/site-packages/pip/_internal/vcs/subversion.pyo

ó
“tÆ_c@@scddlmZddlZddlZddlZddlmZddlmZm	Z	m
Z
mZddlm
Z
ddlmZddlmZmZejdƒZejd	ƒZejd
ƒZejdƒZer-ddlmZmZdd
lmZddlmZddlmZmZneje ƒZ!defd„ƒYZ"ej#e"ƒdS(i(tabsolute_importN(t
indent_log(tdisplay_pathtis_console_interactivetrmtreetsplit_auth_from_netloc(tmake_command(tMYPY_CHECK_RUNNING(tVersionControltvcss
url="([^"]+)"scommitted-rev="(\d+)"s\s*revision="(\d+)"s<url>(.*)</url>(tOptionaltTuple(tCommandArgs(t
HiddenText(tAuthInfot
RevOptionst
SubversioncB@sòeZdZdZdZdZed„ƒZed„ƒZ	ed	„ƒZ
ed
„ƒZed„ƒZed„ƒZ
ed
„ƒZed„ƒZed„ƒZdd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(tsvns.svntcheckoutssvn+sshssvn+https	svn+httpsssvn+svncC@stS(N(tTrue(tclst
remote_url((sM/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/vcs/subversion.pytshould_add_vcs_url_prefix+scC@s
d|gS(Ns-r((trev((sM/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/vcs/subversion.pytget_base_rev_args/sc	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
        itentriest/(
tostwalktdirnametremovetpathtjointexistst_get_svn_url_revt
startswithtmax(	Rtlocationtrevisiontbasetdirst_t
entries_fntdirurltlocalrev((sM/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/vcs/subversion.pytget_revision3s"
cC@s/|dkr%tt|ƒj||ƒSt|ƒS(s™
        This override allows the auth information to be passed to svn via the
        --username and --password options instead of via the URL.
        tssh(tsuperRtget_netloc_and_authR(Rtnetloctscheme((sM/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/vcs/subversion.pyR0OscC@sJtt|ƒj|ƒ\}}}|jdƒr=d|}n|||fS(Nsssh://ssvn+(R/Rtget_url_rev_and_authR#(RturlRt	user_pass((sM/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/vcs/subversion.pyR3\s!
cC@s<g}|r|d|g7}n|r8|d|g7}n|S(Ns
--usernames
--password((tusernametpasswordt
extra_args((sM/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/vcs/subversion.pyt
make_rev_argses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(	RRR!R RtloggertwarningtNoneR"(RR%t
orig_locationt
last_location((sM/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/vcs/subversion.pytget_remote_urlps$c
	C@sKddlm}tjj||jdƒ}tjj|ƒrat|ƒ}|jƒ}WdQXnd}|j	dƒs”|j	dƒs”|j	dƒrt
ttj
|jdƒƒƒ}|dd=|dd	}g|D]2}t|ƒd
krÕ|d
rÕt|d
ƒ^qÕdg}n|j	dƒr tj|ƒ}	|	sVtdjtƒƒ‚n|	jd
ƒ}gtj|ƒD]}
t|
jd
ƒƒ^qudg}n†ye|jdd|gƒ}tj|ƒjd
ƒ}gtj|ƒD]}
t|
jd
ƒƒ^qã}Wn|k
r%dg}}nX|r;t|ƒ}nd}||fS(Ni(tSubProcessErrorRtt8t9t10s

ii	s<?xmlsBadly formatted data: {data!r}itinfos--xml(tpip._internal.exceptionsR@RRR RR!topentreadR#tlisttmaptstrt
splitlinestsplittlentintt_svn_xml_url_retsearcht
ValueErrortformattlocalstgroupt_svn_rev_retfinditertrun_commandt_svn_info_xml_url_ret_svn_info_xml_rev_reR<R$(
RR%R@tentries_pathtftdataR4tdtrevstmatchtmtxmlR((sM/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/vcs/subversion.pyR"…s>!I;5
cC@stS(s&Always assume the versions don't match(tFalse(Rtdesttname((sM/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/vcs/subversion.pytis_commit_id_equal·scC@sA|dkrtƒ}n||_d|_tt|ƒjƒdS(N(R<Rtuse_interactivet_vcs_versionR/Rt__init__(tselfRg((sM/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/vcs/subversion.pyRi¼s
		cC@s“d}|jdgƒ}|j|ƒs+dS|t|ƒjƒd}|jdƒdjdƒ}yttt|ƒƒ}Wntk
rŽdSX|S(sQuery the version of the currently installed Subversion client.

        :return: A tuple containing the parts of the version information or
            ``()`` if the version returned from ``svn`` could not be parsed.
        :raises: BadCommand: If ``svn`` is not installed.
        s
svn, version s	--versionit-t.(((	RXR#RNRMt	partitionttupleRJRORR(Rjtversion_prefixtversiontversion_listtparsed_version((sM/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/vcs/subversion.pytcall_vcs_versionËs
cC@s/|jdk	r|jS|jƒ}||_|S(sReturn the version of the currently installed Subversion client.

        If the version of the Subversion client has already been queried,
        a cached value will be used.

        :return: A tuple containing the parts of the version information or
            ``()`` if the version returned from ``svn`` could not be parsed.
        :raises: BadCommand: If ``svn`` is not installed.
        N(RhR<Rs(Rjtvcs_version((sM/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/vcs/subversion.pytget_vcs_versionés
	cC@s3|jsdgS|jƒ}|dkr/dgSgS(sXReturn options to be used on calls to Subversion that contact the server.

        These options are applicable for the following ``svn`` subcommands used
        in this class.

            - checkout
            - export
            - switch
            - update

        :return: A list of command line arguments to pass to ``svn``.
        s--non-interactiveiis--force-interactive(ii(RgRu(Rjtsvn_version((sM/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/vcs/subversion.pytget_remote_call_optionsþs		c
C@sŒ|j|ƒ\}}tjd||ƒtƒUtjj|ƒrQt|ƒntd|j	ƒ|j
ƒ||ƒ}|j|ƒWdQXdS(s@Export the svn repository at the url to the destination locations!Exporting svn repository %s to %stexportN(tget_url_rev_optionsR:RERRRR!RRRwtto_argsRX(RjR%R4trev_optionstcmd_args((sM/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/vcs/subversion.pyRxs

cC@s`|jƒ}tjd||t|ƒƒtdd|jƒ|jƒ||ƒ}|j|ƒdS(NsChecking out %s%s to %sRs-q(t
to_displayR:RERRRwRzRX(RjRdR4R{trev_displayR|((sM/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/vcs/subversion.pyt	fetch_new0s
cC@s5td|jƒ|jƒ||ƒ}|j|ƒdS(Ntswitch(RRwRzRX(RjRdR4R{R|((sM/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/vcs/subversion.pyR€?scC@s2td|jƒ|jƒ|ƒ}|j|ƒdS(Ntupdate(RRwRzRX(RjRdR4R{R|((sM/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/vcs/subversion.pyRGs	(Rssvn+sshssvn+https	svn+httpsssvn+svnN(t__name__t
__module__ReRt	repo_nametschemestclassmethodRtstaticmethodRR-R0R3R9R?R"RfR<RiRsRuRwRxRR€R(((sM/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/vcs/subversion.pyR%s*
	2			!			($t
__future__RtloggingRtretpip._internal.utils.loggingRtpip._internal.utils.miscRRRRtpip._internal.utils.subprocessRtpip._internal.utils.typingRt pip._internal.vcs.versioncontrolRR	tcompileRPRVRZRYttypingR
RRR
RRt	getLoggerR‚R:Rtregister(((sM/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/vcs/subversion.pyt<module>s*"ÿ,
Back to Directory File Manager