U .eu@sddlmZddlZddlZddlmZddlmZm Z ddl m Z ddl m Z ddlmZddlmZmZe rdd lmZmZdd lmZdd lmZmZeeZGd d d eZeedS))absolute_importN)parse) display_pathrmtree) make_command)MYPY_CHECK_RUNNING) path_to_url)VersionControlvcs)OptionalTuple) HiddenText)AuthInfo RevOptionscseZdZdZdZdZdZfddZeddZ d d Z d d Z d dZ ddZ efddZeddZeddZeddZZS)Bazaarbzrz.bzrbranch)rzbzr+httpz bzr+httpszbzr+sshzbzr+sftpzbzr+ftpzbzr+lpcs0tt|j||ttddr,tjdgdS)N uses_fragmentZlp)superr__init__getattr urllib_parserextend)selfargskwargs __class__|}td||t|tdd|||}||dS)NzChecking out %s%s to %sr-q)Z to_displayloggerinforrr(r')rdestr*r+Z rev_displaycmd_argsrrr fetch_new=szBazaar.fetch_newcCs|jtd||ddS)Nswitchcwd)r'r)rr/r*r+rrrr2Ksz Bazaar.switchcCs"tdd|}|j||ddS)NZpullr,r3)rr(r')rr/r*r+r0rrrupdateOsz Bazaar.updatecs2tt||\}}}|dr(d|}|||fS)Nzssh://zbzr+)rrget_url_rev_and_auth startswith)clsr*r Z user_passrrrr6Ts zBazaar.get_url_rev_and_authcCst|jdgd|d}|D]T}|}dD]B}||r*||d}||r`t|S|Sq*qdS)Nr.Fr#r4)zcheckout of branch: zparent branch: )r' splitlinesstripr7splitZ_is_local_repositoryr)r8r)ZurlslinexZreporrrget_remote_url]s   zBazaar.get_remote_urlcCs|jdgd|d}|dS)NZrevnoFr9)r'r;)r8r)Zrevisionrrr get_revisionks zBazaar.get_revisioncCsdS)z&Always assume the versions don't matchFr)r8r/namerrris_commit_id_equalrszBazaar.is_commit_id_equal)__name__ __module__ __qualname__rCdirnameZ repo_nameZschemesr staticmethodr!r"r1r2r5 classmethodr6r@rBrD __classcell__rrrrrs&    r)Z __future__rZloggingr$Zpip._vendor.six.moves.urllibrrZpip._internal.utils.miscrrZpip._internal.utils.subprocessrZpip._internal.utils.typingrZpip._internal.utils.urlsrZ pip._internal.vcs.versioncontrolr r typingr r r rrZ getLoggerrEr-rregisterrrrrs       ^