Ë °£µÆ%ƒvãóÜ—ddlZddlZddlmZmZmZmZddlmZddl m Z ddl m Z m Z mZmZmZddlmZddlmZmZmZmZmZmZd „Zd „Zdd „Zd „Zd „Zd„Z d„Z!d„Z"d„Z#d„Z$d„Z%d„Z&d„Z'y)éN)ÚbinÚhexÚsha1nodeconstantsÚshort)Ú_)Úopen)ÚerrorÚfilelogÚlockÚpycompatÚrevlog)Úhashutilé)Ú constantsÚdatapackÚfileserverclientÚ historypackÚrepackÚ shallowutilc óØ—|jd«}t||«\}}}|jtd«|z«|jtd«|z«|jtd«t |«z«|jtd««|jtd«dz«|g}|r­|j d«}||\} } } } |jtd «t |«t | «t | «t | «| fz«| t jk7r|j| «| t jk7r|j| «|rŒ¬yy) NÚ decompressssize: %d bytes s path: %s s key: %s ó s%12s => %12s %13s %13s %12s )snodesp1sp2slinknodescopyfromrs%s => %s %s %s %s ) ÚgetÚ parsefileblobÚstatusrrÚpoprÚnullidÚappend) ÚuiÚpathÚoptsrÚsizeÚ firstnodeÚmappingÚqueueÚnodeÚp1Úp2ÚlinknodeÚcopyfroms úEusr/lib/python3.12/site-packages/hgext/remotefilelog/debugcommands.pyÚdebugremotefilelogr,%s9€Ø—‘˜,Ó'€Jä,¨T°:Ó>Ñ€Dˆ)�Wà‡I�IŒaÐ#Ó$ tÑ+Ô,؇I�IŒa�Ó $Ñ&Ô'؇I�IŒa� Ó¤%¨ Ó"2Ñ3Ô4؇I�IŒa�‹hÔØ‡I�IÜ Ð *Ó+Ø ;ñ <ôð ˆK€EÙ Ø�y‰y˜‹|ˆØ%,¨T¡]Ñ"ˆˆB�˜(Ø � ‰ Ü Ð'Ó (Ü�T‹{œE "›I¤u¨R£y´%¸³/À8ÐLñ Mô ð Ô"×)Ñ)Ò )Ø �L‰L˜Ô Ø Ô"×)Ñ)Ò )Ø �L‰L˜Ô ô óc óà—ttj|«j««}tj j |j d|«}g}t j|«D]2}d|vsŒ|j|j|t|«¬««Œ4t|d„¬«}|jd«}tj j|«rt j|«tj|j d«}Gd„d «}|«} |D]Á} | j#«|vrŒ| j«j%| j'««} i} | j)«r5| j)«d | d <t| j)«d «| d <|j+| j-«| | | j/«| d | d «ŒÃ|S)Ns store/datas_old)Úfileidcó"—|j«S©N)Úlinkrev)Úxs r+Úz!buildtemprevlog..Ls €¨¯ © ¬ r-)Úkeysdata/temprevlog.is temprevlogcó—eZdZd„Zy)úbuildtemprevlog..faketcó—yr1©)ÚselfÚaÚbÚcs r+Úaddz"buildtemprevlog..faket.addUs€Ø r-N)Ú__name__Ú __module__Ú __qualname__r>r9r-r+Úfaketr7Ts„ó r-rBrscopyrscopyrev)rrÚsha1ÚdigestÚosr ÚjoinÚlistdirrÚfilectxrÚsortedÚsjoinÚexistsÚremover Úsvfsr&ÚparentsÚfilenodeÚrenamedr>Údatar2) ÚrepoÚfileÚfilekeyÚfiledirÚfctxsrOÚtemppathÚrrBÚtÚfctxÚpÚmetas r+Úbuildtemprevlogr]As~€ä”(—-‘- Ó%×,Ñ,Ó.Ó/€GÜ�g‰g�l‰l˜4Ÿ9™9 m°WÓ=€Gð €EÜ—J‘J˜wÖ'ˆØ ˜(Ò "Ø �L‰L˜Ÿ™ d´3°x³=˜ÓAÕ Bð(ô �5Ñ3Ô 4€Eð�z‰zÐ.Ó/€HÜ ‡w�w‡~�~�hÔÜ � ‰ �(ÔÜ�‰˜Ÿ ™  =Ó1€A÷ññ ‹€AÛˆØ �9‰9‹;˜dÑ "Ø à �L‰L‹N× "Ñ " 4§=¡=£?Ó 3ˆØˆØ �<‰<Œ>Ø ŸL™L›N¨1Ñ-ˆD�‰MÜ" 4§<¡<£>°!Ñ#4Ó5ˆD�Ñ à �‰ˆd�i‰i‹k˜4  D§L¡L£N°A°a±D¸!¸A¹$Õ?ðð €Hr-c óü—|jd«sH|jd«s7|jd«s&tj|«r|j|«s ||||fi|¤ŽSt ||«}|jdd«}|dvr!t j td«|z«‚|jtjz}|rd}nd }|dk(r|jd |zd z«n|d k(r|jd |zdz«|D�]J} |j| «} |r|j| «} n|j| «} |dk(r} |j| «} |jd| |j%| «|j'| «| |j)| «t+| «t+| d«t+| d «fz«Œ¼|d k(sŒÂ|j-| «} |jd| |j/| «|j%| «|j'| «|j1| «| |j)| «| d| d t+| «f z«�ŒMy#t $r|j"|j"g} Y�Œ"wxYw)z"dump the contents of an index fileÚ changelogÚmanifestÚdirsformatr)rrsunknown format %ds deltas bases rev offset length s& linkrev nodeid p1 p2 rs' rev flag offset length size s# link p1 p2 nodeid s"% 6d % 9d % 7d % 6d % 7d %s %s %s s0% 6d %04x % 8d % 8d % 8d % 6d % 6d % 6d % 6d %s N)rrÚ isenabledÚ shallowmatchr]r ÚAbortrÚversionr ÚFLAG_GENERALDELTAÚwriter&Ú deltaparentÚ chainbaserNÚ ExceptionrÚstartÚlengthr2rÚ parentrevsÚflagsÚrawsize)ÚorigrrRÚfile_r!rXÚformatÚ generaldeltaÚbasehdrÚir&ÚbaseÚppÚprs r+Ú debugindexryhs\€ð �‰�ÔØ �8‰8�JÔ Ø �8‰8�EŒ?Ü×$Ñ$ TÔ*Ø× Ñ  Ô'á�B˜˜eÑ, tÑ,Ð,䘘eÓ$€Að�X‰X�i Ó #€FØ �VÑÜ�k‰kœ!Ð0Ó1°FÑ:Ó;Ð;à—9‘9œv×7Ñ7Ñ7€LÙØ‰àˆà �‚{Ø �‰à,¨wÑ6ð:3ñ3õ ð �1ŠØ �‰ðØ 'ñ(ð+#ñ#ô ôˆØ�v‰v�a‹yˆÙ Ø—=‘= Ó#‰Dà—;‘;˜q“>ˆDØ �QŠ;ð 0Ø—Y‘Y˜t“_�ð �H‰HØ6àØ—G‘G˜A“JØ—H‘H˜Q“KØØ—I‘I˜a“Lܘ$“Kܘ"˜Q™%“Lܘ"˜Q™%“Lð ñ õ ð�q‹[Ø—‘˜a“ˆBØ �H‰HØDàØ—G‘G˜A“JØ—G‘G˜A“JØ—H‘H˜Q“KØ—I‘I˜a“LØØ—I‘I˜a“LØ�q‘EØ�q‘Eܘ$“Kð ñ ö ñ5øôò 0Ø—k‘k 4§;¡;Ð/“ð 0úsÅIÉ!I;É:I;cóö—tj|«s ||||«St|tjj |«dd«}|j d«|D]‡}|j|«}|j|«}|jd|j|d«|fz«|d|jk7sŒ`|jd|j|d«|fz«Œ‰|jd«y)z(dump an index DAG as a graphviz dot fileNéþÿÿÿs digraph G { s %d -> %d rrs} ) rrbr]rEr ÚbasenameÚ writenoi18nr&rNrgÚrevr)rprrRrqrXrur&rws r+Ú debugindexdotr»sÔ€ä × Ñ  Ô &Ù�B˜˜eÓ$Ð$䘜bŸg™g×.Ñ.¨uÓ5°c°rÐ:Ó;€Aà‡N�NÐ#Ô$Û ˆØ�v‰v�a‹yˆØ �Y‰Y�t‹_ˆØ �‰� A§E¡E¨"¨Q©%£L°!Ð#4Ñ4Ô5Ø ˆa‰5�D—K‘KÓ Ø �H‰H�_¨¯©¨b°©e« °aÐ'8Ñ8Õ 9ð ð ‡H�HˆVÕr-c ó—|jd«}tj|«D]Ü\}}}|D]Ñ}|dk(rŒ tjj ||«}t ||«\} } } | j «D]†\} } }}|tjk(sŒtjj||«}tjd||«}|jd|tjj||«fz«ŒˆŒÓŒÞy)Nrsrepossreponames%s %s ) rrEÚwalkr rFrÚvaluesrrÚrelpathrÚ getcachekeyr)rr r!rÚrootÚdirsÚfilesrSÚfilepathr"r#r$r'r(r)r*Ú actualpathr5s r+ÚverifyremotefilelogrŠÌsã€Ø—‘˜,Ó'€JäŸW™W Tž]шˆd�EÛˆDØ�xÒØÜ—w‘w—|‘| D¨$Ó/ˆHÜ'4°X¸zÓ'JÑ $ˆD�)˜WØ.5¯n©nÖ.>Ñ*��B˜ (ØÔ0×7Ñ7Ó7Ü!#§¡§¡°°tÓ!<�JÜ*×6Ñ6Ø# Z°ó�Cð—I‘IØ" c¬2¯7©7¯?©?¸8ÀTÓ+JÐ%KÑKõñ /?ñ ñ+r-có,—tj|«Sr1)Úzlibr)Úraws r+Ú_decompressblobrŽàs€Ü �?‰?˜3Ó Ðr-cóØ—t|d«} |j«}|j«|r t|«}t j |«\}}}||z}d}i} |t |«krg|jd|dz«} |||dz} |s| }||dz|dz} ||dz|dz} ||dz|dz}||dz| }| | ||f| | <| dz}|t |«krŒg||| fS#|j«wxYw)NsrbóéPéé(é<r)rÚreadÚcloserŽrÚparsesizeflagsÚlenÚindex)r rÚfr�Úoffsetr"rnrkr#r$ÚdividerÚ currentnoder'r(r)r*s r+rräs(€Ü ˆT�5Ó€AðØ�f‰f‹hˆà �‰Œ áܘcÓ"ˆä%×4Ñ4°SÓ9Ñ€FˆD�%Ø �T‰M€Eà€Ià€GØ ”#�c“(Ò Ø—)‘)˜E 5¨2¡:Ó.ˆà˜% 5¨2¡:Ð/ˆ ÙØ#ˆIà �%˜"‘* ¨¡Ð -ˆØ �%˜"‘* ¨¡Ð -ˆØ˜ ™  u¨r¡zÐ3ˆØ˜ ™  gÐ.ˆà " B¨°(Ð;ˆ� ÑØ˜!‘ ˆð ”#�c“(Ó ð �˜GÐ #Ð#øð5 �‰� ús ŽCÃC)c ó䇇‡‡‡—|D�]e}d|vr|d|jd«}‰jd|z«tj|«}|jd«}|r*|j dt |««}t ‰|fi|¤Žy|jd«r t}dŠnt}dŠdŠdŠdŠˆˆˆˆˆfd „}i} t«} d} |j«D�]T\} }} }| | |<|| vr"‰jd t|«z«| d z } | j|«| ‰k7r~|«| dk(rd n| }‰jd|z«‰jd dj‰«dj‰«djd«djd«fz«| ŠdŠdŠ|j| |«}tj|vr|tj}‰|z Љ|z Šnd}‰jd||«|| «d|zjd«t!j"|«fz«�ŒW �|«| t%‰t| «| «z } | d kDs�ŒR‰j'd| z«y y)Ns.datas%s: r&r-Úlongé*érc ó.•—‰�‰jd«‰r‰sy‰‰z }ddt|«z‰z |dkDrdndfz}‰jddjd ‰zt d «z «d ‰zjd «d ‰zjd «|fz«y)Nrs %0.1f%% %sgY@rssmallersbiggersTotal:%s%s %s (%s) r-ésTotal:ó%dé é )rgÚabsr}Úljustr˜)Ú differenceÚdeltastrÚhashlenÚ lastfilenameÚ totalblobsizeÚtotaldeltasizers €€€€€r+Ú printtotalsz"debugdatapack..printtotalss®ø€ØÐ'Ø—‘˜”Ù!©ØØ&¨Ñ7ˆJØ$Øœ˜Z›Ñ(¨=Ñ8Ø)¨Aš~‘°9ð(ñˆHð �N‰NØ(à—I‘I˜a '™k¬C° «NÑ:Ó;ؘ^Ñ+×2Ñ2°2Ó6ؘ]Ñ*×1Ñ1°!Ó4Øð ñõ r-sBad entry: %s appears twice rs (empty name)s %s%s%s%s óNodeó Delta Baseó Delta Lengths Blob Sizer¦s (missing)s %s %s %s%s r¤s %d failures )r™rgrrÚ getdeltachainrÚdumpdeltachainrrÚsetÚ iterentriesr>r¨ÚgetmetarÚ METAKEYSIZEr ÚbytestrÚ _sanitycheckÚwarn)rÚpathsr!r Údpackr&Ú deltachainÚ hashformatterr¯ÚbasesÚnodesÚfailuresÚfilenameÚ deltabaseÚdeltalenÚnamer\Úblobsizer«r¬r­r®s` @@@@r+Ú debugdatapackrÈs†ü€ÜˆØ �tÑ ØÐ.˜$Ÿ*™* XÓ.Ð/ˆDØ �‰�˜D‘Ô!Ü×!Ñ! $Ó'ˆØ�x‰x˜ÓˆÙ Ø×,Ñ,¨S´#°d³)Ó<ˆJÜ ˜2˜zÑ 2¨TÒ 2Ù à �8‰8�FÔ ÜˆM؉Gä!ˆM؈Gàˆ ØˆØˆ ÷ ð ð*ˆÜ“ˆØˆØ38×3DÑ3D×3FÑ /ˆH�d˜I xØ#ˆE�$‰KØ�u‰}Ø—‘Ð:¼UÀ4»[ÑHÔJؘA‘ �Ø �I‰I�dŒOؘ<Ò'Ù” Ø*2°cª/‘¸x�Ø—‘˜ D™Ô)Ø—‘Ø!àŸ ™  gÓ.Ø%×+Ñ+¨GÓ4Ø'×-Ñ-¨bÓ1Ø$×*Ñ*¨1Ó-ð ñôð (� Ø !� Ø!"�ð—=‘= ¨4Ó0ˆDÜ×$Ñ$¨Ñ,ؤ × 5Ñ 5Ñ6�Ø (Ñ*�Ø Ñ)‘ à'�Ø �H‰HØ!á! $Ó'Ù! )Ó,ؘXÑ%×,Ñ,¨RÓ0Ü×$Ñ$ XÓ.ð ñö ð?4GðR Ð Ù ŒMà”L ¤S¨£Z°Ó7Ñ7ˆØ �aŒ<Ø �G‰GÐ%¨Ñ0Ô 2Ùñ{r-có¦—d}|D]É}t«}|}||}|tjk7r�||vr.|jdt |«t |«fz«|dz }n^||vr.|jdt |«t |«fz«|dz }n,|}|j |«||}|tjk7rŒ�tj||<ŒË|S)zÐ Does some basic sanity checking on a packfiles with ``nodes`` ``bases`` (a mapping of node->base): - Each deltabase must itself be a node elsewhere in the pack - There must be no cycles rs,Bad entry: %s has an unknown deltabase (%s) rs"Bad entry: %s has a cycle (at %s) )rµrrr»rr>)rrÁrÀrÂr&ÚseenÚcurrentrÄs r+rºrºgsñ€ð€Hۈ܋uˆØˆØ˜'‘Nˆ àÔ,×3Ñ3Ò3Ø Ñ%Ø—‘àHÜ  ›;¬¨iÓ(8Ð9ñ:ôð ˜A‘ �Øà˜DÑ Ø—‘à>Ü  ›;¬¨iÓ(8Ð9ñ:ôð ˜A‘ �ØàˆGØ �H‰H�WÔ Ø˜g™ˆIð/Ô,×3Ñ3Ó3ô4(×.Ñ.ˆˆdŠ ð?ð@ €Or-c ó¾—t}d}d}|D]Î\}}}}} ||k7r|jd|z«|}|jddj|«dj|«dj|«djd«fz«|jd ||«||«ttj| «j ««t | «fz«ŒÐy) Nr“ó %s s%s %s %s %s r°r±s Delta SHA1r²és%s %s %s %d )rrgr¨rrCrDr˜) rr¾r!r¿r«r¬rÃr&Ú deltabasenodeÚdeltas r+r´r´“sà€Ü€MØ€Gà€LÛ:DÑ6ˆ�$˜ -°Ø �|Ò #Ø �H‰H�Y Ñ)Ô *Ø#ˆLØ �‰Ø à— ‘ ˜gÓ&Ø×#Ñ# GÓ,Ø×#Ñ# GÓ,Ø×%Ñ% aÓ(ð ñ ô ð �‰Ø á˜dÓ#Ù˜mÓ,Ü”H—M‘M %Ó(×/Ñ/Ó1Ó2Ü�E“ ð ñ õ ñ;Er-c óø—d|vr|d|jd«}tj|«}d}|j«D]¸}|\}}}}} } ||k7rk|jd|z«|jddj d«dj d«dj d«dj d«d fz«|}|jd t |«t |«t |«t | «| fz«Œºy) Ns.histrÍs %s%s%s%s%s r°r¡sP1 NodesP2 Nodes Link Nodes Copy Froms%s %s %s %s %s )r™rr¶rgr¨r) rr Úhpackr¬ÚentryrÃr&Úp1nodeÚp2noder)r*s r+ÚdebughistorypackrÖ±s€Ø�4ÑØÐ*�d—j‘j Ó*Ð+ˆÜ × #Ñ # DÓ )€Eà€LØ×"Ñ"Ö$ˆØ=BÑ:ˆ�$˜ ¨°(Ø �|Ò #Ø �H‰H�Y Ñ)Ô *Ø �H‰HØà—M‘M "Ó%Ø×$Ñ$ RÓ(Ø×$Ñ$ RÓ(Ø ×&Ñ& rÓ*Ø ð ñô ð$ˆLØ �‰Ø #ä�d“ Ü�f“ Ü�f“ Ü�h“Øð ñ õ ñ%r-có†—tjtj|«dd¬«5 ddd«y#1swYyxYw)Ns repacklockéÿÿÿÿ)Útimeout)Úlockmodr rÚ repacklockvfs©rRs r+ÚdebugwaitonrepackrÝÒs-€Ü �‰”f×*Ñ*¨4Ó0°-ÈÖ LØ÷ M× LÑ Lús ¬7·Ac óœ—|j|jddddtd«|jz«5 ddd«y#1swYyxYw)Ns prefetchlockTsprefetching in %s)Ú_lockrMrÚorigrootrÜs r+Údebugwaitonprefetchrá×sH€Ø �‰Ø � ‰ ØØ Ø Ø Ü Ð Ó $§-¡-Ñ/õ  ð ÷ ÷ ñ ús ·AÁA r1)(rErŒÚmercurial.noderrrrÚmercurial.i18nrÚmercurial.pycompatrÚ mercurialr r r rÚr r Úmercurial.utilsrÚrrrrrrr,r]ryrrŠrŽrrÈrºr´rÖrÝrár9r-r+Úrès�ðó Û ÷óõ Ý#÷õõ%÷÷òò8$ óNPòfò"ò( ò$òD^òB)òX ò< òBó  r-