관리-도구
편집 파일: versioncontrol.cpython-311.pyc
� �Re�W � �" � d Z ddlZddlZddlZddlZddlZddlmZm Z m Z mZmZm Z mZmZmZmZmZ ddlmZ ddlmZmZ ddlmZmZmZmZmZmZmZm Z ddl!m"Z"m#Z#m$Z$ ddl%m&Z& erdd lm'Z' d gZ( ej) e*� � Z+eee, ee, f Z-de,de.fd �Z/ d de,de,de,dee, de,f d�Z0de,de,dee, fd�Z1 G d� de2� � Z3 G d� de2� � Z4 G d� d� � Z5 G d� d� � Z6 e6� � Z7 G d� d� � Z8dS )!z)Handles all VCS (version control) support� N)� TYPE_CHECKING�Any�Dict�Iterable�Iterator�List�Mapping�Optional�Tuple�Type�Union)�SpinnerInterface)� BadCommand�InstallationError)� HiddenText�ask_path_exists� backup_dir�display_path�hide_url� hide_value�is_installable_dir�rmtree)�CommandArgs�call_subprocess�make_command)�get_url_scheme)�Literal�vcs�name�returnc �N � t | � � }|�dS |g d�t j z v S )z3 Return true if the name looks like a URL. NF)�http�https�file�ftp)r r �all_schemes)r �schemes ��/builddir/build/BUILDROOT/alt-python311-pip-21.3.1-3.el8.x86_64/opt/alt/python311/lib/python3.11/site-packages/pip/_internal/vcs/versioncontrol.py�is_urlr) 4 s4 � � �D� !� !�F� �~��u��5�5�5���G�G�G� �repo_url�rev�project_name�subdirc �Z � |� dd� � }| � d|� d|� �}|r|d|� �z }|S )z� Return the URL for a VCS requirement. Args: repo_url: the remote VCS url, with any needed VCS prefix (e.g. "git+"). project_name: the (unescaped) project name. �-�_�@z#egg=z&subdirectory=)�replace)r+ r, r- r. �egg_project_name�reqs r( �make_vcs_requirement_urlr6 >