
    chj
                     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\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\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DIH$(NNDNN#C$(NNDOO#D$($7$79L9L#M#O ||G,77>>$''II$$U4[1/#'99R=#O 99#DNN$455 'GHg,F,FrHr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WW\\&,7N$&@-(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   
  ) " $ # 	
=3J	: =3r   