o
    Ëý°jç  ã                   @   sˆ   d dl Z d dlmZmZmZ d dlmZmZ d dlm	Z	 d dl
mZ d dlmZmZmZmZmZ e  e¡ZG dd„ deƒZe e¡ dS )	é    N)ÚListÚOptionalÚTuple)Ú
HiddenTextÚdisplay_path)Úmake_command)Úpath_to_url)ÚAuthInfoÚRemoteNotFoundErrorÚ
RevOptionsÚVersionControlÚvcsc                
       sþ   e Zd ZdZdZdZdZedede	e fdd„ƒZ
d	ed
edededdf
dd„Zd	ed
ededdfdd„Zd	ed
ededdfdd„Zed
edeeee ef f‡ fdd„ƒZededefdd„ƒZededefdd„ƒZed	edee defdd„ƒZ‡  ZS )ÚBazaarÚbzrz.bzrÚbranch)zbzr+httpz	bzr+httpszbzr+sshzbzr+sftpzbzr+ftpzbzr+lpzbzr+fileÚrevÚreturnc                 C   s   d| gS )Nz-r© )r   r   r   ú‹/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/pip/_internal/vcs/bazaar.pyÚget_base_rev_args    s   zBazaar.get_base_rev_argsÚdestÚurlÚrev_optionsÚ	verbosityNc                 C   sh   |  ¡ }t d||t|ƒ¡ |dkrd}n|dkrd}ndd| › �}td|| ¡ ||ƒ}|  |¡ d S )	NzChecking out %s%s to %sr   z--quieté   Ú ú-Úvr   )Ú
to_displayÚloggerÚinfor   r   Úto_argsÚrun_command)Úselfr   r   r   r   Úrev_displayÚflagÚcmd_argsr   r   r   Ú	fetch_new$   s   üzBazaar.fetch_newc                 C   s   | j td|ƒ|d� d S )NÚswitch©Úcwd)r"   r   )r#   r   r   r   r   r   r   r(   7   s   zBazaar.switchc                 C   s"   t dd| ¡ ƒ}| j||d� d S )NÚpullz-qr)   )r   r!   r"   )r#   r   r   r   r&   r   r   r   Úupdate:   s   zBazaar.updatec                    s.   t ƒ  |¡\}}}| d¡rd| }|||fS )Nzssh://zbzr+)ÚsuperÚget_url_rev_and_authÚ
startswith)Úclsr   r   Ú	user_pass©Ú	__class__r   r   r.   >   s   

zBazaar.get_url_rev_and_authÚlocationc                 C   sv   | j dgdd|d�}| ¡ D ]*}| ¡ }dD ]!}| |¡r7| |¡d }|  |¡r1t|ƒ    S |    S qqt‚)Nr    FT©Úshow_stdoutÚstdout_onlyr*   )zcheckout of branch: zparent branch: r   )r"   Ú
splitlinesÚstripr/   ÚsplitÚ_is_local_repositoryr   r
   )r0   r4   ÚurlsÚlineÚxÚrepor   r   r   Úget_remote_urlF   s   
ÿ

üÿzBazaar.get_remote_urlc                 C   s    | j dgdd|d�}| ¡ d S )NÚrevnoFTr5   éÿÿÿÿ)r"   r8   )r0   r4   Úrevisionr   r   r   Úget_revisionU   s   üzBazaar.get_revisionÚnamec                 C   s   dS )z&Always assume the versions don't matchFr   )r0   r   rE   r   r   r   Úis_commit_id_equal_   s   zBazaar.is_commit_id_equal)Ú__name__Ú
__module__Ú__qualname__rE   ÚdirnameÚ	repo_nameÚschemesÚstaticmethodÚstrr   r   r   r   Úintr'   r(   r,   Úclassmethodr   r   r	   r.   r@   rD   ÚboolrF   Ú__classcell__r   r   r2   r   r      s8    
ÿÿÿÿ
þ&	$r   )ÚloggingÚtypingr   r   r   Úpip._internal.utils.miscr   r   Úpip._internal.utils.subprocessr   Úpip._internal.utils.urlsr   Ú pip._internal.vcs.versioncontrolr	   r
   r   r   r   Ú	getLoggerrG   r   r   Úregisterr   r   r   r   Ú<module>   s    
S