Your IP : 52.14.213.73
�
��bgp
� �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� fd�Z� fd�Zd� 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.7/venv/lib/python3.11/site-packages/gitdb/db/git.pyr zGitDB.__init__( s! �� �
������#�#�#�#�#� c �^ �� |dk s|dk r�t � � | _ 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_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&