Ë ®ã�ì—àÃðãóB—ddlZddlmZGd„dej«Zy)éNé)Úutilcóö—eZdZ d(d„Zej d«Zej d«Zej d«Zej d«Z d„Z d„Z ej d«Z ej d «Z ejd „«Zejd „«Zd „Zd „Zd„Zd)d„Zd„Zd„Zd„Zd„ZeZd„Zd„Zd„Zd„Zd)d„Zd)d„Z d„Z!d„Z"d„Z#d„Z$d*d„Z%d „Z&d)d!„Z'd"„Z(d#„Z)d+d$„Z*d%„Z+d&„Z,d)d'„Z-y),Ú idirstatecó—y)zÈCreate a new dirstate object. opener is an open()-like callable that can be used to open the dirstate file; root is the root of the directory tracked by the dirstate. N©)ÚopenerÚuiÚrootÚvalidateÚ sparsematchfnÚ nodeconstantsÚuse_dirstate_v2Úuse_tracked_hints úAusr/lib/python3.12/site-packages/mercurial/interfaces/dirstate.pyÚ__init__zidirstate.__init__ó�ózMatcher for ignored files.z True if any changes in progress.z$True if parents changes in progress.z*True if file tracking changes in progress.có—y)z5Return a list of files containing patterns to ignore.NrrrrÚ _ignorefileszidirstate._ignorefiles%rrcó—y)zBGiven a file `f`, return the ignore file and line that ignores it.Nr)Úfs rÚ_ignorefileandlinezidirstate._ignorefileandline(rrzCallable for checking symlinks.z Callable for checking exec bits.có—y)zÍContext manager for handling dirstate parents. If an exception occurs in the scope of the context manager, the incoherent dirstate won't be written when wlock is released. Nr©Úrepos rÚchanging_parentszidirstate.changing_parents.rrcó—y)zËContext manager for handling dirstate files. If an exception occurs in the scope of the context manager, the incoherent dirstate won't be written when wlock is released. Nrrs rÚchanging_fileszidirstate.changing_files7rrcó—y©Nr)Úds rÚhasdirzidirstate.hasdir@ó€Ø rcó—y)aSbuild a callable that returns flags associated with a filename The information is extracted from three possible layers: 1. the file system if it supports the information 2. the "fallback" information stored in the dirstate if any 3. a more expensive mechanism inferring the flags from the parents. Nr)Ú buildfallbacks rÚflagfunczidirstate.flagfuncCrrcó—y)aReturn the path from which a canonical path is calculated. This path should be used to resolve file patterns or to convert canonical paths back to file paths for display. It shouldn't be used to get real file paths. Use vfs functions instead. NrrrrÚgetcwdzidirstate.getcwdLrrNcó—yr!r)rÚcwds rÚpathtozidirstate.pathtoTr$rcó—y)z-return a DirstateItem for the associated pathNr)Úpaths rÚ get_entryzidirstate.get_entryWrrcó—y)z3Check if bytestring `key` is known to the dirstate.Nr)Úkeys rÚ __contains__zidirstate.__contains__Zrrcó—y)z:Iterate the dirstate's contained filenames as bytestrings.NrrrrÚ__iter__zidirstate.__iter__]rrcó—y)zpIterate the dirstate's entries as (filename, DirstateItem. As usual, filename is a bytestring. NrrrrÚitemszidirstate.items`rrcó—yr!rrrrÚparentszidirstate.parentshr$rcó—yr!rrrrÚp1z idirstate.p1kr$rcó—yr!rrrrÚp2z idirstate.p2nr$rcó—yr!rrrrÚbranchzidirstate.branchqr$rcó—y)zñSet dirstate parents to p1 and p2. When moving from two parents to one, "merged" entries a adjusted to normal and previous copy records discarded and returned by the call. See localrepo.setparents() Nr)r:r<s rÚ setparentszidirstate.setparentstrrcó—yr!r)r>Ú transactions rÚ setbranchzidirstate.setbranch~r$rcó—y)aCauses the next access to reread the dirstate. This is different from localrepo.invalidatedirstate() because it always rereads the dirstate. Use localrepo.invalidatedirstate() if you want to check whether the dirstate has changed before rereading it.NrrrrÚ invalidatezidirstate.invalidate�rrcó—y)z=Mark dest as a copy of source. Unmark dest if source is None.Nr)ÚsourceÚdests rÚcopyzidirstate.copyˆrrcó—yr!r)Úfiles rÚcopiedzidirstate.copied‹r$rcó—yr!rrrrÚcopieszidirstate.copiesŽr$rcó—y)aL normalize the case of a pathname when on a casefolding filesystem isknown specifies whether the filename came from walking the disk, to avoid extra filesystem access. If ignoremissing is True, missing path are returned unchanged. Otherwise, we try harder to normalize possibly existing path components. The normalized case is determined based on the following precedence: - version of name already stored in the dirstate - version of name stored on disk - version provided via command arguments Nr)r.ÚisknownÚ ignoremissings rÚ normalizezidirstate.normalize‘rrcó—yr!rrrrÚclearzidirstate.clear£r$rcó—yr!r)ÚparentÚallfilesÚ changedfiless rÚrebuildzidirstate.rebuild¦r$rcó—yr!r)Útrs rÚwritezidirstate.write©r$rcó—y)a%add a callback to be called when the wd parents are changed Callback will be called with the following arguments: dirstate, (oldp1, oldp2), (newp1, newp2) Category is a unique identifier to allow overwriting an old callback with a newer callback. Nr)ÚcategoryÚcallbacks rÚaddparentchangecallbackz!idirstate.addparentchangecallback¬rrcó—y)a3 Walk recursively through the directory tree, finding all files matched by match. If full is False, maybe skip some known-clean files. Return a dict mapping filename to stat-like object (either mercurial.osutil.stat instance or return value of os.stat()). Nr)ÚmatchÚsubreposÚunknownÚignoredÚfulls rÚwalkzidirstate.walk¶rrcó—y)a|Determine the status of the working copy relative to the dirstate and return a pair of (unsure, status), where status is of type scmutil.status and: unsure: files that might have been modified since the dirstate was written, but need to be read to be sure (size is the same but mtime differs) status.modified: files that have definitely been modified since the dirstate was written (different size or mode) status.clean: files that have definitely not been modified since the dirstate was written Nr)rbrcreÚcleanrds rÚstatuszidirstate.statusÂrrcó—y)zT return files in the dirstate (in whatever state) filtered by match Nr)rbs rÚmatcheszidirstate.matchesÓrrcó—y)zZ check the dirstate contents against the parent manifest and yield errors Nr)Úm1Úm2r:Únarrow_matchers rÚverifyzidirstate.verifyØrr)Fr!)FF)T).Ú__name__Ú __module__Ú __qualname__rÚ interfaceutilÚ AttributeÚ_ignoreÚis_changing_anyÚis_changing_parentsÚis_changing_filesrrÚ _checklinkÚ _checkexecÚ contextlibÚcontextmanagerrrr#r'r)r,r/r2r4r6Ú iteritemsr8r:r<r>r@rCrErIrLrNrRrTrYr\r`rgrjrlrqrrrrrs^„ðó ð&&ˆm×%Ñ%Ð&FÓG€GØ-�m×-Ñ-Ø.ó€Oð2˜-×1Ñ1Ø2óÐð0˜ ×/Ñ/Ø8óÐòDòQð)�×(Ñ(Ð)NÓO€JØ(�×(Ñ(Ð)OÓP€Jà×Ññ óð ð×Ññ óð ò ò ò ó ò<òBòIò ð €Iò ò ò ò ó ó òGòLò ò ó ò$ ó ò ò ó  ò ò" ô  rr)r}ÚrruÚ InterfacerrrrÚr‚sðÛå#ôU � ×'Ñ'õU r