0iddlmZddlZddlZddlZddlZddlm Z ddl m Z ddl m Z ddl mZddlmZddlmZddlmZdd lmZdd lmZdd lmZdd lmZdd lmZddlmZddlmZddlmZddlmZddl m!Z!ddl m"Z"Gdde Z#Gdde$Z% ddZ& ddZ'ejPdZ) d d!dZ*d"dZ+ d# d$dZ,y)%) annotationsN)Sequence)Any) NamedTuple)git)output)xargs)InvalidManifestError) load_config) load_manifest)LOCAL)META)migrate_config)CalledProcessError) cmd_output) cmd_output_b) yaml_dump) yaml_loadcbeZdZUded<ded<dZded<eZded<ed d Zd d Z y) RevInfostrreporevNz str | Nonefrozenzfrozenset[str]hook_idsc ||d|dS)Nrr)clsconfigs M/opt/hc_python/lib/python3.12/site-packages/pre_commit/commands/autoupdate.py from_configzRevInfo.from_config"s6&>6%=11ctj5}dgtjd|}|rd}nd}g|ddd|}tj||j t g|dd d t g|d d d ddd t|dj}|rtj||} d}|r)tg|d|dj} | |k7r| |}} t g|d|dtjtg|d|dtj ttjj!|tj} t#d| D} ddd|j) S#t$r$tg|dddj}YwxYw#t$rYwxYw#t$$r } t'd|j d| d} ~ wwxYw#1swYxYw)Nrz-Cz --abbrev=0z--exactdescribe FETCH_HEADz--tagsrzextensions.partialClonetruefetchoriginHEADz--quietz--filter=blob:nonez rev-parseshow:checkoutz--c3&K|] }|d yw)idNr).0hooks r z!RevInfo.update..Ps$EHDT$ZHs[] )rrr)tempfileTemporaryDirectoryr NO_FS_MONITOR init_reporrrstripget_best_candidate_tagrC MANIFEST_FILEr ospathjoin frozensetr RepositoryCannotBeUpdatedError_replace) self tags_onlyfreezetmp_gittag_opttag_cmdrrexactmanifestres r updatezRevInfo.update&sZ  ( ( *c9C--9t9S9D&#JJjJ,JJ'JG MM#tyy )  L$ L L*C LV L     ( *0  / 19   ? '*1-33544S#>CF";D;+;s;A>DDFC<"'C GdGFGse1Q__4E,FGIDI*IcI4II F(c1??)KL%$EH$EES+V}}Vh}GG3& N B$B B\B1EKKM N &  ( K4q 2aS5IJJ KM+ *stA5H F$AH+AG/7G&H)G>HGH GHGH G=G88G==HH )rdict[str, Any]returnr)rDboolrErPrOr) __name__ __module__ __qualname____annotations__rr@r classmethodr!rMrr"r rrs: I HFJ({Hn*22,Hr"rc eZdZy)rAN)rQrRrSrr"r rArAUsr"rAc |dDchc]}|d }}||jz }|r3td|jddjt |ycc}w)Nhooksr/r3zB] Cannot update because the update target is missing these hooks: z, )rrArr?sorted) repo_configinfor1rX hooks_missings r _check_hooks_still_exist_at_revr]Ysu %0$8 9$8DT$Z$8E 9DMM)M, {$$(IIf].C$D#E G   :s Acttj|}|j||}t|||||fS)NrDrE)rr!rMr])irrDrEoldnews r _update_onercgs<   d #C **y* 8C#D#. c3;r"z,^(\s+)rev:(\s*)([\'"]?)([^\s#]+)(.*)(\r?\n)$ct|d5}|j}dddjd}t|Dcgc]\}}tj |s|}}}t |t |k(r||fS|r tdt|d5}|jtt|dddt||dS#1swYxYwcc}}w#1swY)xYw)z(detect `rev:` lines or reformat the filenewlineNTzcould not find rev linesw)retry) openread splitlines enumerate REV_LINE_REmatchlenAssertionErrorwriterr_original_lines) r> rev_infosriforiginallinesr`lineidxss r rsrsws dB 1668     %E&u- I-'!T1B1B41HA-D I 4yC N"d{ 788 $_ GGIi12 3tYd;;  J _s#CC%$C%$C+C"+C4cJt||\}}t||D]\}}| tj||}|Jt d|j i|d}|j dddj}|jd|j} n*|djjdrd } n|d} |dd |d || |d ||<t|d d 5} | jd j|dddy#1swYyxYw)Nr) default_styler,r*z # frozen: z # frozen:rezrev:rhrf) rsziprnrorrsplitr9r startswithrjrrr?) r>rtrwryidxrev_inforo new_rev_snew_revcommentrus r _write_new_configrs%!$ 2KE4T9- X   !!%*-   uhll358L //#q)!,224 ?? &$X__$56G 1X^^  ( ( 5GAhGazeAhZy %(Lc . dC $  % $ $s /!DD"c $t|dd}d}t|dDcgc]}|dtthvr|}}dgt |z} |xst j }t|t |xs t |}t|d}tjj|5} t|D cgc](\} }|r|d|vr| jt| ||| *} } }tjj| D]} | j!\} }}|j"|j"k7rBd}|j$r|j$d }n |j"}d |j"d |}|| | <nd }t'j(d|j*d| ddd|r t1|| |Scc}wcc}} w#t,$r*}t'j(t/|d}Yd}~d}~wwxYw#1swYZxYw)zBAuto-update the pre-commit config to the latest versions of repos.T)quietFrreposrNr*r_z (frozen)z updating z -> zalready up to date!r3r4)rr r rrpr cpu_countminmax concurrentfuturesThreadPoolExecutorrmsubmitrc as_completedresultrrr write_linerrArr) config_filerDrErjobschangedretvr config_reposrtexer`rfuturerarbnew_smsgrLs r autoupdaters ;d+G D%[1':: <t} , : (,fsF 9$mmo 3 77cgg%"Gzz#&::,i 8 #%cggYd5':C#&IaL/C!!AchhZr#"78%? 5:+y1 KS 2 !!#a&)  5 4sNG2H-G .%HG(BH H H G>9H>HHH)rZrNr[rrONone) r`intrrNrDrPrErPrOztuple[int, RevInfo, RevInfo])F)r>rrtlist[RevInfo | None]rirPrOztuple[list[str], list[int]])r>rrtrrOr)rr*) rrrDrPrErPrz Sequence[str]rrrOr)- __future__rconcurrent.futuresros.pathr=rer5collections.abcrtypingrrpre_commit.constants constantsr; pre_commitrrr pre_commit.clientlibr r r r r"pre_commit.commands.migrate_configrpre_commit.utilrrrpre_commit.yamlrrr RuntimeErrorrAr]rccompilernrsrrrr"r rsB" $ 5,.&%=.&(%%6Hj6Hr \   #               " bjjHI <<'<<! <* 4 " 5555 5  5  5r"