ó
    ±“,jj
  ã                   ón   • S SK JrJrJr  S SKJr  S SKJr  S SKJ	r	  S SK
Jr  S SKrSr " S S	\\\5      rg)
é    )Ú
CompoundDBÚ	ObjectDBWÚ
FileDBBase)ÚLooseObjectDB)ÚPackedDB)ÚReferenceDB)ÚInvalidDBRootN)ÚGitDBc                   ó–   ^ • \ rS rSrSr\r\r\	r
SrSr\R                  R                  SS5      rU 4S jrU 4S jrS	 rS
 rS rSrU =r$ )r
   é   a  A git-style object database, which contains all objects in the 'objects'
subdirectory

``IMPORTANT``: The usage of this implementation is highly discouraged as it fails to release file-handles.
This can be a problem with long-running processes and/or big repositories.
ÚpackÚ ÚinfoÚ
alternatesc                 ó$   >• [         TU ]  U5        g)z/Initialize ourselves on a git objects directoryN)ÚsuperÚ__init__)ÚselfÚ	root_pathÚ	__class__s     €ÚšC:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\gitdb/db/git.pyr   ÚGitDB.__init__(   s   ø€ ä‰Ñ˜Õ#ó    c                 ó†  >• US:X  d  US:X  Ga$  [        5       U l        S nU R                  U R                  4U R                  U R
                  4U R                  U R                  44 H|  u  p4U R                  U5      n[        R                  R                  U5      (       d  M<  U R                  R                  U" U5      5        X@R
                  L d  Mm  U R                  S   nM~     U R                  (       d  [        U R                  5       5      eUb  [        US5      (       d   S5       eX l        g ["        TU ]I  U5        g )NÚ_dbsÚ	_loose_dbéÿÿÿÿÚstorez(First database needs store functionality)Úlistr   Ú	packs_dirÚ	PackDBClsÚ	loose_dirÚ
LooseDBClsÚalternates_dirÚReferenceDBClsÚdb_pathÚosÚpathÚexistsÚappendr	   r   Úhasattrr   r   Ú_set_cache_)r   ÚattrÚloose_dbÚsubpathÚdbclsr(   r   s         €r   r,   ÚGitDB._set_cache_,   s  ø€ Ø�6‹>˜T [Ô0Ü›ˆDŒIØˆHØ$(§N¡N°D·N±NÐ#CØ$(§N¡N°D·O±OÐ#DØ$(×$7Ñ$7¸×9LÑ9LÐ#Mó#O‘�ð —|‘| GÓ,�Ü—7‘7—>‘> $×'Ó'Ø—I‘I×$Ñ$¡U¨4£[Ô1Ø§¡Ô/Ø#'§9¡9¨R¡=šñ#Oð —9—9Ü# D§N¡NÓ$4Ó5Ð5ð Ñ'¬G°H¸g×,FÑ,FÐrÐHrÓrÐFð &�Nä‰GÑ Õ%r   c                 ó8   • U R                   R                  U5      $ ©N)r   r   )r   Úistreams     r   r   ÚGitDB.storeL   s   € Ø�~‰~×#Ñ# GÓ,Ð,r   c                 ó6   • U R                   R                  5       $ r3   )r   Úostream)r   s    r   r7   ÚGitDB.ostreamO   s   € Ø�~‰~×%Ñ%Ó'Ð'r   c                 ó8   • U R                   R                  U5      $ r3   )r   Úset_ostream)r   r7   s     r   r:   ÚGitDB.set_ostreamR   s   € Ø�~‰~×)Ñ)¨'Ó2Ð2r   )r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r!   r   r#   r   r%   r    r"   r'   r(   Újoinr$   r   r,   r   r7   r:   Ú__static_attributes__Ú__classcell__)r   s   @r   r
   r
      sX   ø† ñð €IØ€JØ €Nð €IØ€IØ—W‘W—\‘\ &¨,Ó7€Nõ$õ&ò@-ò(÷3ð 3r   r
   )Úgitdb.db.baser   r   r   Úgitdb.db.looser   Úgitdb.db.packr   Úgitdb.db.refr   Ú	gitdb.excr	   r'   Ú__all__r
   © r   r   Ú<module>rK      s5   ð÷
ñ õ )Ý "Ý $å #ã 	à
€ô=3ˆJ˜	 :õ =3r   