
    dh                        d dl mZ d dl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)	    )annotationsN)
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d       Z	 	 	 	 	 	 	 	 	 	 ddZ		 d	 	 	 	 	 	 	 	 	 ddZ
	 d	 	 	 	 	 	 	 	 	 ddZed fd	       Zedd
       Zedd       Zedd       Z xZS )Bazaarbzrz.bzrbranch)zbzr+httpz	bzr+httpszbzr+sshzbzr+sftpzbzr+ftpzbzr+lpzbzr+filec                
    d| gS )Nz-r )revs    Z/var/www/html/vivango/api/ia/venv/lib/python3.12/site-packages/pip/_internal/vcs/bazaar.pyget_base_rev_argszBazaar.get_base_rev_args!   s    c{    c                    |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)selfdesturlrev_options	verbosity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$   r%   s        r   r+   zBazaar.switch:   s     	h4$?r   c                2   g }|dk  r|j                  d       | j                  t        d      dd|      }|j                  d      r!t        dg|| }| j                  ||	       t        d
g||j	                          }| j                  ||	       y )Nr   z-qr   FTshow_stdoutstdout_onlyr-   zStandalone bindr,   update)appendr    r   
startswithr   )r!   r"   r#   r$   r%   r'   outputr(   s           r   r3   zBazaar.updateC   s     >LL!! e4 " 
 ]+ $F8U8C8HX40H5H+2E2E2GHt,r   c                `    t         |   |      \  }}}|j                  d      rd|z   }|||fS )Nzssh://zbzr+)superget_url_rev_and_authr5   )clsr#   r   	user_pass	__class__s       r   r9   zBazaar.get_url_rev_and_auth[   s=     $g:3?S)>>(#3,CC""r   c                (   | 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   FTr/   )zcheckout of branch: zparent branch: r   )r    
splitlinesstripr5   split_is_local_repositoryr   r	   )r:   locationurlslinexrepos         r   get_remote_urlzBazaar.get_remote_urlc   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revnoFTr/   )r    r>   )r:   rB   revisions      r   get_revisionzBazaar.get_revisionr   s9    ??I	 # 
 ""$R((r   c                     y)z&Always assume the versions don't matchFr   )r:   r"   names      r   is_commit_id_equalzBazaar.is_commit_id_equal|   s     r   )r   strreturnz	list[str])
r"   rP   r#   r   r$   r
   r%   intrQ   None)r   )r#   rP   rQ   z tuple[str, str | None, AuthInfo])rB   rP   rQ   rP   )r"   rP   rN   z
str | NonerQ   bool)__name__
__module____qualname__rN   dirname	repo_nameschemesstaticmethodr   r)   r+   r3   classmethodr9   rG   rL   rO   __classcell__)r<   s   @r   r   r      s$   DGIG  ##(#7A#NQ#	#4 @@ @  	@
 @ 
@ -- -  	-
 - 
-0 # # " " ) )  r   r   )
__future__r   loggingpip._internal.utils.miscr   r   pip._internal.utils.subprocessr   pip._internal.utils.urlsr    pip._internal.vcs.versioncontrolr   r	   r
   r   r   	getLoggerrU   r   r   registerr   r   r   <module>rf      sQ    "  = 7 0  
		8	$l^ l^ V r   