403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.202
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python313/Lib/site-packages/pip/_internal/vcs/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python313/Lib/site-packages/pip/_internal/vcs/__pycache__/git.cpython-313.pyc
�

��i�J����SSKJr SSKrSSKrSSKrSSKrSSKrSSK	rSSK
Jr SSKJ
r
 SSKJrJr SSKJrJrJr SSKJr SSKJrJrJrJrJrJrJr \R>R@r \R>RBr!\RD"\#5r$\RJ"S	5r&\RJ"S
5r'\RJ"S\RP5r)SSjr*"S
S\5r+\RX"\+5 g)�)�annotationsN)�replace)�Any)�
BadCommand�InstallationError)�
HiddenText�display_path�hide_url)�make_command)�AuthInfo�RemoteNotFoundError�RemoteNotValidError�
RevOptions�VersionControl�(find_path_to_project_root_from_repo_root�vcsz(^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[^:]*)
    $c�>�[[RU55$�N)�bool�
HASH_REGEX�match)�shas �7C:\Python313\Lib\site-packages\pip/_internal/vcs/git.py�looks_like_hashr:s���
� � ��%�&�&�c�^�\rSrSrSrSrSrSrSrSr	\
SSj5r\SU4S	jj5r
S S
jrS!Sjr\S"Sj5r\S#S
j5r\S$Sj5r\S%Sj5r\S&Sj5rS'SjrS(S'SjjrS(S'Sjjr\S)Sj5r\
S*Sj5r\S+Sj5r\S,S-Sjj5r\S"Sj5r\S.U4Sjj5r\S(S/Sjj5r\S"U4Sjj5r\
S0Sj5r Sr!U=r"$)1�Git�>�gitz.git�clone)zgit+httpz	git+httpszgit+sshzgit+gitzgit+file)�GIT_DIR�
GIT_WORK_TREE�HEADc��U/$r���revs r�get_base_rev_args�Git.get_base_rev_argsNs	���u�rc�>�[RRS5(a URS05nSUS'SUS'X2S'[TU]"U0UD6$)N�PIP_NO_INPUT�
extra_environ�0�GIT_TERMINAL_PROMPTzssh -oBatchMode=yes�GIT_SSH_COMMAND)�os�environ�get�super�run_command)�cls�args�kwargsr,�	__class__s    �rr4�Git.run_commandRsY���
�:�:�>�>�.�)�)�"�J�J���;�M�36�M�/�0�/D�M�+�,�&3�?�#��w�"�D�3�F�3�3rc��UR[U55up4UR(dgURX$R5(dg[	URX$R5S5nU(+$)NFr)�get_url_rev_optionsr
r'�is_commit_id_equalr�get_revision_sha)�self�url�dest�_�rev_options�is_tag_or_branchs      r�is_immutable_rev_checkout�Git.is_immutable_rev_checkout[sf���1�1�(�3�-�@��������&�&�t�_�_�=�=�� �� 5� 5�d�O�O� L�Q� O�P��#�#�#rc��URS/SSSS9n[RU5nU(d[R	SU5 g[UR
S55[UR
S	554$)
N�versionzgit versionFT)�command_desc�show_stdout�stdout_onlyzCan't parse git version: %sr%��)r4�GIT_VERSION_REGEXr�logger�warning�int�group)r>rGrs   r�get_git_version�Git.get_git_versionisq���"�"�
�K�&���	#�
��"�'�'��0����N�N�8�'�B���E�K�K��N�#�S����Q��%8�9�9rc��/SQnURUSSSUS9nUR5nURS5(aU[S5S$g)zT
Return the current branch, or None if HEAD isn't at a branch
(e.g. detached HEAD).
)zsymbolic-ref�-qr#�rKFT��extra_ok_returncodesrIrJ�cwdzrefs/heads/N)r4�strip�
startswith�len)r5�locationr6�output�refs     r�get_current_branch�Git.get_current_branchvs]��.������!%����!�
���l�l�n���>�>�-�(�(��s�=�)�+�,�,�rc��URSU/USSSS9n0nUR5RS5H4nURS5nU(dMURSS	S
9upgXdU'M6 SU3nS
U3n	URU5n
U
bU
S4$URU	5n
U
S4$![a [	SU<35ef=f)z�
Return (sha_or_none, is_branch), where sha_or_none is a commit hash
if the revision names a remote branch or tag, otherwise None.

Args:
  dest: the repository directory.
  rev: the revision name.
zshow-refFT�ignore)rYrIrJ�
on_returncode�
�
� rL)�maxsplitzunexpected show-ref line: zrefs/remotes/origin/z
refs/tags/)r4rZ�split�rstrip�
ValueErrorr2)r5r@r'r^�refs�line�ref_sha�ref_name�
branch_ref�tag_refrs           rr=�Git.get_revision_sha�s������
������"�!�
�����L�L�N�(�(��.�D��;�;�t�$�D���
H�$(�J�J�s�Q�J�$?�!��%��N�/�,�C�5�1�
��s�e�$���h�h�z�"���?���;���h�h�w����U�|���!�
H�!�#=�d�X�!F�G�G�
H�s�B&�&Cc��URS5(ag[U5(dgURX5(agg)z�
Return true if rev is a ref or is a commit that we don't have locally.

Branches and tags are not considered in this method because they are
assumed to be always available locally (which is a normal outcome of
``git clone`` and ``git fetch --tags``).
zrefs/TF)r[r�
has_commit)r5r@r's   r�
_should_fetch�Git._should_fetch�s9���>�>�'�"�"���s�#�#���>�>�$�$�$��rc	��URnUceURX5upVUb%URU5n[X6(aUOSS9nU$[	U5(d[
R
SU5 URX5(dU$UR[SSX#R55US9 URUSS9nURU5nU$)	z�
Resolve a revision to a new RevOptions object with the SHA1 of the
branch, tag, or ref if found.

Args:
  rev_options: a RevOptions object.
N)�branch_namez:Did not find branch or tag '%s', assuming revision or ref.�fetchrU�rY�
FETCH_HEADr&)�arg_revr=�make_newrrrN�inforur4r�to_args�get_revision)r5r@r?rBr'r�	is_branchs       r�resolve_revision�Git.resolve_revision�s����!�!�������-�-�d�8����?�%�.�.�s�3�K�!�+�9�C�RV�X�K����s�#�#��K�K�L��
�
� � ��+�+���	�����$��-@�-@�-B�C��	�	
�
���t���6��!�*�*�3�/���rc�:�U(dgURU5U:H$)z
Return whether the current commit hash equals the given name.

Args:
  dest: the repository directory.
  name: a string name.
F)r�)r5r@�names   rr<�Git.is_commit_id_equals ��������%��-�-rc�`�UR5n[RSX%[U55 US::aSnOUS:XaSnOSnUR	5S:�a!UR[
SS	/UQUPUP765 OUR[
S/UQUPUP765 UR(a�URXU5n[US
S5n[RSX75 UcKURXR5(d*[
SS
UR55nURX�S9 OSURU5U:waSU3n	SSUSU	/nURX�S9 O"URU5n
URU
5n[RSX#R5 UR!XS9 g)NzCloning %s%s to %sr)z--quietrKr%)z	--verbosez
--progress)rL�r z--filter=blob:nonerxzRev options %s, branch_name %s�checkoutrUrzzorigin/z-bz--trackzResolved %s to commit %s��	verbosity)�
to_displayrNr~r	rRr4rr'r��getattr�debugr<rr`r�r}�update_submodules)r>r@r?rBr��rev_display�flagsrx�cmd_args�track_branchrs           r�	fetch_new�
Git.fetch_news���"�,�,�.�����(�#�L��<N�O���>�%1�E�
�!�^��E�/�E����!�W�,�
�����(�����	�
��
�
���\�'�E�E�E�3�E��E�F��?�?��/�/��;�G�K�!�+�}�d�C�K��L�L�9�;�T��"��.�.�t�_�_�E�E�+�"��#�+�+�-� �H�
�$�$�X�$�8���(�(��.�+�=�")��
�6������ ���� � �� �4���#�#�D�)�C�%�.�.�s�3�K����.��_�_�E�	
���t��9rc���UR[SSU5US9 /nUS::aURS5 [S/UQUR5P76nURXaS9 UR	XS9 g)N�configzremote.origin.urlrzrrUr�r�)r4r�appendrr��r>r@r?rBr��extra_flagsr�s       r�switch�
Git.switchPs���	
�����#6��<��	�	
�
����>����t�$��
�P�[�P�+�:M�:M�:O�P�������,����t��9rc�H�/nUS::aURS5 UR5S:�aURSS/UQUS9 OURS/UQUS9 URXU5n[	SS/UQUR5P76nURXaS9 UR
XS	9 g)
NrrU)rK�	ryz--tagsrz�resetz--hardr�)r�rRr4r�rrr�r�s       r�update�
Git.updatefs�������>����t�$����!�V�+����g�x�>�+�>�D��I����g�4��4�$��?��+�+�D�{�C�����
��
�
���!�	
��	
�����,����t��9rc�,�UR/SQSSSUS9nUR5nUSnUHnUR	S5(dMUn O URS5S	nUR
UR55$![a [ef=f)
z�
Return URL of the first remote encountered.

Raises RemoteNotFoundError if the repository does not have a remote
url configured.
)r�z--get-regexpzremote\..*\.urlrVFTrWrzremote.origin.url rgrK)r4�
splitlines�
IndexErrorr
r[ri�_git_remote_to_pip_urlrZ)r5r]�stdout�remotes�found_remote�remoter?s       r�get_remote_url�Git.get_remote_url�s������:�!%����!�
���#�#�%��	&�"�1�:�L��F�� � �!5�6�6�%����� � ��%�a�(���)�)�#�)�)�+�6�6���	&�%�%�	&�s�B�Bc�>�[R"SU5(aU$[RR	U5(a$[
R"U5R5$[RU5nU(aURS5$[U5e)a�
Convert a remote url from what git uses to what pip accepts.

There are 3 legal forms **url** may take:

    1. A fully qualified url: ssh://git@example.com/foo/bar.git
    2. A local project.git folder: /path/to/bare/repository.git
    3. SCP shorthand for form 1: git@example.com:foo/bar.git

Form 1 is output as-is. Form 2 must be converted to URI and form 3 must
be converted to form 1.

See the corresponding test test_git_remote_url_to_pip() for examples of
sample inputs/outputs.
z\w+://z
ssh://\1\2/\3)�rerr0�path�exists�pathlib�PurePath�as_uri�	SCP_REGEX�expandr)r?�	scp_matchs  rr��Git._git_remote_to_pip_url�sw��"�8�8�I�s�#�#��J�
�7�7�>�>�#����#�#�C�(�/�/�1�1��O�O�C�(�	���#�#�$4�5�5�!�#�&�&rc�V�URSSSSU-/USS9 g![a gf=f)zE
Check if rev is a commit that is available in the local repository.
�	rev-parserUz--verifyzsha^F)rY�log_failed_cmdT)r4r)r5r]r's   rrt�Git.has_commit�sG��
		��O�O��d�J����=��$�
