File: //opt/saltstack/salt/lib/python3.10/site-packages/git/refs/__pycache__/remote.cpython-310.pyc
o
;jV � @ s� d Z dgZddlZddlmZ ddlmZ ddlmZm Z m
Z
mZmZ ddl
mZ er7dd lmZ dd
lmZ G dd� de�ZdS )zHModule implementing a remote object allowing easy access to git remotes.�RemoteReference� N)� join_path� )�Head)�Any�Iterator�NoReturn�
TYPE_CHECKING�Union)�PathLike)�Remote)�Repoc s� e Zd ZdZejZe ddddee df ded de
d e
d
ed f� fdd�
�Zeddd
d d e
d
dfdd��Z
ede
d e
d
efdd��Z� ZS )r z&A reference pointing to a remote head.N�repor
�common_path�remote)r N�args�kwargs�returnc s. |p| j }|durt|t|��}t� �||�S )zLIterate remote references, and if given, constrain them to the given remote.N)�_common_path_defaultr �str�super�
iter_items)�clsr r r r r �� __class__� �C/opt/saltstack/salt/lib/python3.10/site-packages/git/refs/remote.pyr s
zRemoteReference.iter_items�refsc O s� |D ]}| � |j� q|jjddg|�R � |D ]/}z
t�| �|j|j�� W n ty0 Y nw z
t�| �|j |j�� W q tyG Y qw dS )z�Delete the given remote references.
:note:
`kwargs` are given for comparability with the base class method as we
should not narrow the signature.
z-dz-rN)
Z_check_ref_name_valid�path�git�branch�os�removeZ_get_validated_pathZ
common_dir�OSErrorZgit_dir)r r r r �refr r r �delete5 s ���zRemoteReference.deletec O s t d��)zERaise :exc:`TypeError`. Defined so the ``create`` method is disabled.z*Cannot explicitly create remote references)� TypeError)r r r r r r �createO s zRemoteReference.create)NN)�__name__�
__module__�__qualname__�__doc__r Z_remote_common_path_defaultr �classmethodr
r r r r r% r r'