a
    ñ»j–  ã                   @  s€   d dl mZ d dl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 )	é    )ÚannotationsN)Ú
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ddœdd	„ƒZdd
ddddœdd„Z	d$dd
ddddœdd„Z
d%dd
ddddœdd„Zedddœ‡ fdd„ƒZedddœdd„ƒZedddœdd„ƒZeddd 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Ústrz	list[str])ÚrevÚreturnc                 C  s   d| gS )Nz-r© )r   r   r   ú>E:\soccer\ml_env\Lib\site-packages\pip/_internal/vcs/bazaar.pyÚget_base_rev_args!   s    zBazaar.get_base_rev_argsr   r	   ÚintÚNone)ÚdestÚurlÚrev_optionsÚ	verbosityr   c                 C  sz   |  ¡ }t d||t|ƒ¡ |dkr,dg}n|dkr:g }ndd| › �g}tddg|¢| ¡ ‘|‘|‘R Ž }|  |¡ d S )	NzChecking out %s%s to %sr   z--quieté   ú-ÚvÚcheckoutz--lightweight)Ú
to_displayÚloggerÚinfor   r   Úto_argsÚrun_command)Úselfr   r   r   r   Úrev_displayÚflagsÚcmd_argsr   r   r   Ú	fetch_new%   s0    üÿÿÿÿÿzBazaar.fetch_newr   c                 C  s   | j td|ƒ|d� d S )NÚswitch©Úcwd)r#   r   )r$   r   r   r   r   r   r   r   r)   :   s    zBazaar.switchc                 C  s‚   g }|dkr|  d¡ | jtdƒdd|d�}| d¡rXtdg|¢|‘R Ž }| j||d	� td
g|¢| ¡ ‘R Ž }| j||d	� d S )Nr   z-qr!   FT©Úshow_stdoutÚstdout_onlyr+   zStandalone Úbindr*   Úupdate)Úappendr#   r   Ú
startswithr"   )r$   r   r   r   r   r&   Úoutputr'   r   r   r   r0   C   s    
ÿ
zBazaar.updatez tuple[str, str | None, AuthInfo])r   r   c                   s.   t ƒ  |¡\}}}| d¡r$d| }|||fS )Nzssh://zbzr+)ÚsuperÚget_url_rev_and_authr2   )Úclsr   r   Ú	user_pass©Ú	__class__r   r   r5   [   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!   FTr,   )zcheckout of branch: zparent branch: r   )r#   Ú
splitlinesÚstripr2   ÚsplitÚ_is_local_repositoryr   r   )r6   r:   ÚurlsÚlineÚxÚrepor   r   r   Úget_remote_urlc   s    
ÿ

zBazaar.get_remote_urlc                 C  s    | j dgdd|d�}| ¡ d S )NÚrevnoFTr,   éÿÿÿÿ)r#   r;   )r6   r:   Úrevisionr   r   r   Úget_revisionr   s    üzBazaar.get_revisionz
str | NoneÚbool)r   Únamer   c                 C  s   dS )z&Always assume the versions don't matchFr   )r6   r   rI   r   r   r   Úis_commit_id_equal|   s    zBazaar.is_commit_id_equal)r   )r   )Ú__name__Ú
__module__Ú__qualname__rI   ÚdirnameÚ	repo_nameÚschemesÚstaticmethodr   r(   r)   r0   Úclassmethodr5   rC   rG   rJ   Ú__classcell__r   r   r8   r   r      s&   
 û û	r   )Ú
__future__r   ÚloggingÚpip._internal.utils.miscr   r   Úpip._internal.utils.subprocessr   Úpip._internal.utils.urlsr   Ú pip._internal.vcs.versioncontrolr   r   r	   r
   r   Ú	getLoggerrK   r    r   Úregisterr   r   r   r   Ú<module>   s   
o