�
���!�	��	�s��
(�(c�T�UcSnURSU/SSUS9nUR5$)Nr#r�FT�rIrJrY)r4rZ)r5r]r'�current_revs    rr��Git.get_revision�sA���;��C��o�o�
�#�����	&�
��� � �"�"rc�\�URSS/SSUS9R5n[RR	U5(d[RRX5n[RR
[RRUS55n[X5$)zy
Return the path to Python project root, relative to the repo root.
Return None if the project root is in the repo root.
r�z	--git-dirFTr�z..)r4rZr0r��isabs�join�abspathr)r5r]�git_dir�	repo_roots    r�get_subdirectory�Git.get_subdirectory�s����/�/�
�+�&����	"�
�
�%�'�	��w�w�}�}�W�%�%��g�g�l�l�8�5�G��G�G�O�O�B�G�G�L�L��$�$?�@�	�7��L�Lrc�>�[U5up#pEnURS5(a�US[URS55*nU[R
R
U5RSS5RS5-nURS5S-n	USU	[X)SX8XV45-nSU;a?SU;deURS	S
5n[TU]-U5upnURSS5nO[TU]-U5upnXU4$)
a
Prefixes stub URLs like 'user@hostname:user/repo.git' with 'ssh://'.
That's required because although they use SSH they sometimes don't
work with a ssh:// scheme (e.g. GitHub). But we need a scheme for
parsing. Hence we remove it again afterwards and return it as a stub.
�fileN�/�\�+rKz://zfile:zgit+z
git+ssh://zssh://�)�urlsplit�endswithr\�lstrip�urllib�request�url2pathnamer�find�
urlunsplitr3�get_url_rev_and_auth)
r5r?�scheme�netlocr��query�fragment�initial_slashes�newpath�
after_plusr'�	user_passr8s
            �rr��Git.get_url_rev_and_auth�s���19��
�-���X��?�?�6�"�"�"�#;�c�$�+�+�c�*:�&;�%;�<�O�%����(C�(C�D�(I�(Q�(Q��c�)��f�S�k��G� ���S�)�A�-�J���*�%�
���$�f�u�G�)��C�����#�%�%�%��+�+�f�l�3�C�"'�'�">�s�"C��C�i��+�+�h��+�C�"'�'�">�s�"C��C�i���"�"rc���/SQnUS::aURS5 [RR[RR	US55(dgURUUS9 g)N)�	submoduler�z--initz--recursiverrUz.gitmodulesrz)r�r0r�r�r�r4)r5r]r��argvs    rr��Git.update_submodulessV��?����>��K�K����w�w�~�~�b�g�g�l�l�8�]�C�D�D�������	�	
rc	� >�[TU]U5nU(aU$URSS/USSSSS9n[RRURS55$![a [RSU5 g[a gf=f)	Nr�z--show-toplevelFT�raise)rYrIrJrdr�zKcould not determine if %s is under git control because git is not availablez
)r3�get_repository_rootr4rrNr�rr0r��normpathrj)r5r]�loc�rr8s    �rr��Git.get_repository_roots�����g�)�(�3����J�	�����/�0��!� �%�$�
 ��A�"�w�w������� 0�1�1���	��L�L�/��
�
� �	��	�s�A� B
�	B
�B
c��g)zEIn either https or ssh form, requirements must be prefixed with git+.Tr%)�repo_urls r�should_add_vcs_url_prefix�Git.should_add_vcs_url_prefix5s��rr%)r'�str�returnz	list[str])r6rr7rr�r�)r?r�r@r�r�r)r�ztuple[int, ...])r]r�r��
str | None)r@r�r'r�r�ztuple[str | None, bool])r@r�r'r�r�r)r@r�r?rrBrr�r)r@r�r�r�r�r)
r@r�r?rrBrr�rPr��None)r)r]r�r�r�)r?r�r�r�)r]r�r'r�r�rr)r]r�r'r�r�r�)r?r�r�z tuple[str, str | None, AuthInfo])r]r�r�rPr�r�)r�r�r�r)#�__name__�
__module__�__qualname__�__firstlineno__r��dirname�	repo_name�schemes�
unset_environ�default_arg_rev�staticmethodr(�classmethodr4rDrRr`r=rur�r<r�r�r�r�r�rtr�r�r�r�r�r��__static_attributes__�
__classcell__)r8s@rrr>s3����D��G��I��G�1�M��O������4��4�$�:�����0�+��+�Z����,�+��+�'�+�6@�+�	�+��+�Z�.��.�=:��=:�(�=:�7A�=:�NQ�=:�	
�=:�H�:��:��:� �	:�
�:�
�
:�6�:��:��:� �	:�
�:�
�
:�<�7��7�:�'��'�<�
��
��	#��	#��M��M�"�#��#�<�
��
��2��2�0���rr)rr�r�r)-�
__future__r�logging�os.pathr0r�r��urllib.parser��urllib.request�dataclassesr�typingr�pip._internal.exceptionsrr�pip._internal.utils.miscrr	r
�pip._internal.utils.subprocessr� pip._internal.vcs.versioncontrolrr
rrrrr�parser�r��	getLoggerr�rN�compilerMr�VERBOSEr�rr�registerr%rr�<module>rs���"����	�����B�G�G�7�����<�<� � ��
�\�\�
$�
$�
�
�	�	�8�	$���J�J�����Z�Z�+�
,�
�
�J�J�		��J�J�
�	�'�z�.�z�z���S�r

Youez - 2016 - github.com/yon3zu
LinuXploit