o ö]Lb ã@s\ddlmZddlZddlmZddlmZdZe  d  e eƒej ¡¡Z Gd d „d eƒZdS) é)Úabsolute_importNé)Údocketé)Úv2s dirstate-v2 z>{}s32s32s{}sLBc@s@eZdZdZdd„Zedd„ƒZedd„ƒZdd „Zd d „Z d S) ÚDirstateDockets dirstate.%scCs||_||_||_||_dS©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__cCs||||t ¡ƒSr)Ú docket_modÚmake_uid)Úclsr r r rrrÚ with_new_uuid)szDirstateDocket.with_new_uuidc Cs†|s|j|jf}||dddƒSt |¡\}}}}}} |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 rrrÚparse-s zDirstateDocket.parsec Cs2|j\}}t t|||j|jt|jƒ¡}||jSr)r rÚpackrr r Úlenr )r r r!ÚheaderrrrÚ serialize:s ú zDirstateDocket.serializecCs |j|jSr)Údata_filename_patternr )r rrrÚ data_filenameFs zDirstateDocket.data_filenameN) Ú__name__Ú __module__Ú __qualname__r)rÚ classmethodrr$r(r*rrrrr s   r)Ú __future__rÚstructÚ revlogutilsrrÚrrÚStructÚformatr&ÚTREE_METADATA_SIZErÚobjectrrrrrÚs    ÿ