a
    hbòfç  ã                   @   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ee	e dœdd„ƒZ
eeeedd	œd
d„Zeeeddœdd„Zeeeddœdd„Zeeeeee ef dœ‡ fdd„ƒZeeedœdd„ƒZeeedœdd„ƒZeeee edœ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   úU/home/httpd/docs/test/DocsMgr/lib/python3.9/site-packages/pip/_internal/vcs/bazaar.pyÚget_base_rev_args    s    zBazaar.get_base_rev_argsN)ÚdestÚurlÚrev_optionsÚ	verbosityr   c                 C   sh   |  ¡ }t d||t|ƒ¡ |dkr*d}n|dkr8d}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_new)r   r   r   r   c                 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.update)r   r   c                    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)Úlocationr   c                 C   sz   | j dgdd|d�}| ¡ D ]T}| ¡ }dD ]B}| |¡r,| |¡d }|  |¡rbt|ƒ    S |    S q,qt‚d S )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)r   Únamer   c                 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      s&   
þ$	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