3
Ug)                 @   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 jeZG dd deZej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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bzr+http	bzr+httpsbzr+sshbzr+sftpbzr+ftpbzr+lpbzr+file)revreturnc             C   s   d| gS )Nz-r )r   r   r   </tmp/pip-unpacked-wheel-0ht26j5g/pip/_internal/vcs/bazaar.pyget_base_rev_args    s    zBazaar.get_base_rev_argsN)desturlrev_optionsr   c             C   s>   |j  }tjd||t| tdd|j ||}| j| d S )NzChecking out %s%s to %sr   z-q)
to_displayloggerinfor   r   to_argsrun_command)selfr   r   r   rev_display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)   /   s    zBazaar.switchc             C   s"   t dd|j }| j||d d S )Npullz-q)r*   )r   r#   r$   )r%   r   r   r   r'   r   r   r   update2   s    zBazaar.update)r   r   c                s.   t  j|\}}}|jdr$d| }|||fS )Nzssh://zbzr+)superget_url_rev_and_auth
startswith)clsr   r   	user_pass)	__class__r   r   r.   6   s    
zBazaar.get_url_rev_and_auth)locationr   c             C   sr   | j dgdd|d}xT|j D ]H}|j }x:dD ]2}|j|r0|j|d }| j|r^t|S |S q0W qW td S )	Nr"   FT)show_stdoutstdout_onlyr*   checkout of branch: parent branch:    )r6   r7   )r$   
splitlinesstripr/   split_is_local_repositoryr   r
   )r0   r3   urlslinexrepor   r   r   get_remote_url>   s    


zBazaar.get_remote_urlc             C   s    | j dgdd|d}|j d S )NrevnoFT)r4   r5   r*   r8   )r$   r9   )r0   r3   revisionr   r   r   get_revisionM   s    zBazaar.get_revision)r   namer   c             C   s   dS )z&Always assume the versions don't matchFr   )r0   r   rF   r   r   r   is_commit_id_equalW   s    zBazaar.is_commit_id_equal)r   r   r   r   r   r   r   )__name__
__module____qualname__rF   dirname	repo_nameschemesstaticmethodstrr   r   r   r   r(   r)   r,   classmethodr   r   r	   r.   rA   rE   boolrG   __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   	getLoggerrH   r!   r   registerr   r   r   r   <module>   s   
K