a [f) @sddlZddlmZmZmZddlmZmZddlm Z ddl m Z ddl m Z mZmZmZmZeeZGdddeZeedS) N)ListOptionalTuple) HiddenText display_path) make_command) path_to_url)AuthInfoRemoteNotFoundError RevOptionsVersionControlvcscseZdZdZdZdZdZeee edddZ ee e dd d d Z ee e dd d d Zee e dd ddZeeeeeeefdfdd ZeeedddZeeedddZeeeeedddZZS)BazaarZbzrz.bzrbranch)zbzr+httpz bzr+httpszbzr+sshzbzr+sftpzbzr+ftpzbzr+lpzbzr+file)revreturncCsd|gS)Nz-r)rrr|}td||t|tdd|||}||dS)NzChecking out %s%s to %sr-q)Z to_displayloggerinforrto_args run_command)selfrrrZ rev_displaycmd_argsrrr fetch_new$szBazaar.fetch_newcCs|jtd||ddS)Nswitchcwd)rr)rrrrrrrr /sz Bazaar.switchcCs"tdd|}|j||ddS)NZpullrr!)rrr)rrrrrrrrupdate2sz Bazaar.update)rrcs.t|\}}}|dr$d|}|||fS)Nzssh://zbzr+)superget_url_rev_and_auth startswith)clsrrZ user_pass __class__rrr%6s zBazaar.get_url_rev_and_auth)locationrcCsz|jdgdd|d}|D]T}|}dD]B}||r,||d}||rbt|S|Sq,qtdS)NrFTZ show_stdoutZ stdout_onlyr")zcheckout of branch: zparent branch: )r splitlinesstripr&splitZ_is_local_repositoryrr )r'r*ZurlslinexZreporrrget_remote_url>s    zBazaar.get_remote_urlcCs |jdgdd|d}|dS)NZrevnoFTr+)rr-)r'r*Zrevisionrrr get_revisionMszBazaar.get_revision)rnamercCsdS)z&Always assume the versions don't matchFr)r'rr5rrris_commit_id_equalWszBazaar.is_commit_id_equal)__name__ __module__ __qualname__r5dirnameZ repo_nameZschemes staticmethodstrrrrr rr r# classmethodrrr r%r2r4boolr6 __classcell__rrr(rrs"  $ r)ZloggingtypingrrrZpip._internal.utils.miscrrZpip._internal.utils.subprocessrZpip._internal.utils.urlsrZ pip._internal.vcs.versioncontrolr r r r r Z getLoggerr7rrregisterrrrrs   K