Ë ¥Ä°ÌÞ}|Íãó®—ddlZddlmZddlmZmZddlmZmZmZm Z m Z m Z m Z ejd«ZddhZd „Zdd „Zdd „Zd „Zd „Zd„Zd„Zdd„Zy)éNé)Ú_)ÚhexÚnullrev)ÚerrorÚnodeÚobsoleteÚobsutilÚrevsetÚscmutilÚutils\b[0-9a-f]{6,64}\bssourcesintermediate-sourcecól—|jd„|j«j«D««y)zIpreserve the relevant `extra` entry from old_ctx on rebase-like operationc3ó:K—|]\}}|tvr||f–—Œy­w©N)Úretained_extras_on_rebase)Ú.0ÚkeyÚvalues ú9usr/lib/python3.12/site-packages/mercurial/rewriteutil.pyÚ z,preserve_extras_on_rebase..'s)èø€ðá1‰JˆC�Ø Ô+Ñ +ð ˆeŒ Ù1ùs‚N)ÚupdateÚextraÚitems)Úold_ctxÚ new_extras rÚpreserve_extras_on_rebaser%s,€à ×Ññà!Ÿ-™-›/×/Ñ/Ô1óõócóN—|jj}t|«}||kr;|D�cgc]}tj||««‘Œ}}dj |«}|S|j «}t d«}|tj||««|dz fz}|Scc}w)zÉreturns a string summarizing revisions in a decent size If there are few enough revisions, we list them all. Otherwise we display a summary of the form: 1ea73414a91b and 5 others s, s%s and %d othersr)Ú changelogrÚlenÚshortÚjoinÚfirstr) ÚrepoÚrevsÚmaxrevsÚtonodeÚnumrevsÚrÚshortsÚsummaryr#s rÚ _formatrevsr,.sœ€ð�^‰^× Ñ €FÜ�$‹i€GØ�ÒÙ15Ó6±¨A”$—*‘*™V A›YÕ'°ˆÐ6Ø—*‘*˜VÓ$ˆð €Nð— ‘ “ ˆÜÐ'Ó(ˆØ”D—J‘J™v e›}Ó-¨w¸©{Ð;Ñ;ˆØ €Nùò 7s«"B"cóÌ—t|vr0td«|z}td«}tj||¬«‚t d„|D««r$|j j d«d„|D«}t|dj««dkDr!tjtd «|z«‚|jd |«}|r>t||«}td «||fz}td «}tj||¬«‚t||«}|r9td «}tjtd«|t|«fz|¬«‚|sytj|tj«söt!||«} | rç| \} } } td«|| | fz}| j#«| j#«k7r|td«| zz }|j j$rh| j#«| j#«k7r|td«| | fzz }|td«| | | fzz }tj|td«¬«‚tj|td«¬«‚yy)a&check if revs can be rewritten action is used to control the error message. check_divergence allows skipping the divergence checks in cases like adding a prune marker (A, ()) to obsstore (which can't be diverging). Make sure this function is called after taking the lock. scannot %s the null revisionsno changeset checked out)Úhintc3óHK—|]}tj|d«–—Œy­w)ÚrevN)r Ú safehasattr©rr)s rrzprecheck..Psèø€Ð 4©t¨!Œ4× Ñ ˜A˜u× %©tùs‚ "s-rewriteutil.precheck called with ctx not revsc3ó<K—|]}|j«–—Œy­wr)r0r2s rrzprecheck..Rsèø€Ð&¡˜A�—‘—¡ùs‚Nrs"cannot %s changesets while mergings%ld and public()scannot %s public changesets: %ss see 'hg help phases' for detailss#see 'hg help evolution.instability's7cannot %s changeset, as that will orphan %d descendantss8cannot %s %s, as that creates content-divergence with %ss , from %ss0 changeset %s is a successor of changeset %ss½ changeset %s already has a successor in changeset %s rewriting changeset %s would create "content-divergence" set experimental.evolution.allowdivergence=True to skip this checksEsee 'hg help evolution.instability' for details on content-divergences@add --verbose for details or see 'hg help evolution.instability')rrrÚ InputErrorÚanyÚuiÚ develwarnr ÚparentsÚ StateErrorr%r,Údisallowednewunstabler Ú isenabledÚallowdivergenceoptÚ_find_new_divergencer0Úverbose) r$r%ÚactionÚcheck_divergenceÚmsgr.Ú publicrevsr+Ú newunstableÚnew_divergenceÚ local_ctxÚ other_ctxÚbase_ctxs rÚprecheckrHBs€ô�$�ÜÐ.Ó/°&Ñ8ˆÜÐ,Ó-ˆÜ×јs¨Ô.Ð.ä Ñ 4©tÓ 4Ô4Ø �‰×ÑÐJÔKÙ&¡Ó&ˆä ˆ4�‰:× Ñ Ó Ó  1Ò$Ü×ÑÜ Ð3Ó 4°vÑ =ó ð ð—‘Ð.°Ó5€JÙܘd JÓ/ˆÜÐ2Ó3°v¸wÐ6GÑGˆÜÐ4Ó5ˆÜ×јs¨Ô.Ð.ä'¨¨dÓ3€KÙÜÐ7Ó8ˆÜ×ÑÜ ÐHÓ IØ”s˜;Ó'Ð(ñ )àô ð ñ Øä × Ñ ˜d¤H×$?Ñ$?Ô @Ü-¨d°DÓ9ˆÙ Ø-;Ñ *ˆI�y (ÜØKóðØØðñˆCð�}‰}‹ (§,¡,£.Ò0Ø”q˜“¨Ñ1Ñ1�Ø�w‰w�ŠØ—=‘=“? h§l¡l£nÒ4Øœ1ØPóà" HÐ-ñ.ñ.�Cð”qð'óð˜y¨)Ð4ñ5ñ5�ô×&Ñ&ØÜØ`óôðô×&Ñ&ØÜð;óôðð? ð Arcóœ—tj|tj«}|rtj«S|j d||«S)zÚChecks whether editing the revs will create new unstable changesets and are we allowed to create them. To allow new unstable changesets, set the config: `experimental.evolution.allowunstable=True` s (%ld::) - %ld)r r;Úallowunstableoptr Úbasesetr%)r$r%Ú allowunstables rr:r:–s@€ô×&Ñ& t¬X×-FÑ-FÓG€MÙÜ�~‰~ÓÐØ �9‰9Ð% t¨TÓ 2Ð2rcó —|jd|«}|D]7}t|||«}|sŒ||||d|j«|dfcSy)Ns%ld and obsolete()rr)r%Úfind_new_divergence_fromÚ unfiltered)r$r%Úobsrevsr)Údivs rr=r=£s^€Ø�i‰iÐ-¨tÓ4€GÛ ˆÜ& t¨T°!©WÓ5ˆÚ ؘ‘G˜T # a¡&™\¨4¯?©?Ó+<¸SÀ¹VÑ+DÐEÒ Eðð rcó—|j«sytj||j««}|r|dd|j«fStj||«}|r|dd}|dd}|d|fSy)z™return divergent revision if rewriting an obsolete cset (ctx) will create divergence Returns (, ) or None Nrsdivergentnodesscommonpredecessor)r r ÚsuccessorssetsrÚ divergentsets)r$ÚctxÚssetÚdivsetsÚnsuccsetÚprecs rrNrN¬s�€ð �<‰<Œ>Øô × !Ñ ! $¨¯©« Ó 3€DÙ Ø�Q‘˜‘ ˜CŸH™H›JÐ'Ð'ô×'Ñ'¨¨cÓ2ˆÙ ؘq‘zÐ"3Ñ4ˆHؘ1‘:Ð2Ñ3ˆDؘQ‘K Ð&Ð &Ørcó„—|jdd«}|dk(ry|dk(rytjtd«||fz«‚)Nórewritesempty-successorsskipTskeepFsf%s doesn't know how to handle config rewrite.empty-successor=%s (only 'skip' and 'keep' are supported))ÚconfigrÚ ConfigErrorr)r6ÚcommandÚempty_successors rÚskip_empty_successorr`ÅsX€Ø—i‘i  Ð,>Ó?€Oؘ'Ò!ØØ ˜GÒ #Øä×ÑÜ ðó ð ˜Ð(ñ  )ó ð rc óê—|si}i}tjt|«}|j«}|D�]} t j ||«}|€Œ||}|j«s|j|«} | €ŒG| g} n&tj||j«|¬«} t| «dk(rmt| d«dk(r\| dd} | �*t| «} |j!|| dt|««}ŒÄ|j"j%t'd«|z«Œì|j"j%t'd«|z«�Œ|S#t jt jf$rY�Œ>wxYw)a¼Replace all obsolete commit hashes in the message with the current hash. If the obsolete commit was split or is divergent, the hash is not replaced as there's no way to know which successor to choose. For commands that update a series of commits in the current transaction, the new obsolete markers can be considered by setting ``pending`` to a mapping of ``pending[oldnode] = [successor_node1, successor_node2,..]``. N)ÚcacherrsbThe stale commit message reference to %s could not be updated (The referenced commit was dropped) s>The stale commit message reference to %s could not be updated )ÚreÚfindallÚNODE_RErOr ÚresolvehexnodeidprefixrÚWdirUnsupportedÚAmbiguousPrefixLookupErrorr Úgetr rSrr rÚreplacer6Únoter) r$Ú commitmsgÚpendingrbÚhashesÚunfiÚhÚfullnoderUÚ successorsÚ successorÚnewhashs rÚupdate_hash_refsruÖs~€ñ ØˆØ €EÜ �Z‰Zœ Ó +€FØ �?‰?Ó €DÜ ˆð Ü×5Ñ5°d¸AÓ>ˆHð Ð Ø Ø�8‰nˆØ�|‰|Œ~Ø Ÿ™ XÓ.ˆJØÐ!Øà$˜‰Jä ×/Ñ/°°c·h±h³jÈÔNˆJô ˆz‹?˜aÒ ¤C¨ °1© Ó$6¸!Ò$;Ø" 1™  aÑ(ˆIØÐ$ܘi›.�Ø%×-Ñ-¨a°¸¼3¸q»6Ð1BÓC‘ à—‘— ‘ ÜðQóðñ õð �G‰G�L‰LÜð(óðñ ö ðGðV ÐøôQ×%Ñ%¤u×'GÑ'GÐHò ò ð ús¸E Å #E2Å1E2)é)r[Tr)rcÚi18nrrrrÚrr r r r r Úcompilererrr,rHr:r=rNr`ru©rrÚr{snðó å÷÷ ÷ñð ˆ"�*‰*Ð+Ó ,€ðØðÐò óó(Qòh 3òòò2 ô":r