1jp v d dl mZmZmZ d dlmZ d dlmZ d dlm Z d dl mZ d dlZdZ G d d eee ZdS ) ) CompoundDB ObjectDBW FileDBBase) LooseObjectDB)PackedDB)ReferenceDB) InvalidDBRootN)GitDBc e Zd ZdZeZeZeZ dZ dZej dd Z fdZ fdZd Zd Zd Z xZS )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 J t | dS )z/Initialize ourselves on a git objects directoryN)super__init__)self root_path __class__s ^/builddir/build/BUILD/cloudlinux-venv-1.0.11/venv/lib/python3.11/site-packages/gitdb/db/git.pyr zGitDB.__init__( s! ##### c ^ |dk s|dk rt | _ d }| j | j f| j | j f| j | j ffD ]r\ }}| | }t j | r9| j || || j u r | j d }s| j s!t | |t |d s J d || _ d S t# | d S )N_dbs _loose_dbstorez(First database needs store functionality)listr packs_dir PackDBCls loose_dir LooseDBClsalternates_dirReferenceDBClsdb_pathospathexistsappendr r hasattrr r _set_cache_)r attrloose_dbsubpathdbclsr&