Re* @ s d d l m Z d d l Z d d l Z d d l m Z d d l m Z m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z m Z m Z e r d d l m Z d d l m Z e j e Z Gd d d e Z e j e d S) )absolute_importN)configparser) BadCommandSubProcessError)display_path)make_command) TempDirectory)MYPY_CHECK_RUNNING)path_to_url)VersionControl!find_path_to_setup_from_repo_rootvcs) HiddenText) RevOptionsc s e Z d Z d Z d Z d Z d Z e d d Z d d Z d d Z d d Z d d Z e d d Z e d d Z e d d Z e d d Z e d d Z e f d d Z S) Mercurialhgz.hgclonehg+filehg+httphg+httpshg+sshhg+static-httpc C s | g S)N )revr r /builddir/build/BUILDROOT/alt-python35-pip-20.2.4-5.el8.x86_64/opt/alt/python35/lib/python3.5/site-packages/pip/_internal/vcs/mercurial.pyget_base_rev_args' s zMercurial.get_base_rev_argsc C sO t d d 9 } | j | j d | | j d | g d | j Wd QRXd S)z?Export the Hg repository at the url to the destination locationkindexporturlarchivecwdN)r unpackpathrun_command)selflocationr temp_dirr r r r + s zMercurial.exportc C sp | j } t j d | | t | | j t d d d | | | j t d d | j d | d S)NzCloning hg %s%s to %sr z --noupdatez-qupdater ) to_displayloggerinfor r# r to_args)r$ destr rev_optionsrev_displayr r r fetch_new5 s zMercurial.fetch_newc C s t j j | | j d } t j } yM | j | | j d d | j t | d } | j | Wd QRXWnA t t j f k r } z t j d | | WYd d } ~ Xn, Xt d d | j } | j | d | d S) Nhgrcpathsdefaultwz/Could not switch Mercurial repository to %s: %sr' z-qr )osr" joindirnamer RawConfigParserreadsetsecretopenwriteOSErrorNoSectionErrorr) warningr r+ r# ) r$ r, r r- repo_configconfigconfig_fileexccmd_argsr r r switchD s zMercurial.switchc C sH | j d d g d | t d d | j } | j | d | d S)Npullz-qr r' )r# r r+ )r$ r, r r- rD r r r r' U s zMercurial.updatec C sF | j d d g d | j } | j | r<