o
    h                     @   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   T/var/www/html/olx_land/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