
    ch                         S /r SSKJrJr  SSKJrJr  SSKJrJ	r	J
r
JrJrJr  SSKJrJrJr  \(       a  SSKJr  S\	S	\4   S
\	S	\4   4S jr " S S \\\5      rg)	Reference    )IterableObj	LazyMixin   )SymbolicReferenceT_References)AnyCallableIteratorTYPE_CHECKINGTypeUnion)AnyGitObjectPathLike_T)Repofunc.returnc                 ^   ^  S[         S[        S[        4U 4S jjnT R                  Ul        U$ )zVA decorator raising :exc:`ValueError` if we are not a valid remote, based on the
path.selfargsr   c                 p   > U R                  5       (       d  [        SU R                  -  5      eT" U /UQ76 $ )Nz1ref path does not point to a remote reference: %s)	is_remote
ValueErrorpath)r   r   r   s     eC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\git/refs/reference.pywrapper(require_remote_ref_path.<locals>.wrapper   s8    ~~PSWS\S\\]]D 4      )r   r	   r   __name__)r   r   s   ` r   require_remote_ref_pathr!      s0    !l !3 !2 ! }}GNr   c                   >  ^  \ rS rSrSrSrSrSrSrSSSS	\	S
\
SS4U 4S jjjrS\4S jr SS\\S\4   S\\S4   SS 4U 4S jjjr\S\4S j5       r\ SS\\   SSS\\	S4   S\S\S\\   4S jj5       r\\S\4S j5       5       r\\S\4S j5       5       rSrU =r$ )r   )   zA named reference to any object.

Subclasses may apply restrictions though, e.g., a :class:`~git.refs.head.Head` can
only point to commits.
 FTrefsrepor   r   
check_pathr   Nc                    > U(       aR  [        U5      R                  U R                  S-   5      (       d&  [        SU R                  R
                  < SU 35      eU   [        TU ]  X5        g)aL  Initialize this instance.

:param repo:
    Our parent repository.

:param path:
    Path relative to the ``.git/`` directory pointing to the ref in question,
    e.g. ``refs/heads/master``.

:param check_path:
    If ``False``, you can provide any path.
    Otherwise the path must start with the default path prefix of this type.
/zCannot instantiate z from path N)str
startswith_common_path_defaultr   	__class__r    super__init__)r   r&   r   r'   r-   s       r   r/   Reference.__init__6   s]     c$i2243L3Ls3RSS24>>3J3J2M[Y]X^_``$r   c                     U R                   $ N)name)r   s    r   __str__Reference.__str__I   s    yyr   objectr   logmsgc                   > SnUbM  U R                   R                  nUR                  (       d&  UR                  U :X  a  U R                  R
                  n[        TU ]  X5        Ub%  U R                   R                  R                  X25        U $ )zYSpecial version which checks if the head-log needs an update as well.

:return:
    self
N)	r&   headis_detachedrefcommitbinshar.   
set_object
log_append)r   r6   r7   	oldbinshar9   r-   s        r   r>   Reference.set_objectO   st     	99>>D##D(8 KK..	 	6*  IINN%%i8 r   c                     U R                   R                  S5      n[        U5      S:  a  U R                   $ SR                  USS 5      $ )zQ
:return:
    (shortest) Name of this reference - it may contain path components
r)         N)r   splitlenjoinr   tokenss     r   r3   Reference.namex   s@     %v;?99xxqr
##r   clscommon_pathr   kwargsc                 $    U R                  X5      $ )zEquivalent to
:meth:`SymbolicReference.iter_items <git.refs.symbolic.SymbolicReference.iter_items>`,
but will return non-detached references as well.)_iter_items)rK   r&   rL   r   rM   s        r   
iter_itemsReference.iter_items   s     t11r   c                 B    U R                   R                  S5      nUS   $ )zx
:return:
    Name of the remote we are a reference of, such as ``origin`` for a reference
    named ``origin/master``.
r)   rD   )r   rE   rH   s     r   remote_nameReference.remote_name   s      %ayr   c                 `    U R                   R                  S5      nSR                  USS 5      $ )z
:return:
    Name of the remote head itself, e.g. ``master``.

:note:
    The returned name is usually not qualified enough to uniquely identify a
    branch.
r)   rC   N)r   rE   rG   rH   s     r   remote_headReference.remote_head   s+     %xxqr
##r   )Tr2   )r    
__module____qualname____firstlineno____doc__	__slots___points_to_commits_only_resolve_ref_on_creater,   r   boolr/   r*   r4   r   r   r>   propertyr3   classmethodr   r   r	   r   rP   r!   rS   rV   __static_attributes____classcell__)r-   s   @r   r   r   )   s[    I#!!%V %8 % %QU % %&  $(%l$7<=% c4i % 
	% %R 
$c 
$ 
$  .2
2,
2
2 8T>*
2 	
2
 
2 
,	
2 
2  S    
$S 
$  
$r   N)__all__git.utilr   r   symbolicr   r   typingr	   r
   r   r   r   r   	git.typesr   r   r   git.repor   r!   r   r$   r   r   <module>rj      sa    - + 5 G F 0 0(37"3 b8I "E$!9k E$r   