File: //usr/lib/python3/dist-packages/mercurial/dirstateutils/__pycache__/docket.cpython-310.pyc
o
�]Lb
� @ s\ d dl mZ d dlZddlmZ ddlmZ dZe� d�
ee�ej��Z
G d d
� d
e�ZdS )� )�absolute_importN� )�docket� )�v2s dirstate-v2
z>{}s32s32s{}sLBc @ s@ e Zd ZdZdd� Zedd� �Zedd� �Zdd � Zd
d� Z dS )
�DirstateDockets dirstate.%sc C s || _ || _|| _|| _d S �N)�parents� data_size�
tree_metadata�uuid)�selfr r
r r � r �@/usr/lib/python3/dist-packages/mercurial/dirstateutils/docket.py�__init__# s
zDirstateDocket.__init__c C s | |||t �� �S r )�
docket_mod�make_uid)�clsr r
r r r r �
with_new_uuid) s zDirstateDocket.with_new_uuidc C s� |s|j |j f}| |ddd �S t�|�\}}}}}} |tkr"td��|tjtj| � }
|d |j� }|d |j� }| ||f|||
�S )Nr � zexpected dirstate-v2 marker)�nullid�HEADER�unpack_from�V2_FORMAT_MARKER�
ValueError�size�nodelen)r �data�
nodeconstantsr �marker�p1�p2�metar
� uuid_sizer r r r �parse- s zDirstateDocket.parsec C s2 | j \}}t�t||| j| jt| j��}|| j S r )r r �packr r r
�lenr )r
r r! �headerr r r � serialize: s
�
zDirstateDocket.serializec C s | j | j S r )�data_filename_patternr )r
r r r �
data_filenameF s zDirstateDocket.data_filenameN)
�__name__�
__module__�__qualname__r) r �classmethodr r$ r( r* r r r r r s
r )�
__future__r �struct�revlogutilsr r � r r �Struct�formatr&