Ë
    ��h�  ã                   óÞ   — d dl Z d dlZ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mZ d dlmZ d dlmZ d dlmZmZmZmZ  ej,                  e«      Z G d„ d	e«      Z ej4                  e«       y)
é    N)ÚListÚOptionalÚTuple)Ú
BadCommandÚInstallationError)Ú
HiddenTextÚdisplay_path)Úmake_command)Úpath_to_url)Ú
RevOptionsÚVersionControlÚ(find_path_to_project_root_from_repo_rootÚvcsc            
       óF  ‡ — 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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ededee   fd„«       Zededee   fˆ fd„«       Zˆ xZS )Ú	MercurialÚhgz.hgÚclone)zhg+filezhg+httpzhg+httpszhg+sshzhg+static-httpÚrevÚreturnc                 ó   — d| › �gS )Nz--rev=© )r   s    úY/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pip/_internal/vcs/mercurial.pyÚget_base_rev_argszMercurial.get_base_rev_args    s   € à˜˜�ÐÐó    ÚdestÚurlÚrev_optionsÚ	verbosityNc                 ó4  — |j                  «       }t        j                  d||t        |«      «       |dk  rd}n|dk(  rd}n
|dk(  rd}nd}| j	                  t        d	d
g|¢|‘|‘­Ž «       | j	                  t        dg|¢|j                  «       ‘­Ž |¬«       y )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)Úselfr   r   r   r   Úrev_displayÚflagss          r   Ú	fetch_newzMercurial.fetch_new$   s¯   € ð "×,Ñ,Ó.ˆÜ�‰Ø#ØØÜ˜Óô		
ð ˜Š>Ø%1‰EØ˜!Š^Ø‰EØ˜!Š^Ø"‰Eà,ˆEØ×Ñœ g¨|ÐO¸eÐOÀSÐOÈ$ÒOÔPØ×ÑÜ˜ÐA EÐA¨;×+>Ñ+>Ó+@ÒAØð 	õ 	
r   c                 ó  — t         j                  j                  || j                  d«      }t	        j
                  «       }	 |j                  |«       |j                  dd|j                  «       t        |d«      5 }|j                  |«       d d d «       t        dd|j                  «       «      }| j                  ||¬«       y # 1 sw Y   Œ8xY w# t        t        j                  f$ r!}t         j#                  d||«       Y d }~y d }~ww xY w)	NÚhgrcÚpathsÚdefaultÚwr#   ú-qr$   z/Could not switch Mercurial repository to %s: %s)ÚosÚpathÚjoinÚdirnameÚconfigparserÚRawConfigParserÚreadÚsetÚsecretÚopenÚwriter
   r*   r)   ÚOSErrorÚNoSectionErrorr'   Úwarning)	r+   r   r   r   Úrepo_configÚconfigÚconfig_fileÚcmd_argsÚexcs	            r   ÚswitchzMercurial.switch<   sÙ   € Ü—g‘g—l‘l 4¨¯©°vÓ>ˆÜ×-Ñ-Ó/ˆð		1Ø�K‰K˜Ô$Ø�J‰J�w 	¨3¯:©:Ô6Ü�k 3Ó'ð *¨;Ø—‘˜[Ô)÷*ô
 $ H¨d°K×4GÑ4GÓ4IÓJˆHØ×Ñ˜X¨4ÐÕ0÷*ð *ûäœ×4Ñ4Ð5ò 	XÜ�N‰NÐLÈcÐSV×WÑWûð	Xús0   Á:C Á;CÂC ÃCÃ	C ÃD
Ã)DÄD
c                 óŠ   — | j                  ddg|¬«       t        dd|j                  «       «      }| j                  ||¬«       y )NÚpullr4   r$   r#   )r)   r
   r*   )r+   r   r   r   rF   s        r   r#   zMercurial.updateJ   sC   € Ø×Ñ˜& $˜¨TÐÔ2Ü ¨$°×0CÑ0CÓ0EÓFˆØ×Ñ˜ tÐÕ,r   Úlocationc                 ó¤   — | j                  ddgdd|¬«      j                  «       }| j                  |«      rt        |«      }|j                  «       S )NÚ
