Ë
    ùmxiÏ  ã                   ó¾  — d Z g d¢ZddlmZmZmZmZmZmZm	Z	m
Z
 ddlmZ ddlmZ ddlmZmZmZmZmZ ddlmZ erddlmZ  G d	„ d
e«      Z G d„ de«      Z G d„ de«      Z G d„ dee«      Z G d„ de«      Z G d„ de«      Z  G d„ de«      Z! G d„ de!«      Z" G d„ de!«      Z# G d„ de«      Z$ G d„ de«      Z% G d„ d e%«      Z& G d!„ d"e!«      Z' G d#„ d$e«      Z(y%)&z-Exceptions thrown throughout the git package.)ÚAmbiguousObjectNameÚBadNameÚ	BadObjectÚBadObjectTypeÚInvalidDBRootÚODBErrorÚ
ParseErrorÚUnsupportedOperationÚGitErrorÚInvalidGitRepositoryErrorÚWorkTreeRepositoryUnsupportedÚNoSuchPathErrorÚUnsafeProtocolErrorÚUnsafeOptionErrorÚCommandErrorÚGitCommandNotFoundÚGitCommandErrorÚCheckoutErrorÚ
CacheErrorÚUnmergedEntriesErrorÚHookExecutionErrorÚRepositoryDirtyErroré    )r   r   r   r   r   r   r   r	   ©Úsafe_decode)Úremove_password_if_present)ÚListÚSequenceÚTupleÚTYPE_CHECKINGÚUnion)ÚPathLike)ÚRepoc                   ó   — e Zd ZdZy)r
   z&Base class for all package exceptions.N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    ú>/home/htdocs/ttos/venv/lib/python3.12/site-packages/git/exc.pyr
   r
   =   s   „ Ú0r*   r
   c                   ó   — e Zd ZdZy)r   zAThrown if the given repository appears to have an invalid format.Nr$   r)   r*   r+   r   r   A   s   „ ÚKr*   r   c                   ó   — e Zd ZdZy)r   z:Thrown to indicate we can't handle work tree repositories.Nr$   r)   r*   r+   r   r   E   s   „ ÚDr*   r   c                   ó   — e Zd ZdZy)r   z3Thrown if a path could not be access by the system.Nr$   r)   r*   r+   r   r   I   s   „ Ú=r*   r   c                   ó   — e Zd ZdZy)r   zGThrown if unsafe protocols are passed without being explicitly allowed.Nr$   r)   r*   r+   r   r   M   s   „ ÚQr*   r   c                   ó   — e Zd ZdZy)r   zEThrown if unsafe options are passed without being explicitly allowed.Nr$   r)   r*   r+   r   r   Q   s   „ ÚOr*   r   c                   óˆ   — e Zd ZdZdZ	 	 	 	 ddeee   eedf   ef   deee	de
f   deeedf   deeedf   d	df
d
„Zd	efd„Zy)r   z´Base class for exceptions thrown at every stage of :class:`~subprocess.Popen`
    execution.

    :param command:
        A non-empty list of argv comprising the command-line.
    zCmd('%s') failed%sNÚcommand.ÚstatusÚstderrÚstdoutÚreturnc                 ó¼  — t        |t        t        f«      s|j                  «       }t	        |«      | _        || _        |rMt        |t        «      r.t        |«      j                  ›dt        t        |«      «      ›d�}n	 dt        |«      z  }t        | j
                  d   «      | _        dj!                  d„ | j
                  D «       «      | _        |xr d|z  xs d	| _        t        |«      }t        |«      }|xr d
|z  xs d| _        |xr d|z  xs d| _        y # t        t        f$ r. t        t        |«      «      }t        |t        «      rd|z  n|}Y ŒÍw xY w)Nz('z')zexit code(%s)z'%s'r   ú c              3   ó2   K  — | ]  }t        |«      –— Œ y ­w©Nr   )Ú.0Úis     r+   ú	<genexpr>z(CommandError.__init__.<locals>.<genexpr>{   s   è ø€ Ò F°A¤¨Q§Ñ Fùs   ‚z due to: %sú!z
  stdout: '%s'Ú z
  stderr: '%s')Ú
