Ë c˜Òm¤(òãó¬—ddlZddlmZddlmZmZddlmZmZm Z m Z m Z m Z m Z ddlmZddlmZmZmZmZmZmZmZmZmZmZd„Zd „Zd „Zd „Zd „Zd „Z y)éN)Ú_)ÚhexÚnullrev)ÚencodingÚerrorÚ localrepoÚmatchÚscmutilÚsparseÚutil)Úprocutilé) ÚconnectionpoolÚ constantsÚ contentstoreÚdatapackÚfileserverclientÚ historypackÚ metadatastoreÚ remotefilectxÚ remotefilelogÚ shallowutilcóz—tjj|jjj d«}tjj |«stj|«tj|||jd¬«}tj|||jd¬«}||fS)z:In-repo stores, like .hg/store/data; can not be discarded.sdataF©Úshared) ÚosÚpathÚjoinÚsvfsÚvfsÚbaseÚexistsÚmakedirsrÚremotefilelogcontentstoreÚnamerÚremotefilelogmetadatastore)ÚrepoÚ localpathÚ localcontentÚ localmetadatas úCusr/lib/python3.12/site-packages/hgext/remotefilelog/shallowrepo.pyÚmakelocalstoresr,%s‹€ä—‘— ‘ ˜TŸY™YŸ]™]×/Ñ/°Ó9€IÜ �7‰7�>‰>˜)Ô $Ü � ‰ �IÔô ×9Ñ9Ø ˆi˜Ÿ™¨5ô€Lô"×<Ñ<Ø ˆi˜Ÿ™¨5ô€Mð ˜Ð &Ð&ócóN—tj|j«}tj|||j d¬«}t j|||j d¬«}||_|jj|«|jj|«||fS)z?Typically machine-wide, cache of remote data; can be discarded.Tr) rÚ getcachepathÚuirr$r%rr&Ú sharedstoreÚshareddatastoresÚappendÚsharedhistorystores)r'Ú cachepathÚ cachecontentÚ cachemetadatas r+Úmakecachestoresr85s‘€ô×(Ñ(¨¯©Ó1€IÜ×9Ñ9Ø ˆi˜Ÿ™¨4ô€Lô"×<Ñ<Ø ˆi˜Ÿ™¨4ô€Mð$€DÔØ×Ñ× Ñ  Ô.Ø×Ñ×#Ñ# MÔ2à ˜Ð &Ð&r-cóê—tj|«|_tj|j|j|«}t j |j|j|«}||fS)z-These stores fetch data from a remote server.)rÚ fileservicerÚremotecontentstorer0rÚremotemetadatastore)r'r6r7Ú remotecontentÚremotemetadatas r+Úmakeremotestoresr?Gsh€ô(×8Ñ8¸Ó>€DÔÜ ×3Ñ3Ø �‰�×!Ñ! <ó€Mô#×6Ñ6Ø �‰�×!Ñ! =ó€Nð ˜.Ð (Ð(r-có‚—tj|tj«}t j |j |«}tj|j |«}|jj|«|jj|«tj|j d||«||fS)z5Packs are more efficient (to read from) cache stores.ó filestore) rÚgetcachepackpathrÚFILEPACK_CATEGORYrÚ datapackstorer0rÚhistorypackstorer2r3r4Úreportpackmetrics)r'ÚpackpathÚpackcontentstoreÚpackmetadatastores r+ÚmakepackstoresrJTsŸ€ô×+Ñ+¨D´)×2MÑ2MÓN€HÜ×-Ñ-¨d¯g©g°xÓ@ÐÜ#×4Ñ4°T·W±W¸hÓGÐà×Ñ× Ñ Ð!1Ô2Ø×Ñ×#Ñ#Ð$5Ô6Ü×!Ñ!Ø �‰�Ð/Ð1Bôð Ð.Ð .Ð.r-cóÀ—g|_g|_t|«\}}t|«\}}t |«\}}t |||«\}}t j|||||¬«|_tj|||||¬«|_|} |} |jj|j |j| | «tj|jd||«y)zBUnion stores iterate the other stores and return the first result.)Ú writestorerAN)r2r4rJr8r,r?rÚunioncontentstorerÚunionmetadatastorer:ÚsetstorerrFr0) r'rHrIr6r7r)r*r=r>ÚfileservicedatawriteÚfileservicehistorywrites r+ÚmakeunionstoresrRcsø€à€DÔØ!€DÔä*8¸Ó*>Ñ'ÐÐ'Ü"1°$Ó"7Ñ€L�-Ü"1°$Ó"7Ñ€L�-Ü$4Ø ˆl˜Mó%Ñ!€M�>ô %×6Ñ6ØØØØØô €DÔô'×9Ñ9ØØØØØ ô €DÔð(ÐØ+ÐØ×Ñ×ÑØ ×ÑØ ×ÑØØô ô ×!Ñ!Ø �‰�Ð/Ð1Bõr-có ‡‡—Gˆˆfd„d‰j«Š‰‰_tj«‰_t ‰«‰j j ddd«‰_‰j j ddd«‰_tj‰d«stj‰«‰_ ‰js ‰jr=tj‰jdd‰j‰j«‰_yy)Ncó╇—eZdZejd„«Zejˆfd„«Zˆfd„Zˆˆfd„Zˆˆfd„Z e jd ˆˆfd„ «Z d ˆfd„ Z d ˆfd„ Zd ˆfd „ Zˆˆfd „ZˆxZS)ú#wraprepo..shallowrepositorycó:—|jjdd«S)Nó remotefilelogsreponame)r0Úconfig)Úselfs r+r%z(wraprepo..shallowrepository.nameŽs€à—7‘7—>‘>Ð"2°KÓ@Ð @r-c󤕗‰jjdd‰jjdd««}|stjd«‚|S)NrWs fallbackpathspathssdefaults>no remotefilelog server configured - is your .hg/hgrc trusted?)r0rXrÚAbort)rYrr's €r+Ú fallbackpathz0wraprepo..shallowrepository.fallbackpath’sOø€à—7‘7—>‘>Ø ØØ—‘—‘˜x¨Ó4óˆDñ Ü—k‘kð>óðð ˆKr-c󈕗|rtj‰|¬«}ntj‰«}|j«ry|S)zÅ A wrapper that allows the remotefilelog to invoke sparsematch() if this is a sparse repository, or returns None if this is not a sparse repository. )ÚrevsN)r ÚmatcherÚalways)rYr^ÚkwargsÚretr's €r+Úmaybesparsematchz4wraprepo..shallowrepository.maybesparsematch¡s7ø€ñ Ü—n‘n T°Ô5‘ä—n‘n TÓ*�à�z‰zŒ|ØØˆJr-có •—|ddk(r|dd}|j|«r!tj|j||«St‰|�|«S)Nró/r)Ú shallowmatchrrÚsuperÚfile)rYÚfÚ __class__Úshallowrepositorys €€r+rhz(wraprepo..shallowrepository.file°sSø€Ø�‰t�tŠ|Ø�a�b�E�à× Ñ  Ô#Ü$×2Ñ2°4·9±9¸aÀÓFÐFäÐ.°Ñ:¸1Ó=Ð=r-c󀕗|j|«rtj||g|¢­i|¤ŽSt‰|�|g|¢­i|¤ŽS©N)rfrrgÚfilectx)rYrÚargsrarjrks €€r+rnz+wraprepo..shallowrepository.filectx¹sVø€Ø× Ñ  Ô&Ü$×2Ñ2°4¸ÐOÀÒOÈÑOÐOäÐ.°Ñ=ØðØòØ#)ñðr-cóš•—|j«s©|j«j«}g}|j«|j «zD]J}|j ||j «}||j k7sŒ/|j|t|«f«ŒL|jj|«t‰ |�3|||¬«S)z{Add a new revision to current repository. Revision information is passed via the context argument. )rÚorigctx) Ú manifestnodeÚp1ÚmanifestÚmodifiedÚaddedÚgetÚnullidr3rr:ÚprefetchrgÚ commitctx) rYÚctxrrqÚm1ÚfilesriÚfparent1rjrks €€r+rzz-wraprepo..shallowrepository.commitctxÁs±ø€ð×#Ñ#Ô%à—V‘V“X×&Ñ&Ó(�Ø�ØŸ™›¨#¯)©)«+Ô5�AØ!Ÿv™v a¨¯©Ó5�HØ 4§;¡;Ó.ØŸ ™  a¬¨X«Ð%7Õ8ð6ð× Ñ ×)Ñ)¨%Ô0ÜÐ*¨DÑ;ؘ5¨'ð<óð r-có>•—tj«d‰jdg}|r|jd«|r|d|gz }i}‰jj dd«r‰jj |d<tj|tjfdd i|¤Žy ) z0Runs prefetch in background with optional repacks-Rsprefetchs--repacks-rsdevelsremotefilelog.bg-waitÚ record_waitÚ ensurestartFN) r Ú hgexecutableÚorigrootr3r0Ú configboolÚatexitÚ runbgcommandrÚenviron) rYr^r!ÚrepackÚpatsÚoptsÚcmdrar's €r+Úbackgroundprefetchz6wraprepo..shallowrepository.backgroundprefetch×s—ø€ô×(Ñ(Ó*¨E°4·=±=À+ÐNˆCÙØ— ‘ ˜;Ô'ÙØ˜˜t�}Ñ$�ðˆFØ�w‰w×!Ñ! (Ð,DÔEØ(,¯©¯©��}Ñ%ä × !Ñ !Ø”X×%Ñ%ñ Ø38ð Ø.shallowrepository.prefetchêsZø€ð—‘Ø— ‘ ØØØØÜÐ&Ó'¨$¯-©-Ñ7õ 𗑘t T¨4°Ô6÷÷ñús ¸AÁAc󕇇—|j}|rA‰jd|«}|�/|tk7r&t‰jd||««}|r|d}n‰}‰j}|j d«} |�>|‰|j «j«} t| j««} n t«} | j«} | j«} t«}|jt«t|«}|jjtd«|¬«}|j!d«t#|«D�]}‰|}|rt%j&|||«Š‰j)|«Š|j «}| j+|«}| j-|«\}}||vr||vr||j/«} n||j«} | j«}|r ˆfd„|D«}‰r ˆfd„|D«}||vr| j!|«n| j!|«|j|«|j1«�Œ | j3| «| j3| «|j5«| r<| D��cgc]\}}|t7|«f‘Œ}}}‰j8j;|d ¬ «| r;| D��cgc]\}}|t7|«f‘Œ}}}‰j8j;|«yycc}}wcc}}w) Ns outgoing(%s)sfirst(reverse(::%s) - %ld)rr-s prefetching)Útotalc3ó:•K—|]}‰|d«sŒ|–—Œy­w©rN©)Ú.0ÚpfÚms €r+Ú z@wraprepo..shallowrepository._prefetch...søèø€Ð:© 2±°2°a±5µœB©ùóƒ”c3ó:•K—|]}‰|d«sŒ|–—Œy­wr“r”)r•r–Ú sparsematchs €r+r˜z@wraprepo..shallowrepository._prefetch..0søèø€ÐD© 2±¸RÀ¹UÕ1CœB©ùr™T)Úforce)r\r^rÚlistÚ manifestlogÚ getstoragerrÚreadÚsetÚitemsÚcopyÚaddÚlenr0Ú makeprogressrÚupdateÚsortedr r rcÚrevÚ parentrevsÚreadfastÚ incrementÚdifference_updateÚcompleterr:ry)rYr^r!r‰rŠr\Ú localrevsÚ serverbaseÚmflÚmfrevlogÚmfdictÚskipr}Ú serverfilesÚvisitedÚrevcountÚprogressr©r{ÚmfnodeÚmfrevrsÚp2ÚdiffrÚfnodeÚresultsr—r›r's @@€r+r�z-wraprepo..shallowrepository._prefetchøsÅú€Ø×,Ñ,ˆLÙð!ŸI™I o°|ÓD� ØÐ#¨´ªÜ!%ØŸ ™ Ø9¸4Àóó"�Jñ "Ø)¨!™}™à � à×"Ñ"ˆCØ—~‘~ cÓ*ˆHØÐؘT $™Z×4Ñ4Ó6Ñ7×<Ñ<Ó>�ܘ6Ÿ<™<›>Ó*‘ä“u�ð—I‘I“KˆEØŸ)™)›+ˆKÜ“eˆGØ �K‰KœÔ ܘ4“yˆHØ—w‘w×+Ñ+¬A¨nÓ,=ÀXÐ+ÓNˆHØ �O‰O˜AÔ Ü˜d—|�ؘ3‘i�ÙÜŸ ™  c¨4°Ó6�AØ"×3Ñ3°CÓ8� à×)Ñ)Ó+�Ø Ÿ ™  VÓ,�ð"×,Ñ,¨UÓ3‘��Bؘ‘= R¨7¡]Ø  ™[×1Ñ1Ó3‘Fà  ™[×-Ñ-Ó/�Fà—|‘|“~�ÙÛ:©Ó:�DÙÛD©ÓD�DؘiÑ'Ø×&Ñ& tÕ,à—L‘L Ô&à— ‘ ˜EÔ"Ø×"Ñ"Ö$ð9$ð< × #Ñ # DÔ )Ø × )Ñ )¨$Ô /Ø × Ñ Ô ñÙCNÔOÁ;±-°4¸˜D¤# e£*Ò-À;�ÑOØ× Ñ ×)Ñ)¨'¸Ð)Ô>ñÙCHÔIÁ5±-°4¸˜D¤# e£*Ò-À5�ÑIØ× Ñ ×)Ñ)¨'Õ2ðùó Pùó Js Ê LË LcóV•—t‰|�«|jj«yrm)rgÚcloser)rYrjrks €€r+rÀz)wraprepo..shallowrepository.closeGs#ø€Ü Ð# TÑ 0Ô 2Ø × Ñ × %Ñ %Õ 'r-)FN)NFNN)NNN)Ú__name__Ú __module__Ú __qualname__r Ú propertycacher%r\rcrhrnrÚunfilteredmethodrzrŒryr�rÀÚ __classcell__)rjr'rks@€€r+rkrU�s‚ù„Ø × Ñ ñ Aó ð Að × Ñ ó ó ð ô õ >õ ð × #Ñ #õ ó $ð ð,BFõ õ& 7õM 3÷^ (ñ (r-rkrWsincludepatternsexcludepatternrr-) rjr r`rfrRr0Ú configlistÚincludepatternÚexcludepatternr Ú safehasattrrÚroot)r'rks`@r+ÚwrapreporÌŒsÝù€÷|(˜DŸN™Nô|(ð|'€D„NäŸ ™ ›€DÔä�DÔàŸ'™'×,Ñ,ØÐ+¨Tó€DÔðŸ'™'×,Ñ,ØÐ+¨Tó€DÔô × Ñ ˜DÐ"2Ô 3Ü,×;Ñ;¸DÓAˆÔà ×Ò˜d×1Ò1Ü!ŸK™KØ �I‰I�s˜D $×"5Ñ"5°t×7JÑ7Jó ˆÕð2r-)!rÚmercurial.i18nrÚmercurial.noderrÚ mercurialrrrr r r r Úmercurial.utilsr Úrrrrrrrrrrr,r8r?rJrRrÌr”r-r+ÚrÒsSðó åß'÷÷ñõ%÷ ÷ ÷ ò 'ò 'ò$ )ò /ò&óRQ r-