showconfigzpaths.defaultFT©Úshow_stdoutÚstdout_onlyr%   )r)   ÚstripÚ_is_local_repositoryr   )ÚclsrK   r   s      r   Úget_remote_urlzMercurial.get_remote_urlO   sX   € à�o‰oØ˜?Ð+ØØØð	 ó 
÷
 ‰%‹'ð 	ð ×#Ñ# CÔ(Ü˜cÓ"ˆCØ�y‰y‹{Ðr   c                 óP   — | j                  ddgdd|¬«      j                  «       }|S )zW
        Return the repository-local changeset revision number, as an integer.
        Úparentsz--template={rev}FTrN   ©r)   rQ   )rS   rK   Úcurrent_revisions      r   Úget_revisionzMercurial.get_revision[   s=   € ð
 Ÿ?™?ØÐ*Ð+ØØØð	 +ó 
÷
 ‰%‹'ð 	ð  Ðr   c                 óP   — | j                  ddgdd|¬«      j                  «       }|S )zh
        Return the changeset identification hash, as a 40-character
        hexadecimal string
        rV   z--template={node}FTrN   rW   )rS   rK   Úcurrent_rev_hashs      r   Úget_requirement_revisionz"Mercurial.get_requirement_revisionh   s=   € ð Ÿ?™?ØÐ+Ð,ØØØð	 +ó 
÷
 ‰%‹'ð 	ð  Ðr   Únamec                  ó   — y)z&Always assume the versions don't matchFr   )rS   r   r]   s      r   Úis_commit_id_equalzMercurial.is_commit_id_equalv   s   € ð r   c                 ó  — | j                  dgdd|¬«      j                  «       }t        j                  j	                  |«      s=t        j                  j                  t        j                  j                  ||«      «      }t        ||«      S )z‘
        Return the path to Python project root, relative to the repo root.
        Return None if the project root is in the repo root.
        ÚrootFTrN   )r)   rQ   r5   r6   ÚisabsÚabspathr7   r   )rS   rK   Ú	repo_roots      r   Úget_subdirectoryzMercurial.get_subdirectory{   sl   € ð —O‘OØˆH %°T¸xð $ó 
ç
‰%‹'ð 	ô �w‰w�}‰}˜YÔ'ÜŸ™Ÿ™¬¯©¯©°X¸yÓ(IÓJˆIÜ7¸À)ÓLÐLr   c                 ó  •— t         ‰| �  |«      }|r|S 	 | j                  dg|dddd¬«      }t        j                  j                  |j                  d«      «      S # t        $ r t        j                  d|«       Y y t        $ r Y y w xY w)Nra   FTÚraise)r%   rO   rP   Ú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)rS   rK   ÚlocÚrÚ	__class__s       €r   rk   zMercurial.get_repository_root‰   s›   ø€ ä‰gÑ)¨(Ó3ˆÙØˆJð	Ø—‘Ø�ØØ!Ø Ø%Ø$ð  ó ˆAô" �w‰w×Ñ §¡¨Ó 0Ó1Ð1øô ò 	Ü�L‰Lð.àôñ
 Ü ò 	Ùð	ús   –A ÁBÁ=BÂB)Ú__name__Ú
__module__Ú__qualname__r]   r8   Ú	repo_nameÚschemesÚstaticmethodÚstrr   r   r   r   Úintr.   rH   r#   ÚclassmethodrT   rY   r\   r   Úboolr_   re   rk   Ú__classcell__)rq   s   @r   r   r      s‘  ø„ Ø€DØ€GØ€Ið€Gð ð ˜sð   t¨C¡yò  ó ð ð
Øð
Ø(ð
Ø7Að
ØNQð
à	ó
ð01˜3ð 1 Zð 1¸jð 1ÈTó 1ð-˜3ð - Zð -¸jð -ÈTó -ð
 ð	 cð 	¨cò 	ó ð	ð ð
  Cð 
 ¨Cò 
 ó ð
 ð ð °ð  ¸ò  ó ð ð ð cð °¸#±ð À4ò ó ðð ðM¨ð M°¸±ò Mó ðMð ð2¨3ð 2°8¸C±=ô 2ó ô2r   r   )r9   Úloggingr5   Útypingr   r   r   Úpip._internal.exceptionsr   r   Úpip._internal.utils.miscr   r	   Úpip._internal.utils.subprocessr
   Úpip._internal.utils.urlsr   Ú pip._internal.vcs.versioncontrolr   r   r   r   Ú	getLoggerrr   r'   r   Úregisterr   r   r   ú<module>r†      s]   ðÛ Û Û 	ß (Ñ (ç Bß =Ý 7Ý 0÷ó ð 
ˆ×	Ñ	˜8Ó	$€ôL2�ô L2ð^ €‡�ˆYÕ r   