isinstanceÚtupleÚlistÚsplitr   r2   r3   Ú	ExceptionÚtyper%   r   ÚstrÚintÚ
ValueErrorÚ	TypeErrorÚ_cmdÚjoinÚ_cmdlineÚ_causer5   r4   )Úselfr2   r3   r4   r5   ÚsÚstdout_decodeÚstderr_decodes           r+   Ú__init__zCommandError.__init__e   s0  € ô ˜'¤E¬4 =Ô1Ø—m‘m“oˆGÜ1°'Ó:ˆŒØˆŒÙÜ˜&¤)Ô,Ü'+¨F£|×'<Ó'<¼kÌ#ÈfË+Õ>VÐW‘ðJØ,¬s°6«{Ñ:�Fô
   §¡¨Q¡Ó0ˆŒ	ØŸ™Ñ F¸¿¹Ô FÓFˆŒØÒ7 °Ñ!7Ò>¸3ˆŒÜ# FÓ+ˆÜ# FÓ+ˆØ#ÒJÐ(:¸]Ñ(JÒPÈbˆŒØ#ÒJÐ(:¸]Ñ(JÒPÈbˆ�øô #¤IÐ.ò JÜ#¤C¨£KÓ0�AÜ+5°f¼cÔ+B˜V ašZÈ’FðJús   Á?D Ä:EÅEc                 ó”   — | j                   dz   | j                  | j                  | j                  | j                  | j
                  fz  S )Nz
  cmdline: %s%s%s)Ú_msgrJ   rM   rL   r5   r4   ©rN   s    r+   Ú__str__zCommandError.__str__‚   sA   € Ø—	‘	Ð1Ñ1Ø�I‰IØ�K‰KØ�M‰MØ�K‰KØ�K‰Kð6
ñ 
ð 	
r*   ©NNN)r%   r&   r'   r(   rT   r    r   rF   r   rG   rD   ÚbytesrR   rV   r)   r*   r+   r   r   U   s£   „ ñð  €Dðð 48Ø*.Ø*.ñQà�t˜C‘y %¨¨S¨¡/°3Ð6Ñ7ðQð �c˜3  iÐ/Ñ0ðQð �e˜S $Ð&Ñ'ð	Qð
 �e˜S $Ð&Ñ'ðQð 
óQð:
˜ô 
r*   r   c                   óR   ‡ — e Zd ZdZdeee   ee   ef   deeef   ddfˆ fd„Z	ˆ xZ
S )r   zŸThrown if we cannot find the ``git`` executable in the :envvar:`PATH` or at the
    path given by the :envvar:`GIT_PYTHON_GIT_EXECUTABLE` environment variable.r2   Úcauser6   Nc                 ó4   •— t         ‰| �  ||«       d| _        y )NzCmd('%s') not found%s©ÚsuperrR   rT   )rN   r2   rZ   Ú	__class__s      €r+   rR   zGitCommandNotFound.__init__�   s   ø€ Ü‰Ñ˜ %Ô(Ø+ˆ�	r*   )r%   r&   r'   r(   r    r   rF   r   rD   rR   Ú__classcell__©r^   s   @r+   r   r   Œ   sI   ø„ ñSð,  d¨3¡i°°s±¸SÐ&@Ñ Að ,È%ÐPSÐU^ÐP^ÑJ_ð ,Ðdh÷ ,ñ ,r*   r   c                   ó‚   ‡ — e Zd ZdZ	 	 	 d
deee   eedf   ef   deeede	f   dee
edf   dee
edf   ddf
ˆ fd	„Zˆ xZS )r   zGThrown if execution of the git command fails with non-zero status code.Nr2   .r3   r4   r5   r6   c                 ó*   •— t         ‰| �  ||||«       y r:   )r]   rR   ©rN   r2   r3   r4   r5   r^   s        €r+   rR   zGitCommandError.__init__˜   s   ø€ ô 	‰Ñ˜ &¨&°&Õ9r*   rW   ©r%   r&   r'   r(   r    r   rF   r   rG   rD   rX   rR   r_   r`   s   @r+   r   r   •   s‰   ø„ ÙQð
 48Ø*.Ø*.ñ:à�t˜C‘y %¨¨S¨¡/°3Ð6Ñ7ð:ð �c˜3  iÐ/Ñ0ð:ð �e˜S $Ð&Ñ'ð	:ð
 �e˜S $Ð&Ñ'ð:ð 
÷:ñ :r*   r   c            
       óJ   — e Zd ZdZdedee   dee   dee   ddf
