
    k"g                         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    Q/var/www/html/djangosite/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}n|dk(  rd}ndd|z   }t	        dd	||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flagcmd_argss           r   	fetch_newzBazaar.fetch_new$   s     ",,.%		
 >D!^Ds9}o&D{/B/B/Dc4
 	"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_onlyr1   zStandalone bindz-qr0   update)r(   r   
startswithr'   )r)   r   r   r   outputr,   s         r   r7   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_authr8   )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&   FTr3   )zcheckout of branch: zparent branch: r   )r(   
splitlinesstripr8   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revnoFTr3   )r(   rB   )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   rP   s      r   is_commit_id_equalzBazaar.is_commit_id_equalj   s     r   )__name__
__module____qualname__rP   dirname	repo_nameschemesstaticmethodstrr   r   r   r   intr-   r/   r7   classmethodr   r   r
   r<   rJ   rO   boolrR   __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   	getLoggerrS   r%   r   registerr   r   r   <module>rg      sT     ( ( = 7 0  
		8	$[^ [| V r   