
    )h                         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e      Z ej,                  e       y)	    N)ListOptionalTuple)
HiddenTextdisplay_path)make_command)path_to_url)AuthInfoRemoteNotFoundError
RevOptionsVersionControlvcsc            
           e Zd ZdZdZdZdZedede	e   fd       Z
ded	ed
ededdf
dZded	ed
eddfdZded	ed
eddfdZed	edeeee   ef   f fd       Zededefd       Zededefd       Zededee   defd       Z xZS )Bazaarbzrz.bzrbranch)zbzr+httpz	bzr+httpszbzr+sshzbzr+sftpzbzr+ftpzbzr+lpzbzr+filerevreturnc                 
    d| gS )Nz-r )r   s    K/var/www/html/venv/lib/python3.12/site-packages/pip/_internal/vcs/bazaar.pyget_base_rev_argszBazaar.get_base_rev_args    s    c{    desturlrev_options	verbosityNc                     |j                         }t        j                  d||t        |             |dk  rdg}n|dk(  rg }n	dd|z   g}t	        ddg||j                         || }| j                  |       y )	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_argss           r   	fetch_newzBazaar.fetch_new$   s     ",,.%		
 >KE!^EY()E
*/
1<1D1D1F
HK
MQ
 	"r   c                 >    | j                  t        d|      |       y )Nswitchcwd)r'   r   )r(   r   r   r   s       r   r.   zBazaar.switch9   s    h4$?r   c                     | j                  t        d      dd|      }|j                  d      r t        dd|      }| j                  ||       t        d	d|j                               }| j                  ||       y )
Nr%   FTshow_stdoutstdout_onlyr0   zStandalone bindz-qr/   update)r'   r   
startswithr&   )r(   r   r   r   outputr+   s         r   r6   zBazaar.update<   s    !! e4 " 
 ]+ $FD#6HX40$0C0C0EFt,r   c                 `    t         |   |      \  }}}|j                  d      rd|z   }|||fS )Nzssh://zbzr+)superget_url_rev_and_authr7   )clsr   r   	user_pass	__class__s       r   r;   zBazaar.get_url_rev_and_authI   s=     $g:3?S)>>(#3,CC""r   locationc                 (   | j                  dgdd|      }|j                         D ]d  }|j                         }dD ]M  }|j                  |      s|j	                  |      d   }| j                  |      rt        |      c c S |c c S  f t        )Nr%   FTr2   )zcheckout of branch: zparent branch: r   )r'   
splitlinesstripr7   split_is_local_repositoryr	   r   )r<   r?   urlslinexrepos         r   get_remote_urlzBazaar.get_remote_urlQ   s    H%Tx  
 OO% 	 D::<D@  ??1%::a=+D//5*400K 	  "!r   c                 T    | j                  dgdd|      }|j                         d   S )NrevnoFTr2   )r'   rA   )r<   r?   revisions      r   get_revisionzBazaar.get_revision`   s9    ??I	 # 
 ""$R((r   namec                      y)z&Always assume the versions don't matchFr   )r<   r   rO   s      r   is_commit_id_equalzBazaar.is_commit_id_equalj   s     r   )__name__
__module____qualname__rO   dirname	repo_nameschemesstaticmethodstrr   r   r   r   intr,   r.   r6   classmethodr   r   r
   r;   rI   rN   boolrQ   __classcell__)r>   s   @r   r   r      sV   DGIG s tCy  ##(#7A#NQ#	#*@3 @Z @j @T @-3 -Z -j -T - #s #uS(3-5Q/R # # "c "c " " )C )C ) ) c # 4  r   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   	getLoggerrR   r$   r   registerr   r   r   <module>rf      sT     ( ( = 7 0  
		8	$[^ [| V r   