d„Zdefd	„Z	y)
r   a  Thrown if a file could not be checked out from the index as it contained
    changes.

    The :attr:`failed_files` attribute contains a list of relative paths that failed to
    be checked out as they contained changes that did not exist in the index.

    The :attr:`failed_reasons` attribute contains a string informing about the actual
    cause of the issue.

    The :attr:`valid_files` attribute contains a list of relative paths to files that
    were checked out successfully and hence match the version stored in the index.
    ÚmessageÚfailed_filesÚvalid_filesÚfailed_reasonsr6   Nc                 óZ   — t         j                  | |«       || _        || _        || _        y r:   )rD   rR   rg   ri   rh   )rN   rf   rg   rh   ri   s        r+   rR   zCheckoutError.__init__°   s,   € ô 	×Ñ˜4 Ô)Ø(ˆÔØ,ˆÔØ&ˆÕr*   c                 óL   — t         j                  | «      d| j                  z  z   S )Nz:%s)rD   rV   rg   rU   s    r+   rV   zCheckoutError.__str__¼   s#   € Ü× Ñ  Ó&¨°×1BÑ1BÑ)BÑBÐBr*   )
r%   r&   r'   r(   rF   r   r!   r   rR   rV   r)   r*   r+   r   r   ¢   sX   „ ñð
'àð
'ð ˜xÑ(ð
'ð ˜hÑ'ð	
'ð
 ˜S™	ð
'ð 
ó
'ðC˜ô Cr*   r   c                   ó   — e Zd ZdZy)r   zUBase for all errors related to the git index, which is called "cache"
    internally.Nr$   r)   r*   r+   r   r   À   s   „ òr*   r   c                   ó   — e Zd ZdZy)r   z[Thrown if an operation cannot proceed as there are still unmerged
    entries in the cache.Nr$   r)   r*   r+   r   r   Å   s   „ òr*   r   c                   ó€   ‡ — e Zd ZdZ	 	 d
deee   eedf   ef   deeede	f   dee
edf   dee
edf   ddf
ˆ fd	„Zˆ xZS )r   zŽThrown if a hook exits with a non-zero exit code.

    This provides access to the exit code and the string returned via standard output.
    Nr2   .r3   r4   r5   r6   c                 ó8   •— t         ‰| �  ||||«       d| _        y )NzHook('%s') failed%sr\   rc   s        €r+   rR   zHookExecutionError.__init__Ð   s   ø€ ô 	‰Ñ˜ &¨&°&Ô9Ø)ˆ�	r*   )NNrd   r`   s   @r+   r   r   Ê   sˆ   ø„ ñð +/Ø*.ñ*à�t˜C‘y %¨¨S¨¡/°3Ð6Ñ7ð*ð �c˜3  iÐ/Ñ0ð*ð �e˜S $Ð&Ñ'ð	*ð
 �e˜S $Ð&Ñ'ð*ð 
÷*ñ *r*   r   c                   ó0   — e Zd ZdZdddeddfd„Zdefd„Zy)	r   zoThrown whenever an operation on a repository fails as it has uncommitted changes
    that would be overwritten.Úrepor"   rf   r6   Nc                 ó    — || _         || _        y r:   ©rq   rf   )rN   rq   rf   s      r+   rR   zRepositoryDirtyError.__init__ß   s   € ØˆŒ	Øˆ�r*   c                 ó:   — d| j                   ›d| j                  ›�S )Nz!Operation cannot be performed on z: rs   rU   s    r+   rV   zRepositoryDirtyError.__str__ã   s   � Ø<@¿I»IÀtÇ|Â|ÐTÐTr*   )r%   r&   r'   r(   rF   rR   rV   r)   r*   r+   r   r   Û   s/   „ ñ"ð˜Vð ¨cð °dó ðU˜ô Ur*   r   N))r(   Ú__all__Ú	gitdb.excr   r   r   r   r   r   r   r	   Ú
git.compatr   Úgit.utilr   Útypingr   r   r   r   r    Ú	git.typesr!   Úgit.repo.baser"   rD   r
   r   r   ÚOSErrorr   r   r   r   r   r   r   r   r   r   r   r)   r*   r+   ú<module>r}      sñ   ðñ 4ò€÷6	÷ 	ó 	õ #Ý /÷ ?Õ >å áÝ"ô
1ˆyô 1ôL ô LôEÐ$=ô Eô>�h ô >ôR˜(ô RôP˜ô Pô4
�8ô 4
ôn,˜ô ,ô
:�lô 
:ôC�Hô Cô<�ô ô
˜:ô ô
*˜ô *ô"	U˜8õ 	Ur*   