VL ij nddlmZmZmZddlmZddlmZddlm Z ddl m Z ddl Z dZ Gdd eeeZy) ) CompoundDB ObjectDBW FileDBBase) LooseObjectDB)PackedDB) ReferenceDB) InvalidDBRootN)GitDBceZdZdZeZeZeZ dZ dZ e jjddZfdZfdZdZd Zd ZxZS) r aA 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. packinfo alternatesc$t||y)z/Initialize ourselves on a git objects directoryN)super__init__)self root_path __class__s R/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/gitdb/db/git.pyrzGitDB.__init__(s #c^|dk(s|dk(rt|_d}|j|jf|j|j f|j |jffD]u\}}|j|}tjj|s7|jj||||j usg|jd}w|jst|j| t|dsJd||_yt"|I|y)N_dbs _loose_dbstorez(First database needs store functionality)listr packs_dir PackDBCls loose_dir LooseDBClsalternates_dirReferenceDBClsdb_pathospathexistsappendr rhasattrrr _set_cache_)rattrloose_dbsubpathdbclsr&rs rr*zGitDB._set_cache_,s 6>T[0DIH$(NNDNN#C$(NNDOO#D$($7$79L9L#M#O 1||G,77>>$'II$$U4[1/#'99R= 199#DNN$455'GHg,F rHr rF&DN G  %rc8|jj|SN)rr)ristreams rrz GitDB.storeLs~~##G,,rc6|jjSr0)rostream)rs rr3z GitDB.ostreamOs~~%%''rc8|jj|Sr0)r set_ostream)rr3s rr5zGitDB.set_ostreamRs~~))'22r)__name__ __module__ __qualname____doc__rrrr!rr#rr r%r&joinr"rr*rr3r5 __classcell__)rs@rr r sSIJ NIIWW\\&,7N$&@-(3rr ) gitdb.db.baserrrgitdb.db.looser gitdb.db.packr gitdb.db.refr gitdb.excr r%__all__r rrrCs5  )"$# =3J :=3r