o
aiE @ s d dl Z d dlZd dlZd dlZd dlZd dlZd dlm Z m
Z
mZ d dlm
Z
mZ d dlmZmZmZ d dlmZ d dlmZmZmZmZmZmZmZ ejjZejjZe e!Z"e#dZ$e#dZ%e#d ej&Z'd
e(de)fdd
Z*G dd deZ+e,e+ dS ) N)ListOptionalTuple)
BadCommandInstallationError)
HiddenTextdisplay_pathhide_url)make_command)AuthInfoRemoteNotFoundErrorRemoteNotValidError
RevOptionsVersionControl(find_path_to_project_root_from_repo_rootvcsz(^git version (\d+)\.(\d+)(?:\.(\d+))?.*$z^[a-fA-F0-9]{40}$a/ ^
# Optional user, e.g. 'git@'
(\w+@)?
# Server, e.g. 'github.com'.
([^/:]+):
# The server-side path. e.g. 'user/project.git'. Must start with an
# alphanumeric character so as not to be confusable with a Windows paths
# like 'C:/foo/bar' or 'C:\foo\bar'.
(\w[^:]*)
$shareturnc C s t t| S N)bool
HASH_REGEXmatch)r r /builddir/build/BUILDROOT/alt-python310-pip-21.3.1-5.el8.x86_64/opt/alt/python310/lib/python3.10/site-packages/pip/_internal/vcs/git.pylooks_like_hash7 s r c sD e Zd ZdZdZdZdZdZdZe de
dee
fd d
Zde
de
de
fd
dZdeedf fddZede
dee
fddZede
de
deee
e
f fddZede
de
de
fddZede
dededefddZede
dee
de
fddZde
dededdfd d!Zde
dededdfd"d#Zde
dededdfd$d%Zede
de
fd&d'Ze de
de
fd(d)Zede
de
de
fd*d+Z ed9de
dee
de
fd,d-Z!ede
dee
fd.d/Z"ede
dee
ee
e#f f fd0d1Z$ede
ddfd2d3Z%ede
dee
f fd4d5Z&e d6e
de
fd7d8Z' Z(S ):Gitgitz.gitclone)zgit+httpz git+httpszgit+sshzgit+gitzgit+file)GIT_DIR
GIT_WORK_TREEHEADrevr c C s | gS r r r! r r r get_base_rev_argsK s zGit.get_base_rev_argsurldestc C sJ | t|\}}|jsdS | ||jsdS t| ||jd }| S )NFr )get_url_rev_optionsr r! is_commit_id_equalr get_revision_sha)selfr$ r% _rev_optionsis_tag_or_branchr r r is_immutable_rev_checkoutO s zGit.is_immutable_rev_checkout.c C sF | j dgddd}t|}|std| dS tdd | D S ) NversionFT)show_stdoutstdout_onlyzCan't parse git version: %sr c s s | ]}t |V qd S r )int).0cr r r