
    4Քh                        S SK Jr  S SKrS SKrS SKrS SKJrJr  S SKJ	r	J
r
  S SKJr  S SKJr  S SKJrJrJrJr  \R(                  " \5      r " S S	\5      r\R0                  " \5        g)
    )annotationsN)
BadCommandInstallationError)
HiddenTextdisplay_path)make_command)path_to_url)
RevOptionsVersionControl(find_path_to_project_root_from_repo_rootvcsc                     ^  \ rS rSrSrSrSrSr\SS j5       r	          SS jr
 S         SS jjr S         SS	 jjr\SS
 j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SU 4S jj5       rSrU =r$ )	Mercurial   hgz.hgclone)zhg+filezhg+httpzhg+httpszhg+sshzhg+static-httpc                    SU  3/$ )Nz--rev= )revs    S/var/www/auris/envauris/lib/python3.13/site-packages/pip/_internal/vcs/mercurial.pyget_base_rev_argsMercurial.get_base_rev_args!   s        c                4   UR                  5       n[        R                  SUU[        U5      5        US::  a  SnOUS:X  a  SnOUS:X  a  SnOSnU R	                  [        S	S
/UQUPUP76 5        U R	                  [        S/UQUR                  5       P76 US9  g )NzCloning hg %s%s to %sr   )z--quiet   r      )	--verbose)r   z--debugr   z
--noupdateupdatecwd)
to_displayloggerinfor   run_commandr   to_args)selfdesturlrev_options	verbosityrev_displayflagss          r   	fetch_newMercurial.fetch_new%   s     ",,.#		
 >%1E!^E!^"E,Eg|OeOSO$OPAEA;+>+>+@A 	 	
r   c                P   / n[         R                  R                  XR                  S5      n[        R
                  " 5       nUS::  a  UR                  S5         UR                  U5        UR                  SSUR                  5        [        US5       nUR                  U5        S S S 5        [        S/UQUR                  5       P76 n	U R                  XS9  g ! , (       d  f       N:= f! [        [        R                   4 a   n
["        R%                  S	X*5         S n
A
g S n
A
ff = f)
Nhgrcr   -qpathsdefaultwr   r   z/Could not switch Mercurial repository to %s: %s)ospathjoindirnameconfigparserRawConfigParserappendreadsetsecretopenwriter   r%   r$   OSErrorNoSectionErrorr"   warning)r&   r'   r(   r)   r*   extra_flagsrepo_configconfigconfig_filecmd_argsexcs              r   switchMercurial.switch=   s     ggll4v>--/>t$		1KK$JJw	3::6k3';[) (
 $HR{RK<O<O<QRHX0 ('445 	XNNLcWW	Xs0   :C+ C&C+ 
C($C+ +D%D  D%c                    / nUS::  a  UR                  S5        U R                  S/UQUS9  [        S/UQUR                  5       P76 nU R                  XaS9  g )Nr   r1   pullr   r   )r;   r$   r   r%   )r&   r'   r(   r)   r*   rD   rH   s          r   r   Mercurial.updateV   sg     >t$&/;/T:N;N8K8K8MN,r   c                    U R                  SS/SSUS9R                  5       nU R                  U5      (       a  [        U5      nUR                  5       $ )N
showconfigzpaths.defaultFTshow_stdoutstdout_onlyr    )r$   strip_is_local_repositoryr	   )clslocationr(   s      r   get_remote_urlMercurial.get_remote_urlf   s[    oo?+	  

 %' 	 ##C((c"Cyy{r   c                J    U R                  SS/SSUS9R                  5       nU$ )zG
Return the repository-local changeset revision number, as an integer.
parentsz--template={rev}FTrQ   r$   rT   )rV   rW   current_revisions      r   get_revisionMercurial.get_revisionr   s=    
 ??*+	 + 

 %' 	  r   c                J    U R                  SS/SSUS9R                  5       nU$ )zP
Return the changeset identification hash, as a 40-character
hexadecimal string
r[   z--template={node}FTrQ   r\   )rV   rW   current_rev_hashs      r   get_requirement_revision"Mercurial.get_requirement_revision   s=     ??+,	 + 

 %' 	  r   c                    g)z&Always assume the versions don't matchFr   )rV   r'   names      r   is_commit_id_equalMercurial.is_commit_id_equal   s     r   c                   U R                  S/SSUS9R                  5       n[        R                  R	                  U5      (       d<  [        R                  R                  [        R                  R                  X5      5      n[        X5      $ )zy
Return the path to Python project root, relative to the repo root.
Return None if the project root is in the repo root.
rootFTrQ   )r$   rT   r5   r6   isabsabspathr7   r   )rV   rW   	repo_roots      r   get_subdirectoryMercurial.get_subdirectory   sk     OOH%Tx $ 

%' 	 ww}}Y''X(IJI7LLr   c           	       > [         TU ]  U5      nU(       a  U$  U R                  S/USSSSS9n[        R                  R                  UR                  S5      5      $ ! [         a    [        R                  SU5         g [         a     g f = f)Nri   FTraise)r    rR   rS   on_returncodelog_failed_cmdzIcould not determine if %s is under hg control because hg is not availablez
)superget_repository_rootr$   r   r"   debugr   r5   r6   normpathrstrip)rV   rW   locr	__class__s       r   rt   Mercurial.get_repository_root   s    g)(3J	! %$   A" ww 011  	LL.
   		s   A  B 	BBr   )r   strreturnz	list[str])
r'   r|   r(   r   r)   r
   r*   intr}   None)r   )rW   r|   r}   r|   )r'   r|   re   
str | Noner}   bool)rW   r|   r}   r   )__name__
__module____qualname____firstlineno__re   r8   	repo_nameschemesstaticmethodr   r-   rJ   r   classmethodrX   r^   rb   rf   rm   rt   __static_attributes____classcell__)rz   s   @r   r   r      sH   DGIG    

(
7A
NQ
	
: 11 1  	1
 1 
1< -- -  	-
 - 
-  	 	 
  
        M M 2 2r   r   )
__future__r   r9   loggingr5   pip._internal.exceptionsr   r   pip._internal.utils.miscr   r   pip._internal.utils.subprocessr   pip._internal.utils.urlsr	    pip._internal.vcs.versioncontrolr
   r   r   r   	getLoggerr   r"   r   registerr   r   r   <module>r      sV    "   	 B = 7 0  
		8	$b2 b2J Y r   