Ë ÄÈðQ9}ããóΗddlZddlZddlmZddlmZmZmZmZ m Z m Z m Z ddl mZddlmZm ZddlmZej*Ze j,Zej.«Zdd„Zej4e d e«iZerÃej8d ej:d ej<d ej>d ej@d ejBdejDdejFd ejHd ejJd ejLd ejNdejPd ejRd ej@ejJzd iZejTejV«Gd„d««Z,y)éN)Úsha1nodeconstants)Ú dirstatemapÚerrorÚ extensionsÚmatchÚpycompatÚscmutilÚutil)Ú timestamp)Údirstater é)Úgitutilcó¸—d|vs|jd«s |||d¬«Sg}g}t|d«5}|D]‰}|j«}|r|jd«rŒ'|jd«r|j d|z«ŒM|jd «r|j d |d dz«Œv|j d |z«Œ‹ ddd«||fS#1swY||fSxYw) Ns info/excludes .gitignoreF)Ú sourceinfoÚrbó#ó!sunsupported ignore pattern %só/s rootglob:r srelglob:)ÚendswithÚopenÚstripÚ startswithÚappend)ÚorigÚfilepathÚwarnrÚresultÚwarningsÚfpÚls ú6usr/lib/python3.12/site-packages/hgext/git/dirstate.pyÚreadpatternfiler"sÛ€Ø ˜xÑ '¨8×+<Ñ+<¸]Ô+KÙ�H˜d¨uÔ5Ð5Ø €FØ€HÜ ˆh˜Ô  ÛˆAØ—‘“ ˆAÙ˜Ÿ ™  TÔ*ØØ�|‰|˜DÔ!Ø—‘Ð @À1Ñ DÔEØØ�|‰|˜DÔ!Ø— ‘ ˜l¨Q¨q¨r¨UÑ2Õ3à— ‘ ˜k¨A™oÕ.ñ÷ ð �8Ð Ð÷ ð �8Ð Ðús ±BC à Csreadpatternfileómónó?óróacó\—eZdZd„Zed„«Zd„Zd„Zd(d„Ze jd„«Z d„Z d „Z d „Z d „ZeZd „Zd „Zd„Zd„Zd„Zd„Zd„Zed„«Zd„Ze«Zd„Zd„Zd„Zd(d„Zd„Z d„Z!d„Z"d)d„Z#d*d„Z$d„Z%d„Z&d „Z'd!„Z(d"„Z)d#„Z*d$„Z+e,jZd%„«Z.d&„Z/d(d'„Z0y)+Ú gitdirstatecóÞ—||_tjj|j«|_||_||_i|_d|_ tj|_ ||_ y©NF) Ú_uiÚosÚpathÚdirnameÚbaseÚ_rootÚ_openerÚgitÚ_plchangecallbacksÚ_dirtyrÚ_mapclsÚ_use_dirstate_v2)ÚselfÚuiÚvfsÚgitrepoÚuse_dirstate_v2s r!Ú__init__zgitdirstate.__init__LsS€ØˆŒÜ—W‘W—_‘_ S§X¡XÓ.ˆŒ ؈Œ ؈ŒØ"$ˆÔàˆŒ Ü"×.Ñ.ˆŒ Ø /ˆÕócó¦—|j|j|j|jt|j «|_|j S)zAReturn the dirstate contents (see documentation for dirstatemap).)r6r,r2r1rr7Ú_map©r8s r!r@zgitdirstate._mapWsA€ð—L‘LØ �H‰HØ �L‰LØ �J‰JÜ Ø × !Ñ !ó  ˆŒ ð�y‰yÐr>cóÆ— |jjj«jjS#t j $rtjcYSwxYw©N) r3ÚheadÚpeelÚidÚrawÚpygit2ÚGitErrorrÚnullidrAs r!Úp1zgitdirstate.p1csK€ð ,Ø—8‘8—=‘=×%Ñ%Ó'×*Ñ*×.Ñ.Ð .øÜ�‰ò ,ô%×+Ñ+Ò +ð ,ús‚7:º#A ÁA có"—tjSrC)rrJrAs r!Úp2zgitdirstate.p2ks€ä ×'Ñ'Ð'r>NcóÌ—|€tj}|tjk(sJd«‚|jjj t j |««y)NsTODO merging support)rrJr3rDÚ set_targetrÚ togitnode)r8rKrMs r!Ú setparentszgitdirstate.setparentsosN€Ø ˆ:Ü"×)Ñ)ˆBØÔ&×-Ñ-Ò-ÐFÐ/FÓFÐ-Ø �‰� ‰ × Ñ ¤×!2Ñ!2°2Ó!6Õ7r>có’—tjjtjj |j dd««S)Ns.gitsindex)r ÚfilestatÚfrompathr-r.Újoinr1rAs r!Úidentityzgitdirstate.identityus1€ä�}‰}×%Ñ%Ü �G‰G�L‰L˜Ÿ™ W¨hÓ 7ó ð r>có—y)Nsdefault©rAs r!Úbranchzgitdirstate.branch{s€Ør>cóB—|j«tjfSrC)rKrrJrAs r!Úparentszgitdirstate.parents~s€à�w‰w‹yÔ+×2Ñ2Ð2Ð2r>có<—d„|jjD«S)Nc3óZK—|]#}tj|j«–—Œ%y­wrC)rÚfsencoder.)Ú.0Úfs r!Ú z'gitdirstate.__iter__..ƒs èø€ÐB±>¨a”×!Ñ! !§&¡&×)±>ùs‚)+)r3ÚindexrAs r!Ú__iter__zgitdirstate.__iter__‚s€ÙB°4·8±8·>²>ÓBÐBr>c#óbK—|jjD]}|jdf–—Œy­wrC)r3rbr.)r8Úies r!Úitemszgitdirstate.items…s&èø€Ø—(‘(—.”.ˆBØ—'‘'˜4�-Ó ñ!ùs‚-/cój— |jj|«}t|S#t$rYywxYw)Nr%)r3Ú status_fileÚKeyErrorÚ _STATUS_MAP©r8ÚfilenameÚgss r!Ú __getitem__zgitdirstate.__getitem__Œs;€ð Ø—‘×%Ñ% hÓ/ˆBô˜2‰Ðøôò Ùð ús ‚&¦ 2±2cóp— |jj|«}t|dk7S#t$rYywxYw)Nr%F)r3rhrjrirks r!Ú __contains__zgitdirstate.__contains__“s<€ð Ø—‘×%Ñ% hÓ/ˆBܘr‘? dÑ*Ð *øÜò Ùð ús ‚&)© 5´5c óþ—|}gggggggf\}}} } }}} tj|j«} |jj «} | j «D�]]\} }tj| «} || «sŒ%|tjk(r$| jd«rŒJ|j| «Œ\|tjtjtjtjzfvr|j| «Œ°|tjk(r|j| «ŒÕ|tj k(r|j| «Œú|tj"k(r| j| «�Œ |tj$k(r| j| «�ŒFt'j(d| |fz«‚|rŽt+||z| z| z|z|z«}|jj,}|j/«|D]I}tj|j0«} || «sŒ+| |vrŒ0| ddk(rŒ9|j| «ŒKdt3j ||| | |||«| fS#t$rd} Y�ŒGwxYw)Nrs#unhandled case: status for %r is %réÿÿÿÿF)r Ú get_fs_nowr2ÚOSErrorr3Ústatusrfrr^rHÚGIT_STATUS_IGNOREDrrÚGIT_STATUS_WT_MODIFIEDÚGIT_STATUS_INDEX_MODIFIEDÚGIT_STATUS_INDEX_NEWÚGIT_STATUS_WT_NEWÚGIT_STATUS_WT_DELETEDÚGIT_STATUS_INDEX_DELETEDrÚAbortÚsetrbÚreadr.r )r8rÚsubreposÚignoredÚcleanÚunknownÚ listcleanÚmodifiedÚaddedÚremovedÚdeletedÚmtime_boundaryÚgstatusr.ruÚobservedrbÚentrys r!ruzgitdirstate.statusšsW€Øˆ ð Ø Ø Ø Ø Ø Ø ðF ÑBˆ�%˜ '¨7°G¸Uð "Ü&×1Ñ1°$·,±,Ó?ˆNð —(‘(—/‘/Ó#ˆØ#ŸM™MŸO‰LˆD�&Ü×$Ñ$ TÓ*ˆDÙ˜”;ØØœ×2Ñ2Ò2Ø—=‘= Ô&ØØ—‘˜tÕ$ØÜ×-Ñ-Ü×0Ñ0Ü×-Ñ-Ü×2Ñ2ñ3ðñð —‘ Õ%Øœ6×6Ñ6Ò6Ø— ‘ ˜TÕ"Øœ6×3Ñ3Ò3Ø—‘˜tÕ$Øœ6×7Ñ7Ò7Ø—‘˜tÖ$Øœ6×:Ñ:Ò:Ø—‘˜tÖ$ä—k‘kØ:¸dÀF¸^ÑKóðð1,ñ8 ÜØ˜5Ñ  7Ñ*¨WÑ4°wÑ>ÀÑHóˆHð—H‘H—N‘NˆEØ �J‰JŒLÛ�Ü×(Ñ(¨¯©Ó4�Ù˜T”{ØØ˜8Ñ#ØØ˜‘8˜tÒ#ØØ— ‘ ˜TÕ"ðð Ü �N‰Nؘ% ¨'°7¸GÀUó ð ð  ð øôeò "à!‹Nð "ús•I-É- I<É;I<có—|«SrCrX)r8Ú buildfallbacks r!Úflagfunczgitdirstate.flagfuncãs €á‹Ðr>cóÈ—tjjtjjtj|j j«««SrC)r-r.r/rr^r3rAs r!Úgetcwdzgitdirstate.getcwdçs:€ä�w‰w�‰Ü �G‰G�O‰OœH×-Ñ-¨d¯h©h¯m©mÓ<Ó =ó ð r>cóT—|jj|«}|€ t«S|S)z-return a DirstateItem for the associated path)r@ÚgetÚ DirstateItem)r8r.rŒs r!Ú get_entryzgitdirstate.get_entryís&€à— ‘ — ‘ ˜dÓ#ˆØ ˆ=Ü“>Ð !؈ r>cóR—tj|«}||k(s Jd||fz«‚|S)Ns'TODO handling of case folding: %s != %s)r Únormcase)r8r.Únormeds r!Ú normalizezgitdirstate.normalizeôs>€Ü—‘˜tÓ$ˆØ˜Š~ð ÐIØ Ø ðM ñ ó ˆ~ðˆ r>có´—tjtjj t j |jj«««SrC)r Ú checklinkr-r.r/rr^r3rAs r!Ú _checklinkzgitdirstate._checklinküs1€ä�~‰~œbŸg™gŸo™o¬h×.?Ñ.?ÀÇÁÇ Á Ó.NÓOÓPÐPr>có—iSrCrXrAs r!Úcopieszgitdirstate.copiess€àˆ r>có—yr+rXrAs r!Úis_changing_parentszgitdirstate.is_changing_parentsó€ðr>có—yr+rXrAs r!Úis_changing_anyzgitdirstate.is_changing_any r¡r>c󂇗|rˆfd„}|jd|«y‰jjj«y)NcóN•—‰jjj«yrC)r3rbÚwrite)Úcategoryr8s €r!Ú writeinnerz%gitdirstate.write..writeinnersø€Ø—‘—‘×$Ñ$Õ&r>s gitdirstate)Ú addpendingr3rbr¦)r8Útrr¨s` r!r¦zgitdirstate.writes1ø€ñ ô 'ð �M‰M˜.¨*Õ 5à �H‰H�N‰N× Ñ Õ "r>có�—|€|j«}t|t«sJ‚tj|j ||«}|SrC)r‘Ú isinstanceÚbytesr Úpathtor1)r8r`ÚcwdÚrs r!r®zgitdirstate.pathtos=€Ø ˆ;Ø—+‘+“-ˆCä˜!œUÔ#Ð#Ð#Ü �K‰K˜Ÿ ™  C¨Ó +ˆØˆr>c#óšK—|jjD].}tj|j«}||«sŒ+|–—Œ0y­wrC)r3rbrr^r.)r8rÚxÚps r!Úmatcheszgitdirstate.matches%s8èø€Ø—‘—”ˆAÜ×!Ñ! !§&¡&Ó)ˆAÙ�Q�xØ“ñ ùs ‚AA ÁA có—y)zMark a file normal and clean.NrX)r8r`Úparentfiledatas r!Ú set_cleanzgitdirstate.set_clean+ó�r>có—y)z'Mark a file normal, but possibly dirty.NrX)r8r`s r!Úset_possibly_dirtyzgitdirstate.set_possibly_dirty0r¸r>cóz—i}|j«}|jj«j«D]n\}} |j d«rŒt j |«}||«sŒ6 tjtjj||««} | ||<Œp|S#t$rYŒ~wxYw)Nz.hg/) r‘r3rurfrrr^r-Ústatr.rUÚFileNotFoundError) r8rr€rƒr�Úfullr°r¯r.ruÚss r!Úwalkzgitdirstate.walk5s§€ð ˆØ�k‰k‹mˆØ ŸH™HŸO™OÓ-×3Ñ3Ö5‰LˆD�&Ø�‰˜vÔ&ØÜ×$Ñ$ TÓ*ˆDÙ˜”;Øð Ü—G‘GœBŸG™GŸL™L¨¨dÓ3Ó4�ðˆAˆdŠGð6ðˆøô%ò Ùð úsÁ23B.Â. B:Â9B:cóî—tj|«}||jjvry|jj}|j «|j |«|j «y)NFT)rÚfsdecoder3rbrÚaddr¦)r8r`Ú reset_copyÚufrbs r!Ú set_trackedzgitdirstate.set_trackedJsR€ä × Ñ ˜qÓ !ˆØ �—‘—‘Ñ ØØ—‘—‘ˆØ � ‰ Œ Ø � ‰ �"Œ Ø � ‰ Œ Ør>có¸—|jj}|j«|jt j |««|j «yrC)r3rbrrÃrrÂr¦©r8r`rbs r!rÃzgitdirstate.addUs8€Ø—‘—‘ˆØ � ‰ Œ Ø � ‰ ”(×#Ñ# AÓ&Ô'Ø � ‰ � r>cóÆ—|jj}|j«tj|«}||vr"|j |«|j «yyrC©r3rbrrrÂÚremover¦©r8r`rbÚfss r!Údropzgitdirstate.drop[sI€Ø—‘—‘ˆØ � ‰ Œ Ü × Ñ ˜qÓ !ˆØ �‰;Ø �L‰L˜Ô Ø �K‰K�Mð r>cóÆ—|jj}|j«tj|«}||vr"|j |«|j «yy)NTFrÊrÌs r!Ú set_untrackedzgitdirstate.set_untrackedcsJ€Ø—‘—‘ˆØ � ‰ Œ Ü × Ñ ˜qÓ !ˆØ �‰;Ø �L‰L˜Ô Ø �K‰KŒMØØr>có¸—|jj}|j«|jt j |««|j «yrC)r3rbrrËrrÂr¦rÈs r!rËzgitdirstate.removems8€Ø—‘—‘ˆØ � ‰ Œ Ø � ‰ ”X×&Ñ& qÓ)Ô*Ø � ‰ � r>có—yrCrX)r8r.s r!Úcopiedzgitdirstate.copiedss€àr>có—yrCrXrAs r!Úprefetch_parentszgitdirstate.prefetch_parentswó€à r>có—yrCrX)r8ÚargsÚkwargss r!Ú update_filezgitdirstate.update_file{rÖr>c#óK—d–—y­wrCrX)r8Úrepos r!Úchanging_parentszgitdirstate.changing_parentss èø€ô ùs‚có"—||j|<yrC)r4)r8r§Úcallbacks r!Úaddparentchangecallbackz#gitdirstate.addparentchangecallback„s€à,4ˆ×Ñ Ò)r>có,—tjd«‚)Ns6git repos do not support branches. try using bookmarks)rr})r8rYÚ transactions r!Ú setbranchzgitdirstate.setbranchˆs€Ü�k‰kØ Eó ð r>rC)T©F)1Ú__name__Ú __module__Ú __qualname__r=Ú propertycacher@rKrMrQr rVrYr[rcrfÚ iteritemsrnrprur�r‘r•r™Úpropertyrœržr~Ú _filecacher r£r¦r®r´r·rºrÀrÆrÃrÎrÐrËrÓrÕrÚÚ contextlibÚcontextmanagerrÝràrãrXr>r!r)r)Js„ò 0ðñ óð ò,ò(ó8ð  ×Ññ óð ò ò3òCò ð €IòòòG òRò ò òðñQóðQòñ “€Jòò ò #óòò ,ò 6ó ó* òò òòò ò ò ð×Ññóðò5ô r>r)rä)-rìr-Úmercurial.noderÚ mercurialrrrrÚmatchmodrr r Úmercurial.dirstateutilsr Úmercurial.interfacesr Ú intdirstateÚ interfaceutilÚrr”rèÚ get_pygit2rHr"Ú wrapfunctionrjÚGIT_STATUS_CONFLICTEDÚGIT_STATUS_CURRENTrvr|rxryÚGIT_STATUS_INDEX_RENAMEDÚGIT_STATUS_INDEX_TYPECHANGEr{rwrzÚGIT_STATUS_WT_RENAMEDÚGIT_STATUS_WT_TYPECHANGEÚGIT_STATUS_WT_UNREADABLEÚ implementerÚ idirstater)rXr>r!Úrs`ðÛÛ å,÷÷ñõ÷õ ð×'Ñ'€ Ø×"Ñ"€ Ø ˆ× Ñ Ó €óð(€ ×јÐ"4°oÔFð€ Ù à×$Ñ$ dØ×!Ñ! 4Ø×!Ñ! 4Ø×'Ñ'¨Ø×(Ñ(¨$Ø×#Ñ# TØ×'Ñ'¨Ø×*Ñ*¨DØ×$Ñ$ dØ×%Ñ% tØ× Ñ  $Ø×$Ñ$ dØ×'Ñ'¨Ø×'Ñ'¨Ø×(Ñ(¨6×+HÑ+HÑHÈ$ð€Kð&€×ј;×0Ñ0Ó1÷@ ð@ ó2ñ@ r>