Ë ç>fV<�ã óÜ—dZddlZddlmZddlmZddlmZmZm Z ddl m Z m Z dZ iZe je«ZiZe j"e«Zedd d ¬ «edd d ¬ «eddd ¬ «eddd¬ «eddd„¬ «eddd„¬ «eddd¬ «ej$«ZGd„d«Zd„Zd„Zedddded«fged«ej.d ¬!«d"„«Zy)#a{log repository events to a blackbox for debugging Logs event information to .hg/blackbox.log to help debug and diagnose problems. The events that get logged can be configured via the blackbox.track and blackbox.ignore config keys. Examples:: [blackbox] track = * ignore = pythonhook # dirty is *EXPENSIVE* (slow); # each log entry indicates `+` if the repository is dirty, like :hg:`id`. dirty = True # record the source of log messages logsource = True [blackbox] track = command, commandfinish, commandexception, exthook, pythonhook [blackbox] track = incoming [blackbox] # limit the size of a log file maxsize = 1.5 MB # rotate up to N log files when the current one gets too big maxfiles = 3 [blackbox] # Include microseconds in log entries with %f (see Python function # datetime.datetime.strftime) date-format = %Y-%m-%d @ %H:%M:%S.%f éN)Ú_)Úhex)ÚencodingÚ loggingutilÚ registrar)ÚdateutilÚprocutilsships-with-hg-coreóblackboxódirtyF)Údefaultómaxsizes1 MBó logsourceómaxfileséótrackcó—dgS©Nó*©róú2usr/lib/python3.12/site-packages/hgext/blackbox.pyÚr`s€�T‘Fróignorecó —gd¢S)N)s chgservers cmdservers extensionrrrrrres€Ó>ró date-formatrcó$—eZdZd„Zd„Zd„Zd„Zy)Úblackboxloggercóü—||_t|jdd««|_t|jdd««|_|j dd«|_|jdd«|_d|_ y)Nr rrrr F) Ú_repoÚsetÚ configlistÚ_trackedeventsÚ_ignoredeventsÚ configintÚ _maxfilesÚ configbytesÚ_maxsizeÚ_inlog)ÚselfÚuiÚrepos rÚ__init__zblackboxlogger.__init__msd€ØˆŒ Ü! "§-¡-° ¸XÓ"FÓGˆÔÜ! "§-¡-° ¸YÓ"GÓHˆÔØŸ™ k°;Ó?ˆŒØŸ™ {°JÓ?ˆŒ ؈� rcó^—d|jvxr||jvxs||jvSr)r"r#)r)Úevents rÚtrackedzblackboxlogger.trackedus8€à �D×'Ñ'Ð 'Ò L¨E¸×9LÑ9LÐ,Lò*à �d×)Ñ)Ð )ð *rcó|—|jryd|_ |j||||«d|_y#d|_wxYw)NTF)r(Ú_log)r)r*r.ÚmsgÚoptss rÚlogzblackboxlogger.logzs;€ð �;Š;Ø ØˆŒ ð Ø �I‰I�b˜%  dÔ +àˆD�Kø˜%ˆD�Kús–2² ;c ó—|jdd«}|jdd«}|rtj||«}ntj|d«dd}t j «}dt j «z} d} |jd} | j«} d j| D� cgc]} t| j««‘Œc} «}|jdd «r| jd d d ¬ «rd } |jdd«rd|z}nd} d}|||| | ||f}tj||jj d|j"|j$¬«5}|j'||z«ddd«|t8_ycc} w#1swYŒxYw#t(t*f$rU}|j,j/«|j1dt3j4|j6«z«Yd}~yd}~wwxYw)Nsdevels default-dater rs%Y-%m-%d %H:%M:%S.%féýÿÿÿs%dró+r TF)ÚmissingÚmergeÚbranchrs [%s]s%s %s @%s%s (%s)%s> %só blackbox.log)ÚnameÚmaxfilesÚmaxsizes*warning: cannot write to blackbox.log: %s )Ú configdateÚconfigrÚdatestrr ÚgetuserÚgetpidrÚparentsÚjoinrÚnodeÚ configboolÚdirtyrÚ openlogfileÚvfsr%r'ÚwriteÚIOErrorÚOSErrorr"ÚclearÚdebugrÚ strtolocalÚstrerrorÚ _lastloggerÚlogger)r)r*r.r2r3r Ú dateformatÚdateÚuserÚpidÚchangedÚctxrDÚpÚrevÚsrcÚfmtÚargsÚfpÚerrs rr1zblackboxlogger._log†sҀؗ-‘- ¨/Ó:ˆØ—Y‘Y˜{¨NÓ;ˆ Ù Ü×#Ñ# G¨ZÓ8‰Dô ×#Ñ# GÐ-DÓEÀcÀrÐJˆDÜ×ÑÓ!ˆØ”h—o‘oÓ'Ñ'ˆØˆØ�j‰j˜ÑˆØ—+‘+“-ˆØ�i‰i±Ó8±¨1œ˜QŸV™V›X�°Ñ8Ó9ˆØ �=‰=˜ hÔ /°C·I±IØ ¨eð5>ô5 ðˆGØ �=‰=˜ lÔ 3ؘUÑ"‰CàˆCð Ø+ˆCؘ$  W¨c°3¸Ð<ˆDÜ×(Ñ(ØØ— ‘ —‘Ø$ØŸ™ØŸ ™ õ ð Ø—‘˜˜t™Ô$÷ð "Œ Õùò99÷ðûôœÐ!ò à × Ñ × %Ñ %Ô 'Ø �H‰HØ>Ü×%Ñ% c§l¡lÓ3ñ4ô ô ûð ús8Â2 FÄA F#Å)FÅ>F#ÆF ÆF#Æ#HÆ2A HÈHN)Ú__name__Ú __module__Ú __qualname__r,r/r4r1rrrrrls„òò*ò  ó+"rrcó0—|jdt«y)Nr )Ú setloggerrR)r*s rÚ uipopulaterf´s€Ø‡L�L�œkÕ*rcóΗ|j«syt||«}|jd|«tj€ |t_|j j d«y)Nr r;)ÚlocalrrerRrSÚ_wlockfreeprefixÚadd)r*r+rSs rÚ reposetuprk¸sV€ð �:‰:Œ<Øô˜B Ó %€F؇L�L�˜fÔ%ô×ÑÐ!Ø#Œ Ôà×Ñ×јoÕ.rólslimité sthe number of events to showshg blackbox [OPTION]...T)Ú helpcategoryÚ helpbasiccó¨—|jjd«sy|jd«}|€J‚|jdd«}|j«j d«}d}g}t |«D]5} ||k\rn.t jd| «r|dz }|j| «Œ7|jdjt |«««y) z!view the recent repository eventsr;NÚlimitóró rs8^\d{4}[-/]\d{2}[-/]\d{2} \d{2}:\d{2}:\d{2}(.\d*)? .*> .*é) rJÚexistsÚgetÚreadÚsplitÚreversedÚreÚmatchÚappendÚstatusrE) r*r+Úrevsr3rqr_ÚlinesÚcountÚoutputÚlines rÚblackboxrƒÌs½€ð �8‰8�?‰?˜?Ô +Øà �H‰H�WÓ €EØ Ð ÐÐ à �‰�/ 4Ó (€BØ �G‰G‹I�O‰O˜EÓ "€Eà €EØ €Fܘ–ˆØ �EŠ>Ù ô �8‰8Ø HÈ$ô ð �Q‰JˆEØ� ‰ �dÕð ð‡I�Iˆe�j‰jœ &Ó)Ó*Õ+r)Ú__doc__rzÚmercurial.i18nrÚmercurial.noderÚ mercurialrrrÚmercurial.utilsrr Ú testedwithÚcmdtableÚcommandÚ configtableÚ configitemÚ proxyloggerrRrrfrkÚCATEGORY_MAINTENANCErƒrrrÚr�sIðñ"óJ åÝ÷ñ÷ ð#€ à €Ø ˆ)× Ñ ˜HÓ %€à€ Ø !ˆY× !Ñ ! +Ó .€ á ØØ Ø õñ  ØØØ õñ  ØØØ õñ  ØØØ õñ  ØØ Ù õñ  ØØ Ù >õñ  ˆ;˜°Õ4à%ˆk×%Ñ%Ó'€ ÷E"ñE"òP+ò/ñ( Øà ˆx˜™QÐ>Ó?Ð@ðñÐ Ó!Ø×-Ñ-Øôñ,óñ,r