HEX
Server: LiteSpeed
System: Linux s787.bom1.mysecurecloudhost.com 4.18.0-477.13.1.lve.el8.x86_64 #1 SMP Thu Jun 1 16:40:47 EDT 2023 x86_64
User: mobilech (5348)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/git/__pycache__/db.cpython-310.pyc
o

;j@	�@s�dZddgZddlmZmZddlmZmZddlm	Z	ddl
mZmZddl
mZdd	lmZdd
lmZer>ddlmZGdd�de�Zd
S)zCModule with our own gitdb implementation - it uses the git command.�GitCmdObjectDB�GitDB�)�OInfo�OStream)r�
LooseObjectDB)�	BadObject)�
bin_to_hex�
hex_to_bin)�GitCommandError)�
TYPE_CHECKING)�PathLike)�GitcsdeZdZdZdeddddf�fdd�Zd	edefd
d�Zd	ede	fdd
�Z
dedefdd�Z�Z
S)rz�A database representing the default git object store, which includes loose
    objects, pack files and an alternates file.

    It will create objects only in the loose object database.
    �	root_path�gitr
�returnNcst��|�||_dS)z9Initialize this instance with the root and a git command.N)�super�__init__�_git)�selfrr��	__class__��:/opt/saltstack/salt/lib/python3.10/site-packages/git/db.pyr"s
zGitCmdObjectDB.__init__�binshacCs&|j�t|��\}}}tt|�||�S)z+Get a git object header (using git itself).)r�get_object_headerrrr	)rr�hexsha�typename�sizerrr�info'szGitCmdObjectDB.infocCs*|j�t|��\}}}}tt|�|||�S)zIGet git object data as a stream supporting ``read()`` (using git itself).)rZstream_object_datarrr	)rrrrr�streamrrrr,szGitCmdObjectDB.stream�partial_hexshac
CsDz|j�|�\}}}t|�WSttfy!}zt|�|�d}~ww)aF
        :return:
            Full binary 20 byte sha from the given partial hexsha

        :raise gitdb.exc.AmbiguousObjectName:

        :raise gitdb.exc.BadObject:

        :note:
            Currently we only raise :exc:`~gitdb.exc.BadObject` as git does not
            communicate ambiguous objects separately.
        N)rrr	r
�
ValueErrorr)rr rZ	_typename�_size�errr�partial_to_complete_sha_hex3s


��z*GitCmdObjectDB.partial_to_complete_sha_hex)�__name__�
__module__�__qualname__�__doc__rr�bytesrrrr�strr$�
__classcell__rrrrrsN)r(�__all__Z
gitdb.baserrZgitdb.dbrrZ	gitdb.excrZgit.utilrr	Zgit.excr
�typingrZ	git.typesrZgit.cmdr
rrrrr�<module>s