a
    Oc                     @   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 )BazaarZ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   P/var/www/html/megastudio/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   )Z
to_displayloggerinfor   r   to_argsrun_command)selfr   r   r   r   Z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 )NZ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Zshow_stdoutZstdout_onlyr'   )zcheckout of branch: zparent branch: r   )r    
splitlinesstripr+   splitZ_is_local_repositoryr   r
   )r,   r0   urlslinexZrepor   r   r   get_remote_urlF   s    


zBazaar.get_remote_urlc                 C   s    | j dgdd|d}| d S )NZrevnoFTr1   )r    r2   )r,   r0   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   )r,   r   r<   r   r   r   is_commit_id_equal_   s    zBazaar.is_commit_id_equal)__name__
__module____qualname__r<   dirnameZ	repo_nameschemesstaticmethodstrr   r   r   r   intr$   r%   r(   classmethodr   r   r	   r*   r8   r;   boolr=   __classcell__r   r   r.   r   r      s&   
$	r   )loggingtypingr   r   r   pip._internal.utils.miscr   r   Zpip._internal.utils.subprocessr   pip._internal.utils.urlsr    pip._internal.vcs.versioncontrolr	   r
   r   r   r   	getLoggerr>   r   r   registerr   r   r   r   <module>   s   
S