Ë ]mFd}ù¡ã ó†—ddlZddlZddlZddlZddlmZddlmZddlm Z m Z m Z ddl m Z mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z"m#Z#ddl$m%Z%m&Z&m'Z'ejPZ(ejRZ)ejTZ*ejVZ+ejXZ,ejZZ-ej\Z.ej^Z/e j`Z0e jbZ1e jdZ2e jfZ3e e fZ4dZ5d Z6d Z7e6fd „Z8d „Z9d „Z:d„Z;d„Zd„Z?d„Z@d„ZAd„ZBd„ZCd„ZDd„ZEd„ZFd„ZGd„ZHd„ZId„ZJd„ZKd„ZLd „ZMd!„ZNd"„ZOd#„ZPd$„ZQej¤ZReS«ZTejª«ZVeVd%«d&„«ZWeVd'«d(„«ZXeVd)d*d+¬,«d-„«ZYeVd.d*d/¬,«d0„«ZZ �dd2„Z[eVd3d*¬4«d5„«Z\eVd6d*¬4«d7„«Z]d8„Z^d9„Z_eVd:d*d;¬,«d<„«Z`eVd=d*¬4«d>„«ZaeVd?d*¬4«d@„«ZbeVdAd*¬4«dB„«ZceVdCd*d;¬,«dD„«ZdeVdEd*¬4«dF„«ZeeVdGd*¬4«dH„«ZfdI„ZgdJ„ZheVdKd*¬4«dL„«ZieVdMd*d;¬,«dN„«ZjeVdOd*¬4«dP„«ZkeVdQd*¬4«dR„«ZleVdSd*¬4«dT„«ZmeVdUd*¬4«dV„«ZneVdWdX¬Y«dZ„«ZoeVd[d*¬4«d\„«ZpeVd]d*d;¬,«d^„«ZqeVd_d*d;¬,«d`„«Zr �dda„ZseVdbd*¬4«dc„«ZteVddd*¬4«de„«ZueVdfd*d;¬,«dg„«ZveVdhdi¬Y«dj„«ZweVdkd*¬4«dl„«ZxeVdmd*d*¬n«do„«ZyeVdpd1dX¬,«dq„«ZzeVdrd*¬4«ds„«Z{eVdtd*¬4«du„«Z|eVdvd*¬4«dw„«Z}eVdxd*d*d¬y«dz„«Z~�dd{„ZeVd|d*¬4«d}„«Z€eVd~d*¬4«d„«Z�eVd€d*¬4«d�„«Z‚eVd‚«dƒ„«ZƒeVd„d*¬4«d…„«Z„eVd†d;¬Y«d‡„«ZeVdˆd*¬4«d‰„«Z…eVdŠd*d;¬,«d‹„«Z†eVdŒd*¬4«d�„«Z‡eVdŽd*d*¬n«d�„«ZˆeVd�d*¬4«d‘„«Z‰eVd’d*d;¬,«d“„«ZŠeVd”d*d*d¬y«d•„«Z‹eVd–d*d*¬n«d—„«ZŒeVd˜d*¬4«d™„«Z�eVdšd*¬4«d›„«ZŽeVdœd*¬4«d�„«Z�eVdžd*¬4«dŸ„«Z�eVd d*d+¬,«d¡„«Z‘eVd¢«d£„«Z’d¤„Z“eVd¥d*¬4«d¦„«Z”eVd§d*¬4«d¨„«Z•eVd©d*¬4«dª„«ZeVd«d*¬4«d¬„«Z–eVd­d*¬4«d®„«Z—eVd¯d1d;¬,«d°„«Z˜eVd±d*¬4«d²„«Z™eVd³d*¬4«d´„«Zšdµ„Z›eVd¶d*¬4«d·„«Zœd¸„Z�eVd¹d*¬4«dº„«ZžeVd»d*¬4«d¼„«ZŸeVd½d*¬4«d¾„«Z eVd¿d*¬4«dÀ„«Z¡eVdÁd*¬4«d„«Z!dÄZ¢eVdÄd*d*¬n«dÅ„«Z£eVdÆd*¬4«dÇ„«Z¤eVdÈd*¬4«dÉ„«Z¥eVdÊd*¬4«dË„«Z¦eVdÌd1¬4«dÍ„«Z§eVdÎd*d+¬,«dÏ„«Z¨eVdÐd*¬4«dÑ„«Z©eVdÒd*¬4«dÓ„«ZªeVdÔd*d*¬n«dÕ„«ZUeVdÖd*¬4«dׄ«Z«eVdØd*d*d¬y«dÙ„«Z¬eVdÚd*¬4«dÛ„«Z­dÜZ®e® dz Z¯efdÝ„Z°e�jbdÞ„dß„dà„dá„dâ„e�jde°dãœZ³dä„Z´eVdåd*d*d;¬y«dæ„«ZµeVdç«dè„«Z¶dé„Z·eVdêd*¬4«dë„«Z¸�ddì„Z¹eVdíd*¬4«dî„«ZºeVdïd*¬4«dð„«Z»eVdñd*¬4«dò„«Z¼eVdód*¬4«dô„«Z½eVdõd*d;¬,«dö„«Z¾eVd÷d*d¬,«dø„«Z¿dù„ZÀeVdúd*d*¬n«dû„«ZÁdü„ZÂeVdýd*d*d¬y«dþ„«ZÃdÿ„ZÄeV�dd*d*¬n«�d„«ZÅi�de=“�de>“�de?“�de@“�deB“�de;“�de;“�d eC“�d eD“�d eG“�d eH“�d eE“�deI“�deM“�deN“�deO“�deP“eQe_e¢e›e<�dœ¥ZÆeKeK�dœZÇeLeL�dœZÈ�d„ZÉ�d�d„Z�d�d„ZÊ�d„ZË�d„ZÌeÌddeV«eR�j›«ZÎy(éNé)Ú_©Úgetattr)ÚbinÚnullrevÚwdirrev)ÚdagopÚdestutilÚdiffutilÚencodingÚerrorÚgrepÚhbisectÚmatchÚobsoleteÚobsutilÚpathutilÚphasesÚpycompatÚ registrarÚrepoviewÚ revsetlangÚscmutilÚsmartsetÚstackÚutil)ÚdateutilÚ stringutilÚurlutilsanysdefineófollowcót—|stjtd««‚t|d||g|dd¢­d|iŽS)Nsmissing argumentrrÚorder)rÚ ParseErrorrÚmethods©ÚrepoÚsubsetÚxr#s ú4usr/lib/python3.12/site-packages/mercurial/revset.pyÚgetsetr+psA€Ù Ü×ÑœqÐ!4Ó5Ó6Ð6Ü �1�Q‘4‰=˜˜vÐ ;¨¨!¨"¨Ò ;°UÑ ;Ð;ócó¤—||j«}dD]}||vsŒ |||j«cSy#tj$rYŒ8wxYw)N)ósourcestransplant_sources rebase_source)ÚextraÚrevrÚRepoLookupError)r'Úrr/Úlabels r*Ú _getrevsourcer4vs_€Ø �‰G�M‰M‹O€EÛDˆØ �EŠ>ð Ø˜E %™LÑ)×-Ñ-Ó/Ò/ðEð øô×(Ñ(ò Ùð úsŸ9¹AÁAcó\—ttjtj|««S©N)ÚsortedrÚrapplyÚ maybebytestr)Úxss r*Ú_sortedbr;�s€Ü ”(—/‘/¤(×"7Ñ"7¸Ó<Ó =Ð=r,cóø—|stjtd««‚tjtj ||««}||vs|t vrt|t«r t|g«St«S)Ns$empty string is not a valid revision) rr$rrÚintrevÚ revsymbolÚ _virtualrevsÚ isinstanceÚ fullreposetÚbasesetr&s r*Ú stringsetrCˆsb€Ù Ü×ÑœqÐ!HÓIÓJÐJÜ�‰”w×(Ñ(¨¨qÓ1Ó2€A؈F�{�aœ<Ñ'¬J°v¼{Ô,Kܘ�s‹|ÐÜ ‹9Ðr,có(—|tk(r||zS||zS)z1argument is already a smartset, use that directly)Ú followorderr&s r*Ú rawsmartsetrF‘s€à ” ÒØ˜‰zÐà�6‰zÐr,cóÌ—t|t|«|«}t|t|«|«}|r|s t«St|||j «|j «|«Sr6)r+rArBÚ _makerangesetÚfirstÚlast)r'r(r)Úyr#ÚmÚns r*ÚrangesetrN™sT€Üˆt”[ Ó&¨Ó*€A܈t”[ Ó&¨Ó*€Aá ‘AÜ‹yÐÜ ˜˜v q§w¡w£y°!·&±&³(¸EÓ BÐBr,cóX—|�J‚t||d|jj«|«S©Nr)rHÚ changelogÚtiprevr&s r*ÚrangeallrS¢s,€Ø ˆ9Ј9Ü ˜˜v q¨$¯.©.×*?Ñ*?Ó*AÀ5Ó IÐIr,có€—t|t|«|«}|s t«St||d|j «|«SrP)r+rArBrHrJ)r'r(rKr#rMs r*ÚrangeprerU§s9€äˆt”[ Ó&¨Ó*€AÙ Ü‹yÐÜ ˜˜v q¨!¯&©&«(°EÓ :Ð:r,có°—t|t|«|«}|s t«St|||j «|j j «|«Sr6)r+rArBrHrIrQrR)r'r(r)r#rLs r*Ú rangepostrW¯sK€Üˆt”[ Ó&¨Ó*€AÙ Ü‹yÐÜ Ø ˆf�a—g‘g“i §¡×!6Ñ!6Ó!8¸%ó ðr,cóp—||k(r t|g«}n’|tk(r$t||t|««t|g«z}ne|tk(r6t|g«t||jj «|dz «z}n&||krt|||dz«}nt|||dz «}|t k(r||zS||zS©Nr)rBr ÚspansetÚlenrQrRÚ defineorder)r'r(rLrMr#r2s r*rHrH¸s²€ØˆA‚vÜ �Q�C‹L‰Ø ŒgŠÜ �D˜!œS ›YÓ '¬'°1°#«,Ñ 6‰Ø ŒgŠÜ �Q�C‹Lœ7 4¨¯©×)>Ñ)>Ó)@À!ÀaÁ%ÓHÑ H‰Ø ˆQŠÜ �D˜!˜Q ™UÓ #‰ä �D˜!˜Q ™UÓ #ˆà ” ÒØ�6‰zÐð˜‰zÐr,c ó€—t|«}tj|t|||«t|||«d¬«}||zS)NT)Ú includepath)rAr Úreachablerootsr+)r'r(r)rKr#r2r:s r*Údagranger`ËsC€Ü�DÓ€AÜ × Ñ Ø Œf�T˜1˜aÓ ¤&¨¨q°!Ó"4À$ô €Bð �B‰;Ðr,c ób—|tk(rt}nt}t|t||||«||«Sr6©ÚanyorderrEr+©r'r(r)rKr#Úyorders r*ÚandsetrfÓs0€Ø ”Ò܉äˆÜ �$œ˜t V¨Q°Ó6¸¸6Ó BÐBr,c ób—|tk(rt}nt}t|t||||«||«Sr6rbrds r*Ú andsmallysetrhÛs0€à ”Ò܉äˆÜ �$œ˜t V¨Q°Ó7¸¸EÓ BÐBr,cóD—t||||«t|||t«z Sr6©r+rc©r'r(r)rKr#s r*Ú differencesetrläs#€Ü �$˜  5Ó )¬F°4¸ÀÄHÓ,MÑ MÐMr,có²—|sJ‚t|«dk(rt|||d|«St|«dz}t|||d||«}t||||d|«}||zS)Nrré)r[r+Ú _orsetlist)r'r(r:r#ÚpÚaÚbs r*roroèsk€Ù €Iˆ2Ü ˆ2ƒw�!‚|Ü�d˜F B q¡E¨5Ó1Ð1Ü ˆB‹�1‰ €AÜ�4˜  B Q ¨Ó/€AÜ�4˜  A B ¨Ó/€AØ ˆq‰5€Lr,cóš—t|«}|s t«S|tk(r|t|t |«|t «zSt||||«Sr6)ÚgetlistrBrErorArc)r'r(r)r#r:s r*ÚorsetruòsJ€Ü �‹€BÙ Ü‹yÐØ ” Òàœ  4¬°TÓ):¸BÄÓIÑIÐIä˜$ ¨¨EÓ2Ð2r,có,—|t|||t«z Sr6rjr&s r*Únotsetrwýs€Ø ”F˜4 ¨¬HÓ5Ñ 5Ð5r,cóâ—t|«}|tvrt||||||«Stj«D�cgc]}t|«dkDsŒ|‘Œ}}t j ||«‚cc}wrY)Ú getsymbolÚ relationsÚkeysr[rÚUnknownIdentifier)r'r(r)rKr#Úrelr2Úrelnamess r*Ú relationsetrsk€ô �A‹,€CØ ŒiÑܘ‰~˜d F¨A¨s°EÓ:Ð:ä$Ÿ>™>Ô+Ó:Ñ+�a¬s°1«v¸«z’Ð+€HÐ:Ü × !Ñ ! # xÓ 0Ð0ùò;s ¼A,ÁA,cóŽ—d}d}||cxk(rdk(rnnd}|dkrt|d« | dzf}|dkDrt|d«|dzf}||fS)a¢Split range with bounds a and b into two ranges at 0 and return two tuples of numbers for use as startdepth and stopdepth arguments of revancestors and revdescendants. >>> _splitrange(-10, -5) # [-10:-5] ((5, 11), (None, None)) >>> _splitrange(5, 10) # [5:10] ((None, None), (5, 11)) >>> _splitrange(-10, 10) # [-10:10] ((0, 11), (0, 11)) >>> _splitrange(-10, 0) # [-10:0] ((0, 11), (None, None)) >>> _splitrange(0, 10) # [0:10] ((None, None), (0, 11)) >>> _splitrange(0, 0) # [0:0] ((0, 1), (None, None)) >>> _splitrange(1, -1) # [1:-1] ((None, None), (None, None)) ©NNr)rrr)ÚminÚmax)rqrrÚ ancdepthsÚ descdepthss r*Ú _splitranger† sc€ð(€IØ€J؈A„{�…{؈ ؈1‚uܘ!˜Q“i�Z !  a¡Ð(ˆ ؈1‚uܘ!˜Q“i  Q¡Ð'ˆ Ø �jÐ Ð r,có&—d}t||||||«S)N)órangeallN)Úgenerationssubrel)r'r(r)r}r#Úzs r*Úgenerationsrelr‹,s€Ø€AÜ ˜T 6¨1¨c°1°eÓ <ÐÜ Ð 7Ó8Ü×$Ñ$ qÑ(Ð)Ü×#Ñ# aÑ'Ð(ô  �D€A€qô2=¸QÀÓ1BÑ.Ñ€XˆwÑ.˜) XàИIÐ-Ü‹yÐä �$œ  DÓ)¨1Ó -€DÙ Ü‹yÐàР Ð 5Ü × Ñ ˜t T¨5°(¸GÓ DˆØ ŒU× !Ñ ! $¨¨e°YÀÓ IÑIˆð �A‰:Ðð Ð Ü × Ñ ˜t T¨5°(¸GÓ Dˆð �A‰:Ðð Ð Ü × Ñ   t¨U°I¸xÓ Hˆà �A‰:Ðr,cóä—t|«}|tvrt|||||||«Stj«D�cgc]}t|«dkDsŒ|‘Œ}}t j ||«‚cc}wrY)ryÚsubscriptrelationsr{r[rr|) r'r(r)rKrŠr#r}r2r~s r*Úrelsubscriptsetr›Osr€ô �A‹,€CØ Ô Ñ Ü! #Ñ& t¨V°Q¸¸QÀÓFÐFä-×2Ñ2Ô4ÓCÑ4�a¼¸A»À» ’Ð4€HÐCÜ × !Ñ ! # xÓ 0Ð0ùòDs ½A-ÁA-có>—tjtd««‚)Ns%can't use a subscript in this context©rr$rrks r*Ú subscriptsetrž[s€Ü × Ñ œ1ÐEÓFÓ GÐGr,cóT—tjtd«td«¬«‚)Ns can't use a list in this contextssee 'hg help "revsets.x or y"')Úhintr�)r'r(r:Úoptss r*Úlistsetr¢_s'€Ü × Ñ Ü Ð -Ó.Ü Ð2Ó 3ô ðr,có>—tjtd««‚)Ns*can't use a key-value pair in this contextr�)r'r(ÚkÚvr#s r*Ú keyvaluepairr¦fs€Ü × Ñ œ1ÐJÓKÓ LÐLr,có—t|«}|tvr+t|}t|dd«r |||||«S||||«Sd„}tj«D�� cgc]\}} || «sŒ|‘Œ} }} t j || «‚cc} }w)NÚ _takeorderFcó —t|dd«duS)NÚ__doc__r)Úfns r*Úzfunc..rs€”g˜b )¨TÓ2¸$Ñ>r,)ryÚsymbolsrÚitemsrr|) r'r(rqrrr#ÚfÚfuncÚkeepr˜r«Úsymss r*r°r°jsˆ€Ü�!‹ €AØŒG�|Ü�q‰zˆÜ �4˜ uÔ -Ù˜˜f a¨Ó/Ð /Ù�D˜& !Ó$Ð$á >€Dä$Ÿ]™]œ_Ô 9™_‘'�1�b±°RµŠA˜_€DÑ 9Ü × !Ñ ! ! TÓ *Ð*ùó :s ÁBÁ*Bs _destupdatec óŽ—t|dd«}|ttj|fit j |«¤Ždg«zS)Nólimitscleanr)Ú getargsdictrBr Ú destupdaterÚ strkwargs)r'r(r)Úargss r*Ú _destupdater¹ŠsL€ô �q˜( HÓ -€DØ ”GÜ × Ñ ˜TÑ >¤X×%7Ñ%7¸Ó%=Ñ >¸qÑ AÐBóñ ðr,s _destmergecó~—d}|�t|t|«|«}|ttj||¬«g«zS)N)Ú sourceset)r+rArBr Ú destmerge)r'r(r)r»s r*Ú _destmerger½“sA€ð€IØ€}ܘ4¤¨TÓ!2°AÓ6ˆ Ø ”GœX×/Ñ/°À ÔJÐKÓLÑ LÐLr,s adds(pattern)Té)ÚsafeÚweightcóH—t|td««}t|||d«S)zÌChangesets that add a file matching pattern. The pattern without explicit kind like ``glob:`` is expected to be relative to the current directory and match against a file or a directory. sadds requires a patternÚadded©Ú getstringrÚ checkstatus©r'r(r)Úpats r*ÚaddsrÈœs'€ô �A”qÐ3Ó4Ó 5€CÜ �t˜V S¨'Ó 2Ð2r,sancestor(*changeset)gà?có0—tt|t|«|t¬««} |t |«}|D]}|j||«}Œtj|«}||vr t |g«St «S#t $r t «cYSwxYw)zËA greatest common ancestor of the changesets. Accepts 0 or more changesets. Will return empty list when passed no args. Greatest common ancestor of a single changeset is that changeset. ©r#) ÚiterrurArcÚnextÚ StopIterationrBÚancestorrr=)r'r(r)ÚreviterÚancr2s r*rÎrΩs“€ô”5˜œ{¨4Ó0°!¼8ÔDÓE€GðØ”4˜“=Ñ!ˆóˆØ�l‰l˜4 ™7Ó#‰ðô �‰�sÓ€A؈F�{ܘ�s‹|ÐÜ ‹9Ðøô òÜ‹yÒðús§A?Á?BÂBFcó‚—t|t|«|«}|s t«Stj|||||«}||zSr6)r+rArBr r‘)r'r(r)Ú followfirstÚ startdepthÚ stopdepthÚheadsr˜s r*Ú _ancestorsrÖ¿sD€ô �4œ TÓ*¨AÓ .€EÙ Ü‹yÐÜ ×ј4 ¨ °ZÀÓK€AØ �A‰:Ðr,sancestors(set[, depth]))r¿cót—t|dd«}d|vrtjtd««‚dx}}d|vr+t |dd«}|dkrtjd «‚|}d |vr@t |d td ««}|dkrtjtd ««‚|d z}t |||d||¬«S)zËChangesets that are ancestors of changesets in set, including the given changesets themselves. If depth is specified, the result only includes changesets up to the specified generation. s ancestorsóset depth startdepthósets#ancestors takes at least 1 argumentNó startdepths'ancestors expects an integer startdepthrónegative startdepthódepths"ancestors expects an integer depthónegative depthr©rÓrÔ)rµrr$rÚ getintegerrÖ©r'r(r)r¸rÓrÔrMs r*Ú ancestorsráÉsÚ€ô �q˜,Ð(?Ó @€DØ �TÑä×ÑœqÐ!GÓHÓIÐIØ!Ð!€J�ؘÑÜ Ø �Ñ Ð!Kó ˆð ˆqŠ5Ü×"Ñ"Ð#9Ó:Ð :؈ Ø�4Ñä �t˜H‘~¤qÐ)NÓ'OÓ PˆØ ˆqŠ5Ü×"Ñ"¤1Ð%6Ó#7Ó8Ð 8ؘ‘Eˆ Ü Ø ˆf�d˜6‘l¨zÀYô ðr,s_firstancestorscó —t|||d¬«S©NT©rÒ)rÖ©r'r(r)s r*Ú_firstancestorsræés€ô �d˜F A°4Ô 8Ð8r,có\—t«}t|t|«|«D]…}t|«D]d}||j «}t |«dk(rŒ4t |«dkDrt jtd««‚|dj«}Œf|j|«Œ‡||zS)zAChangesets that are the Nth child of a changeset in set. rrs'revision in set has more than one child) Úsetr+rAÚrangeÚchildrenr[rr1rr0Úadd) r'r(r)rMr#Úcsr2ÚiÚcs r*Ú _childrenspecrïðs¢€ô ‹€BÜ �Dœ+ dÓ+¨QÖ /ˆÜ�q–ˆAØ�Q‘× Ñ Ó"ˆAÜ�1‹v˜Š{ÙÜ�1‹v˜ŠzÜ×+Ñ+ÜÐ@ÓAóðð�!‘—‘“ ‰Aðð �F‰F�1�Ið0ð �B‰;Ðr,có¢—t|td««}|dkrt|||| |«St«}|j}t |t |«|«D]8}t|«D]} |j|«d}Œ|j|«Œ:||zS#tj$r$||j«j«}YŒhwxYw)zg``set~n`` Changesets that are the Nth ancestor (first parents only) of a changeset in set. s~ expects a numberr)rßrrïrèrQr+rAréÚ parentrevsrÚWdirUnsupportedÚp1r0rë) r'r(r)rMr#ÚpsÚclr2rís r*Ú ancestorspecrösÈ€ô �1”aÐ-Ó.Ó/€A؈1‚uä˜T 6¨1¨q¨b°%Ó8Ð8Ü ‹€BØ �‰€BÜ �Dœ+ dÓ+¨QÖ /ˆÜ�q–ˆAð 'Ø—M‘M !Ó$ QÑ'‘ðð �‰ˆq� ð 0ð �B‰;Ðøô×(Ñ(ò 'ؘ‘G—J‘J“L×$Ñ$Ó&’ð 'úsÁ)BÂ4Cà Csauthor(string)é c󄇇—t|td««}t|d¬«\}}Š|jˆˆfd„d|f¬«S)zAlias for ``user(string)``.sauthor requires a stringF©Ú casesensitivecó6•—‰‰|j««Sr6©Úuser)r)Úmatcherr's €€r*r¬zauthor.. sø€‘'˜$˜q™'Ÿ,™,›.Ô)r,s ©Úcondrepr©rÄrÚ_substringmatcherÚfilter)r'r(r)rMÚkindÚpatternrþs` @r*ÚauthorrsJù€ô �!”QÐ2Ó3Ó4€AÜ.¨qÀÔFÑ€Dˆ'�7Ø �=‰=Ü)°\À1Ð4Eð ó ðr,sbisect(string)có�—t|td««j«}tt j ||««}||zS)a Changesets marked in the specified bisect status: - ``good``, ``bad``, ``skip``: csets explicitly marked as good/bad/skip - ``goods``, ``bads`` : csets topologically good/bad - ``range`` : csets taking part in the bisection - ``pruned`` : csets that are goods, bads or skipped - ``untested`` : csets whose fate is yet unknown - ``ignored`` : csets ignored due to DAG topology - ``current`` : the cset currently being bisected sbisect requires a string)rÄrÚlowerrèrÚget)r'r(r)ÚstatusÚstates r*Úbisectr $s>€ô�qœ!Ð7Ó8Ó 9× ?Ñ ?Ó A€FÜ ”— ‘ ˜D &Ó)Ó *€EØ �E‰>Ðr,sbisectedcó—t|||«Sr6)r rås r*Úbisectedr8s€ä �$˜ Ó "Ð"r,sbookmark([name])có2—t|ddtd««}|�r2t|dtd««}tj|«\}}}t «}|dk(r‚||k(r|j j|«}|j j|d«} | s!tjtd«|z«‚|j|| j««n¨t «} |j j«D]\} } || «sŒ| j| «Œ!| D]$} |j|| j««Œ&n8|j j«D� chc]} || j«’Œ}} |thz}||zScc} w)z{The named bookmark or all bookmarks. Pattern matching is supported for `name`. See :hg:`help revisions.patterns`. rrs"bookmark takes one or no argumentss)the argument to bookmark must be a stringóliteralNsbookmark '%s' does not exist)ÚgetargsrrÄrÚ stringmatcherrèÚ _bookmarksÚ expandnamer rr1rër0r®Úvaluesr) r'r(r)r¸ÚbmrrrþÚbmsÚbmrevÚ matchrevsÚnamer2s r*Úbookmarkr=sp€ô �1�a˜œAÐCÓDÓ E€DÚ Ü Ø �‰Gä Ð:Ó ;ó ˆô ",×!9Ñ!9¸"Ó!=шˆg�wÜ‹eˆØ �:Ò Ø�WŠ}ØŸ/™/×4Ñ4°WÓ=�Ø—O‘O×'Ñ'¨°Ó6ˆEÙÜ×+Ñ+ÜÐ5Ó6¸Ñ@óðð �G‰G�D˜‘K—O‘OÓ%Õ &䛈IØ#Ÿ™×4Ñ4Ö6‘ ��eÙ˜4•=Ø—M‘M %Õ(ð 7ó#�Ø—‘˜˜U™ Ÿ™Ó)Õ*ñ#ð'+§o¡o×&<Ñ&<Ô&>Ó?Ñ&> ˆt�A‰w�{‰{�}Ð&>ˆÐ?ØŒGˆ9Ñ€CØ �C‰<Ðùò@sÅ)Fsbranch(string or set)c󦇇‡‡ ‡ ‡ —‰j«jŠ ˆ ˆfd„Š t|d«Štj‰«\}}Š |dk(rj‰j «j |«r|jˆ ˆ fd„d‰f¬«S‰jd«r:tjtd«|z«‚|jˆ ˆ fd „d‰f¬«St‰t‰«|«}t«Š|D]}‰j!‰ |««Œ|j"Š|jˆˆˆ fd „ˆfd „¬«S#tj$rYŒzwxYw) z» All changesets belonging to the given branch or the branches of the given changesets. Pattern matching is supported for `string`. See :hg:`help revisions.patterns`. cót•— ‰|«dS#tj$r‰|j«cYSwxYwrP)rròÚbranch)r2Úgetbir's €€r*Ú getbranchzbranch..getbranchns<ø€ð $Ù˜“8˜A‘;Ð øÜ×$Ñ$ò $ؘ‘7—>‘>Ó#Ò #ð $ús ƒ Ž&7¶7r,rcó •—‰‰|««Sr6©©r2r rþs €€r*r¬zbranch..€sø€™g¡i°£lÔ3r,ó rÿsliteral:sbranch '%s' does not existcó •—‰‰|««Sr6r"r#s €€r*r¬zbranch..‰sø€™'¡)¨A£,Ô/r,có,•—‰|«xs ‰|«‰vSr6r")r2rrrîr s €€€r*r¬zbranch..’sø€‘!�A“$Ò+™) A›,¨!Ð+Ð+r,có •—dt‰«zS)Nr$©r;)rrs€r*r¬zbranch..“sø€˜¬(°1«+Ò5r,)ÚrevbranchcacheÚ branchinforÄrrÚ branchmapÚ hasbranchrÚ startswithrr1rr$r+rArèrëÚ __contains__) r'r(r)rrr˜r2rrrîrr rþs ` @@@@@r*rrcsNý€ð × Ñ Ó !× ,Ñ ,€Eõ$ð Ü �a˜Ó ˆô ",×!9Ñ!9¸!Ó!<шˆg�wØ �:Ò ð�~‰~Ó×)Ñ)¨'Ô2Ø—}‘}Ü3Ø,¨aÐ0ð%óðð�|‰|˜KÔ(Ü×+Ñ+ÜÐ3Ó4°wÑ>óðð—=‘=Ü/¸>È1Ð:Mð!óð ô ˆt”[ Ó&¨Ó*€AÜ ‹€AÛ ˆØ �‰‰i˜‹lÕðà �‰€AØ �=‰=Ý+Û5ð ó ðøô7 × Ñ ò á ð ús¨ D:Ä:EÅEsphasedivergent()cóf—t|ddtd««tj|d«}||zS)zŸMutable changesets marked as successors of public changesets. Only non-public and non-obsolete changesets can be `phasedivergent`. (EXPERIMENTAL) rs!phasedivergent takes no argumentsóphasedivergent©rrÚobsmodÚgetrevs)r'r(r)Úphasedivergents r*r4r4—s4€ô ˆAˆq�!”QÐ;Ó<Ô=Ü—^‘^ DÐ*;Ó<€NØ �NÑ "Ð"r,sbundle()có�— |jj}||zS#t$rtjt d««‚wxYw)zIChangesets in the bundle. Bundle must be specified by the -R option.s$no bundle provided - specify with -R)rQÚ bundlerevsÚAttributeErrorrÚAbortr)r'r(r)r6s r*Úbundler9¤sL€ð FØ—^‘^×.Ñ.ˆ ð �JÑ Ðøô òFÜ�k‰kœ!ÐCÓDÓEÐEðFús ‚�(Ac󦇇‡‡‡—tj‰«dk(ŠdgŠˆˆˆˆˆfd„}|j|dtj‰«‰f¬«S)zuHelper for status-related revsets (adds, removes, modifies). The field parameter says which kind is desired. rÙNcóT•‡—‰ |}‰dr‰r5tj‰ j‰ j«‰g|¬«‰d<‰dŠd}‰€J‚‰j «s/t ‰j ««dk(r‰j «d}|�||j «vr$ytˆfd„|j «D««syt‰ j|j«j«|j««‰«}|�||vryytˆfd„|D««ryy)Nr©ÚctxrFc3ó.•K—|] }‰|«–—Œy­wr6r"©Ú.0r¯rLs €r*Ú z/checkstatus..matches..Çsøèø€Ð/¡Y ‘q˜—t¡YùóƒTc3ó.•K—|] }‰|«–—Œy­wr6r"r?s €r*rAz/checkstatus..matches..Îsøèø€Ð'¡˜A‘1�Q—4¡ùrB) ÚmatchmodrÚrootÚgetcwdÚanypatsr[ÚfilesÚanyrr róÚnode) r)rîÚfnamerHrLÚfieldÚhassetÚmcacherÇr's @€€€€€r*Úmatcheszcheckstatus..matches¹sþù€Ø �‰GˆØ�aŠy™FÜ Ÿ™ t§y¡y°$·+±+³-À#ÀÈAÔNˆF�1‰IØ �1‰IˆØˆàˆ}Ј}Ø�y‰yŒ{œs 1§7¡7£9›~°Ò2Ø—G‘G“I˜a‘LˆEØ Ð Ø˜AŸG™G›IÑ%ØäÓ/ Q§W¡W¤YÓ/Ô/ØÜ˜Ÿ ™  A§D¡D£F§K¡K£M°1·6±6³8Ó<¸eÓDˆØ Рؘ‰~ØðôÓ'¡Ó'Ô'Øð(r,srÿ)rDÚpatkindrrÚsysbytes)r'r(rÇrLrOrMrNs` `` @@r*rÅrűs[ü€ô× Ñ ˜cÓ " fÑ ,€FàˆV€F÷ðð0 �=‰=ØÐ,¬h×.?Ñ.?ÀÓ.FÈÐLð ó ðr,có*—|s t«St«}|jj}|j «}|D]H}||krŒ ||«\}}||vr|j |«|t k7sŒ3||vsŒ8|j |«ŒJt|«Sr6)rBrèrQrñr‚rër) r'r(Ú parentsetrìÚprÚminrevr2róÚp2s r*Ú _childrenrWÖs…€Ù Ü‹yÐÜ ‹€BØ �‰× "Ñ "€BØ �]‰]‹_€FÛ ˆØ �Š;Ø Ù�A“‰ˆˆBØ �‰?Ø �F‰F�1ŒIØ ”‹=˜R 9š_Ø �F‰F�1�Iðô �2‹;Ðr,s children(set)cóR—t|t|«|«}t|||«}||zS)z&Child changesets of changesets in set.)r+rArW)r'r(r)r˜rìs r*rêrêçs/€ô ˆt”[ Ó&¨Ó*€AÜ �4˜ Ó #€BØ �B‰;Ðr,sclosed()có^‡—t|ddtd««|jˆfd„d¬«S)zChangeset is closed.rsclosed takes no argumentscó*•—‰|j«Sr6)Ú closesbranch©r2r's €r*r¬zclosed..õsø€�$�q‘'×&Ñ&Ô(r,srÿ)rrrrås` r*Úclosedr]ïs5ø€ô ˆAˆq�!”QÐ3Ó4Ô5Ø �=‰=Û(Ð3Eð ó ðr,s_commonancestorheads(set)cóš—t|t|«|t¬«}|jjt |«Ž}|t |«zS)NrÊ)r+rArcrQÚ_commonancestorsheadsÚlistrB)r'r(r)Ú startrevsÚancss r*Ú_commonancestorheadsrcúsB€ô�tœ[¨Ó.°¼ÔB€Ià /ˆ4�>‰>× /Ñ /´°i³Ð A€DØ ”G˜D“MÑ !Ð!r,scommonancestors(set)cóª—t|t|«|t¬«}|s t«S|D]%}|t j |t|g««z}Œ'|S)z8Changesets that are ancestors of every changeset in set.rÊ)r+rArcrBr r‘)r'r(r)rar2s r*ÚcommonancestorsresP€ô�tœ[¨Ó.°¼ÔB€IÙ Ü‹yÐÛ ˆØ”%×$Ñ$ T¬7°A°3«<Ó8Ñ8‰ðà €Mr,sconflictlocal()cóB—t|ddtd««ddlm}|jj |«}|j «rN|j j|j«r)||j j|j«hzSt«S)z–The local side of the merge, if currently in an unresolved merge. "merge" here includes merge conflicts from e.g. 'hg rebase' or 'hg graft'. rs conflictlocal takes no argumentsr©Ú mergestate) rrÚrhÚreadÚactiverQÚhasnodeÚlocalr0rB©r'r(r)Ú mergestatemodrhs r*Ú conflictlocalrpó€ô  ˆAˆq�!”QÐ:Ó;Ô<Ý-à×)Ñ)×.Ñ.¨tÓ4€JØ×ÑÔ˜tŸ~™~×5Ñ5°j×6FÑ6FÔGؘŸ™×+Ñ+¨J×,<Ñ,<Ó=Ð>Ñ>Ð>ä ‹9Ðr,sconflictother()cóB—t|ddtd««ddlm}|jj |«}|j «rN|j j|j«r)||j j|j«hzSt«S)z–The other side of the merge, if currently in an unresolved merge. "merge" here includes merge conflicts from e.g. 'hg rebase' or 'hg graft'. rs conflictother takes no argumentsrrg) rrrirhrjrkrQrlÚotherr0rBrns r*Ú conflictotherrt"rqr,scontains(pattern)éd)rÀcóf‡‡—t|td««Šˆˆfd„}|j|d‰f¬«S)a<The revision's manifest contains a file matching pattern (but might not modify it). See :hg:`help patterns` for information about file patterns. The pattern without explicit kind like ``glob:`` is expected to be relative to the current directory and match against a file exactly for efficiency. scontains requires a patterncóL•—tj‰«s8tj‰j‰j «‰«}|‰|vryy‰|}tj ‰j‰j «‰g|¬«}|j«D] }||«sŒ yy)NTr<F)rDrPrÚ canonpathrErFrÚmanifest)r)ÚpatsrîrLr¯rÇr's €€r*rOzcontains..matches>sŒø€Ü×Ñ Ô$Ü×%Ñ% d§i¡i°·±³ÀÓDˆDØ�t˜A‘w‰Øðð �Q‘ˆAÜ—‘˜tŸy™y¨$¯+©+«-¸#¸ÀAÔFˆAØ—Z‘Z–\�Ù�Q•4Ùð"ðr,s rÿ)rÄrr)r'r(r)rOrÇs` @r*Úcontainsr{2s7ù€ô �A”qÐ7Ó8Ó 9€Cõ ð �=‰=˜Ð,<¸cÐ+Bˆ=Ó CÐCr,sconverted([id])c󪇇‡—dŠt|ddtd««}|rt|dtd««Šˆˆfd„Š|jˆfd„d‰f¬ «S) z”Changesets converted from the given identifier in the old repository if present, or all converted changesets if no identifier is specified. Nrrs#converted takes one or no argumentssconverted requires a revisioncó„•—‰|j«jdd«}|duxr‰duxs|j‰«S)Nsconvert_revision)r/r r-)r2Úsourcer'r0s €€r*Ú _matchvaluezconverted.._matchvalue^sDø€Ø�a‘—‘“×$Ñ$Ð%8¸$Ó?ˆØ˜TÐ!ÒM s¨d {Ò'L°f×6GÑ6GÈÓ6LÐMr,có•—‰|«Sr6r"©r2rs €r*r¬zconverted..có ø€‘+˜a”.r,srÿ)rrrÄr)r'r(r)Úlrr0s` @@r*Ú convertedr„Nsbú€ð €Cä��1�aœÐAÓBÓC€AÙ䘘!™œaÐ @ÓAÓBˆõNð �=‰=Û Ð,=¸sÐ+Cð ó ðr,sdate(interval)c󌇇—t|td««}tj|«Š|j ˆˆfd„d|f¬«S)z5Changesets within the interval, see :hg:`help dates`.sdate requires a stringcó<•—‰‰|j«d«SrP©Údate)r)Údmr's €€r*r¬zdate..nsø€‘"�T˜!‘W—\‘\“^ AÑ&Ô'r,s rÿ)rÄrrÚ matchdater)r'r(r)Údsr‰s` @r*rˆrˆgsGù€ô �1”aÐ1Ó2Ó 3€BÜ × Ñ ˜BÓ €BØ �=‰=Ü'°<ÀÐ2Dð ó ðr,s desc(string)c󄇇—t|td««}t|d¬«\}}Š|jˆˆfd„d|f¬«S)z�Search commit message for string. The match is case-insensitive. Pattern matching is supported for `string`. See :hg:`help revisions.patterns`. sdesc requires a stringFrùcó6•—‰‰|j««Sr6©Ú description)r2rþr's €€r*r¬zdesc..sø€‘'˜$˜q™'×-Ñ-Ó/Ô0r,s rÿr)r'r(r)r‹rrrþs` @r*Údescr�rsJù€ô �1”aÐ1Ó2Ó 3€Bä.¨rÀÔGÑ€Dˆ'�7à �=‰=Ü0¸LÈ"Ð;Mð ó ðr,có‚—t|t|«|«}|s t«Stj|||||«}||zSr6)r+rArBr r’)r'r(r)rÒrÓrÔÚrootsr˜s r*Ú _descendantsr“ƒsD€ô �4œ TÓ*¨AÓ .€EÙ Ü‹yÐÜ ×јT 5¨+°zÀ9ÓM€AØ �A‰:Ðr,sdescendants(set[, depth])cót—t|dd«}d|vrtjtd««‚dx}}d|vr+t |dd«}|dkrtjd «‚|}d |vr@t |d td ««}|dkrtjtd ««‚|d z}t |||d||¬«S)zÎChangesets which are descendants of changesets in set, including the given changesets themselves. If depth is specified, the result only includes changesets up to the specified generation. s descendantsrØrÙs%descendants takes at least 1 argumentNrÚs)descendants expects an integer startdepthrrÛrÜs$descendants expects an integer depthrÝrrÞ)rµrr$rrßr“ràs r*Ú descendantsr•�s߀ô �q˜.Ð*AÓ B€DØ �TÑä×ÑœqÐ!IÓJÓKÐKØ!Ð!€J�ؘÑÜ Ø �Ñ Ð!Mó ˆð ˆqŠ5Ü×"Ñ"Ð#9Ó:Ð :؈ Ø�4Ñä Ø �‰NœAÐEÓFó ˆð ˆqŠ5Ü×"Ñ"¤1Ð%6Ó#7Ó8Ð 8ؘ‘Eˆ Ü Ø ˆf�d˜6‘l¨zÀYô ðr,s_firstdescendantscó —t|||d¬«Srã)r“rås r*Ú_firstdescendantsr—¯s€ô ˜˜f a°TÔ :Ð:r,sdestination([set])có`‡—|�t|t|«|«}n t|«}t«Š|D][}t||«}d}|€Œ|€ t «}|j |«||vs|‰vr‰j |«ŒK|}t||«}|�ŒHŒ]|j‰jˆfd„¬«S)zÀChangesets that were created by a graft, transplant or rebase operation, with the given revisions specified as the source. Omitting the optional set is the same as passing all(). Ncó •—dt‰«zS)Nsr()Údestss€r*r¬zdestination..âsø€Ð,¬x¸«Ò>r,rÿ) r+rArèr4r`ÚappendÚupdaterr.)r'r(r)Úsourcesr2ÚsrcÚlineageršs @r*Ú destinationr ¶sÂø€ð  €}ܘœ{¨4Ó0°!Ó4‰ä˜dÓ#ˆä ‹E€EóˆÜ˜D !Ó$ˆØˆà‰o؈ܛ&�à �N‰N˜1Ô ð�g‰~ ¨¡Ø— ‘ ˜WÔ%ØàˆAÜ  aÓ(ˆCð#Šoð ð. �=‰=Ø ×ÑÛ>ð ó ðr,sdiffcontains(pattern)énc󌇇‡ —t|dd«}d|vrtjtd««‚t |dtd««}t j |tj«}tj«Šˆfd„Štj|j||d¬«Š ˆˆ fd„}|j|d |f¬ «S) z·Search revision differences for when the pattern was added or removed. The pattern may be a substring literal or a regular expression. See :hg:`help revisions.patterns`. s diffcontainsspatterns&diffcontains takes at least 1 arguments&diffcontains requires a string patterncó•—‰Sr6r")r=Úfmatchs €r*Úmakefilematcherz%diffcontains..makefilematcherýsø€Øˆ r,T)Údiffcóž•—d}‰jt|g«‰«D]*\}}}}ttj||«d«sŒ)d}Œ,|S)NFT)Ú searchfilesrBrÌÚgrepmodÚdifflinestates)r0Úfoundr«r=ÚpstatesÚstatesr¥Úsearchers €€r*Útestdiffzdiffcontains..testdiffsVø€àˆØ(0×(<Ñ(<Ü �S�E‹N˜Oö) Ñ $ˆB��W˜fô”G×*Ñ*¨7°FÓ;¸TÕBØ‘ð ) ð ˆ r,srÿ)rµrr$rrÄrÚsubstringregexpÚreÚMrDÚalwaysr©Ú grepsearcherÚuir) r'r(r)r¸rÚregexpr¯r¤r¥r®s @@@r*Ú diffcontainsr·æs³ú€ô �q˜/¨:Ó 6€DؘÑä×ÑœqÐ!JÓKÓLÐLäØ ˆZÑœ!ÐEÓFó€Gô× 'Ñ '¨´·±Ó 6€Fô �_‰_Ó €Fôô×#Ñ# D§G¡G¨T°6ÀÔE€Hõð �=‰=˜Ð-AÀ7Ð,Kˆ=Ó LÐLr,scontentdivergent()cóf—t|ddtd««tj|d«}||zS)zh Final successors of changesets with an alternative set of final successors. (EXPERIMENTAL) rs#contentdivergent takes no argumentsócontentdivergentr1)r'r(r)Úcontentdivergents r*rºrºs6€ô ˆAˆq�!”QÐ=Ó>Ô?Ü—~‘~ dÐ,?Ó@ÐØ Ð$Ñ $Ð$r,sexpectsize(set[, size]))r¿Ú takeordercó„—t|dd«}d}t|«dz}d}d|vsd|vrtjt d««‚t |dt d «t d «||«\}}|dks|dkrtjt d ««‚t |t|«|d|¬ «}||k7r7t|«|kst|«|kDrt d «||t|«fz}n,||k(r't|«|k7rt d«|t|«fz}|rtj|«‚|tk(r||zS||zS)aReturn the given revset if size matches the revset size. Abort if the revset doesn't expect given size. size can either be an integer range or an integer. For example, ``expectsize(0:1, 3:5)`` will abort as revset size is 2 and 2 is not between 3 and 5 inclusive.s expectsizesset sizerrr,ssizerÙsinvalid set of argumentss6expectsize requires a size range or a positive integers"size range bounds must be integerss negative sizerÊs8revset size mismatch. expected between %d and %d, got %ds)revset size mismatch. expected %d, got %d) rµr[rr$rr�r+rAr1rE) r'r(r)r#r¸ÚminsizeÚmaxsizeÚerrr0s r*Ú expectsizerÀsd€ô �q˜-¨Ó 5€DØ€GÜ�$‹i˜!‰m€GØ €CØ�dјf¨DÑ0Ü×ÑœqÐ!<Ó=Ó>Ð>Ü"Ø ˆW‰ Ü Ð CÓDÜ Ð /Ó0ØØó Ñ€GˆWð�‚{�g ’kÜ×ÑœqÐ!1Ó2Ó3Ð3Ü �”{ 4Ó(¨$¨v©,¸eÔ D€CØ�'Òœs 3›x¨'Ò1´S¸³XÀÒ5GÜÐKÓLØ Ø Ü �‹HðP ñ ‰ð �GÒ ¤ C£¨GÒ 3ÜÐ<Ó=Ø Ü �‹HðA ñ ˆñ Ü×#Ñ# CÓ(Ð(Ø ” ÒØ˜‰|Ðà�V‰|Ðr,sextdata(source)có¬—t|dd«}t|jd«td««}t j ||«}|t |«zS)z:Changesets in the specified extdata source. (EXPERIMENTAL)sextdatar.s(extdata takes at least 1 string argument)rµrÄr rrÚ extdatasourcerB)r'r(r)r¸r~Údatas r*ÚextdatarÄHsT€ô �q˜* iÓ 0€DÜ Ø �‰�Óä Ð 5Ó6ó€Fô × Ñ   vÓ .€DØ ”G˜D“MÑ !Ð!r,s extinct()cóf—t|ddtd««tj|d«}||zS)zBObsolete changesets with obsolete descendants only. (EXPERIMENTAL)rsextinct takes no argumentssextinctr1)r'r(r)Úextinctss r*ÚextinctrÇVs3€ô ˆAˆq�!”QÐ4Ó5Ô6Ü�~‰~˜d JÓ/€HØ �HÑ Ðr,sextra(label, [value])cóJ‡‡‡‡‡—t|dd«}d|vrtjtd««‚t |dtd««ŠdŠd|vr1t |dtd««Št j ‰«\}ŠŠˆˆˆˆfd „Š|jˆfd „d ‰‰f¬ «S) zµChangesets with the given label in the extra metadata, with the given optional value. Pattern matching is supported for `value`. See :hg:`help revisions.patterns`. sextras label valueslabelsextra takes at least 1 arguments(first argument to extra must be a stringNsvalues)second argument to extra must be a stringcóX•—‰|j«}‰|vxr‰duxs ‰|‰«Sr6)r/)r2r/r3rþr'Úvalues €€€€r*rzextra.._matchvaluexs3ø€Ø�Q‘— ‘ “ˆØ˜ˆ~ÒJ 5¨D =Ò#I±G¸EÀ%¹LÓ4IÐJr,có•—‰|«Sr6r"r�s €r*r¬zextra..}r‚r,srÿ)rµrr$rrÄrrr) r'r(r)r¸rrr3rþrÊs ` @@@@r*r/r/_s·ü€ô �q˜( NÓ 3€DØ�tÑä×ÑœqÐ!CÓDÓEÐEä Ø ˆX‰œÐEÓFó €Eð €Eà�4ÑäØ �‰NœAÐJÓKó ˆô *×7Ñ7¸Ó>шˆe�W÷Kð �=‰=Û Ð,=¸uÀeÐ+Lð ó ðr,sfilelog(pattern)c󾇗t|td««}t«}|j}t j |«s3t j|j|j«|«}|g}nCt j|j|j«|g|d¬«Šˆfd„|dD«}|D�]}|j|«}i} d} t|«D]Ý} |j| «} | | vr|j| | «Œ-|j| «} | |vr|j| «ŒT| €ŒWt!| | «dz}d} |j#|«D]b}||j%|«vsŒ||j'|«vsŒ+ ||j)|«}|| vr|| k(r|j|«|} Œ×|| |<ŒdŒß�Œ||zS#t*j,$rYŒ„wxYw)aÝChangesets connected to the specified filelog. For performance reasons, visits only revisions mentioned in the file-level filelog, rather than filtering through all changesets (much faster, but doesn't include deletes or duplicate changes). For a slower, more accurate result, use ``file()``. The pattern without explicit kind like ``glob:`` is expected to be relative to the current directory and match against a file exactly for efficiency. sfilelog requires a patternNr<c3ó4•K—|]}‰|«sŒ |–—Œy­wr6r"r?s €r*rAzfilelog..™søèø€Ð/™J�q©!¨A­$”™Jùsƒ ‘rr)rÄrrèrQrDrPrrxrErFrÚfiler`rJrëÚlinkrevrƒr—ÚrevisionÚ readfilesÚfilenoderÚManifestLookupError)r'r(r)rÇr˜rõr¯rHÚflÚknownÚscanposÚfrr«ÚlrÚstartr2rMrLs @r*ÚfilelogrÚ�s»ø€ô �A”qÐ6Ó7Ó 8€CÜ ‹€AØ �‰€Bä × Ñ ˜CÔ Ü × Ñ ˜tŸy™y¨$¯+©+«-¸Ó =ˆØ�‰ä �N‰N˜4Ÿ9™9 d§k¡k£m°c°UÀÀTÁ Ô KˆÛ/˜D šJÓ/ˆä ˆØ �Y‰Y�q‹\ˆØˆØˆÜ�r–(ˆBØ—‘˜“ˆBØ�U‰{Ø—‘�e˜B‘iÔ Øà—‘˜B“ˆBØ�R‰xØ—‘�b• ØÑ$ô˜B Ó(¨1Ñ,�Ø�ØŸ™ ž�Aà˜BŸK™K¨›NÒ*¨q°B·L±LÀ³OÒ/Cð %à $ Q¡× 0Ñ 0°Ó 3˜AØ ¨™~Ø#$¨¢7Ø$%§E¡E¨!¤HØ./ GÙ$)à/0 E¨!¡Høñ(òð ðF �A‰:Ðøô %×8Ñ8ò%á$ð%úsÆ0GÆ5GÇG ÇG sfirst(set, [n]))r¿r»rÀcó—t||||«S)zAn alias for limit().)Úlimitr&s r*rIrIÁs€ô ��v˜q %Ó (Ð(r,cóR‡ —t||d«}d}d|vrt|t|«|d«}d|vr¼t|dt d«|z«}|€dg}g}|D]z}||xŠ } |€|dŠ t j |j|j«|g| d¬«} |jˆ fd„‰ j«j| «D««Œ|tj||«} || zS|€t|dj«g«}tj |||«} || zS) Ns file startrevóstartrevófiles%s expected a patternó.spath)r=Údefaultc3óD•K—|]}‰|j«–—Œy­wr6)Ú introfilectx)r@r¯r=s €r*rAz_follow..Øs!øèø€ÐOÑ8N°1˜˜Q™×,Ñ,×.Ñ8Nùóƒ )rµr+rArÄrrDrrErFÚextendryÚwalkr ÚfilerevancestorsrBr0r‘) r'r(r)rrÒr¸r—Úfctxsr2ÚmctxrLr˜r=s @r*Ú_followrêÇs7ø€Ü �q˜$Ð 0Ó 1€DØ €DØ�dÑÜ�dœK¨Ó-¨t°KÑ/@ÓAˆØ�$�Ü �d˜7‘m¤QÐ'?Ó%@À4Ñ%GÓ HˆØ ˆ<Ø�6ˆD؈ۈAؘa™Ð ˆC�$؈yؘ4‘j�Ü—‘Ø— ‘ ˜4Ÿ;™;›=¨1¨#°4ÀôˆAð �L‰LÓO¸¿ ¹ »×8KÑ8KÈAÔ8NÓOÕ Oðô × "Ñ " 5¨+Ó 6ˆð �A‰:Ðð ˆ<ܘD ™JŸN™NÓ,Ð-Ó.ˆDÜ × Ñ ˜t T¨;Ó 7ˆà �A‰:Ðr,sfollow([file[, startrev]])có—t|||d«S)zé An alias for ``::.`` (ancestors of the working directory's first parent). If file pattern is specified, the histories of files matching given pattern in the revision given by startrev are followed, including copies. r!©rêrås r*Úfollowríâs€ô �4˜  IÓ .Ð.r,ó _followfirstcó"—t|||dd¬«S)NrîTrärìrås r*Ú _followfirstrðìs€ô �4˜  OÀÔ FÐFr,s?followlines(file, fromline:toline[, startrev=., descend=False])c ó6—t|dd«}t|d«dk7rtjt d««‚d}d|vrUt |t |«|d«}t|«dk7rtjt d««‚|j«}t|d t d ««}t d «}tj||||«}tjt|dd t d «t d««Ž\} } ||j|«} d} d|vrt|dt d««} | r.t!d„t#j$| | | «D«d¬«} || zSt!d„t#j&| | | «D«d¬«} || zS)a¶Changesets modifying `file` in line range ('fromline', 'toline'). Line range corresponds to 'file' content at 'startrev' and should hence be consistent with file size. If startrev is not specified, working directory's parent is used. By default, ancestors of 'startrev' are returned. If 'descend' is True, descendants of 'startrev' are returned though renames are (currently) not followed in this direction. s followlinessfile *lines startrev descendslinesrs!followlines requires a line rangeràrÞs(followlines expects exactly one revisionrßsfollowlines requires a patterns$followlines expects exactly one filers,followlines expects a line number or a ranges"line range bounds must be integersFsdescends"descend argument must be a booleanc3óBK—|]\}}|j«–—Œy­wr6©r0©r@rîÚ _lineranges r*rAzfollowlines..(ó&èø€ð ñ&‘M�A�zð—‘—ñ&ùó‚T)Úiterascc3óBK—|]\}}|j«–—Œy­wr6rórôs r*rAzfollowlines..2rör÷)rµr[rr$rr+rArJrÄrÚparsefollowlinespatternrÚprocesslineranger�ÚfilectxÚ getbooleanÚ generatorsetr ÚblockdescendantsÚblockancestors)r'r(r)r¸r0r—rÇÚmsgrKÚfromlineÚtolineÚfctxÚdescendÚrss r*Ú followlinesrôs¿€ô �q˜.Ð*IÓ J€DÜ ˆ4�‰>Ó˜aÒÜ×ÑœqÐ!EÓFÓGÐGà €CØ�dÑÜ�dœK¨Ó-¨t°KÑ/@ÓAˆÜ ˆt‹9˜Š>Ü×"Ñ"äÐ=Ó>óð ð�i‰i‹kˆä �D˜‘M¤1Ð%FÓ#GÓ H€Cä Ð 3Ó 4€CÜ × +Ñ +¨D°#°s¸CÓ @€EÜ×,Ñ,Ü Ø �‰N˜1Ñ ä Ð=Ó >Ü Ð3Ó 4ó  ðÑ€Hˆfð �‰9× Ñ ˜UÓ #€DØ€GØ�TÑÜØ �Ñ ä Ð3Ó 4ó ˆñ Ü ñ ä%*×%;Ñ%;ؘ( Fô&ó ð ô ˆð& �B‰;Ðôñ ä%*×%9Ñ%9ؘ( Fô&ó ð ô ˆð �B‰;Ðr,snodefromfile(path)cóΗt|td««}t«} tj|d«5}|D]2}|j «}t ||«}|€Œ"|j|«Œ4 ddd«|t|«zS#1swYŒxYw#t$rI} td«} | |tj| j«fz} tj| «‚d} ~ wwxYw)zÓRead a list of nodes from the file at `path`. This applies `id(LINE)` to each line of the file. This is useful when the amount of nodes you need to specify gets too large for the command line. s nodefromfile require a file pathÚrbNscannot open nodes file "%s": %s)rÄrrèrÚopenÚstripÚ_noderëÚIOErrorr Ú strtolocalÚstrerrorrr8rB) r'r(r)ÚpathÚ listed_revr¯ÚlinerMÚrnÚexcrLs r*Ú nodefromfiler=sË€ô �QœÐ=Ó>Ó ?€DÜ“€Jð Ü �]‰]˜4 Ô &¨!Û�Ø—J‘J“L�ܘ4 “^�Ø‘>Ø—N‘N 2Õ&ñ ÷'ð ”G˜JÓ'Ñ 'Ð'÷'Ð &ûô òÜ Ð0Ó 1ˆØ ˆd”H×'Ñ'¨¯ © Ó5Ð 6Ñ6ˆÜ�k‰k˜!‹nÐûðús5¡B·$BÁBÁ0BÂB B C$ÂACÃC$sall()cóL—t|ddtd««|t|«zS)z&All changesets, the same as ``0:tip``.rsall takes no arguments)rrrZrås r*ÚgetallrVs'€ô ˆAˆq�!”QÐ0Ó1Ô2Ø ”G˜D“MÑ !Ð!r,s grep(regex)có@‡‡— tjt|td«««Šˆˆfd„}|j|d‰jf¬«S#tj$r9}t j td«t j|«z«‚d}~wwxYw)zÃLike ``keyword(string)`` but accepts a regex. Use ``grep(r'...')`` to ensure special escape characters are handled correctly. Unlike ``keyword(string)``, the match is case-sensitive. sgrep requires a stringsinvalid match pattern: %sNc󢕗‰|}|j«|j«|j«gzD]}‰j|«sŒyy©NTF)rHrýr�Úsearch)r)rîÚeÚgrr's €€r*rOzgrep..matcheslsEø€Ø �‰GˆØ—‘“˜aŸf™f›h¨¯ © «Ð8Ô8ˆAØ�y‰y˜�|Ùð9ðr,s rÿ) r±ÚcompilerÄrrr$rÚ forcebytestrrr)r'r(r)rrOrs` @r*rr^sˆù€ð  ä �Z‰Zœ  !¤QÐ'@Ó%AÓBÓ Cˆõ ð �=‰=˜¨L¸"¿*¹*Ð+Eˆ=Ó FÐFøô �8‰8ò Ü×ÑÜ Ð*Ó +¬j×.EÑ.EÀaÓ.HÑ Hó ð ûð ús„(AÁBÁ$4BÂBs _matchfilesc 󄇇 ‡ ‡ ‡ ‡ ‡‡‡—t|ddd«}gggcŠŠ Š d\ŠŠ |D]¾}t|d«}|dd|dd}}|dk(r‰j|«Œ0|dk(r‰ j|«ŒG|d k(r‰ j|«Œ^|d k(r&‰�tjd «‚|d k(rt ŠŒ†|ŠŒ‰|d k(r‰ �tjd«‚|Š Œ¨tjd|z«‚‰ sdŠ t d„‰‰ z‰ zD««Š dgЉjjŠ ˆ ˆ ˆ ˆ ˆ ˆˆˆˆf d„}|j|d‰‰ ‰ ‰ ‰f¬«S)Nréÿÿÿÿs*_matchfiles requires at least one argumentr�s%_matchfiles requires string argumentsrnóp:si:sx:sr:s)_matchfiles expected at most one revisionr,sd:s-_matchfiles expected at most one default modesinvalid _matchfiles prefix: %ssglobc3óLK—|]}tj|«dk(–—Œy­w)rÙN)rDrP©r@rps r*rAz_matchfiles..£s#èø€ÐIÑ8H°1”×!Ñ! !Ó$¨Õ.Ñ8Hùs‚"$c ó• —|tk(r‰ |j«}n‰|«}‰ dr‰rB‰ €@‰ €|n‰ }tj‰ j‰ j «‰ ‰ ‰‰ |‰¬«‰ d<‰ d}|D] }||«sŒ yy)Nr)ÚincludeÚexcluder=ráTF)r rHrDrrErF)r)rHr2rLr¯rárÚgetfilesrMÚincrNrzr'r0s €€€€€€€€€r*rOz_matchfiles..matches«s“ø€Ø ”Š<ؘ‘G—M‘M“O‰Eá˜Q“KˆEà�aŠy™V¨¨ Ø�[‘ cˆAÜ Ÿ™Ø— ‘ Ø— ‘ “ ØØØØ˜‘GØôˆF�1‰Ið �1‰IˆãˆAÙ��tÙððr,sCrÿ) rrÄr›rr$r rIrQrÑr)r'r(r)rƒÚargr˜ÚprefixrÊrOrárr(rMr)rNrzr0s` @@@@@@@@r*Ú _matchfilesr,vsƒÿø€ô ��1�bÐGÓH€Aؘ˜R€N€Dˆ#ˆsØ�L€CˆÛˆÜ �cÐCÓ DˆØ˜"˜1˜˜q  ˜u�ˆØ �UŠ?Ø �K‰K˜Õ Ø �uŠ_Ø �J‰J�uÕ Ø �uŠ_Ø �J‰J�uÕ Ø �uŠ_؈Ü×&Ñ&Ø@óðð˜Š|Ü‘à‘Ø �uŠ_ØÐ"Ü×&Ñ&ØDóðð‰Gä×"Ñ"Ð#DÀvÑ#MÓNÐ Nð3ñ4 ØˆÜ ÑI¸¸s¹ ÀSÒ8HÓIÓ I€FàˆV€Fð�~‰~×'Ñ'€H÷ôð0 �=‰=Øð /à Ø Ø Ø Ø ð ð ó ð r,s file(pattern)cóP—t|td««}t||dd|zf«S)zÌChangesets affecting files matched by pattern. For a faster but less accurate result, consider using ``filelog()`` instead. This predicate uses ``glob:`` as the default kind of pattern. sfile requires a patternóstringr")rÄrr,rÆs r*Úhasfiler/Ñs.€ô �A”qÐ3Ó4Ó 5€CÜ �t˜V i°¸±Ð%=Ó >Ð>r,shead()cóô‡—t|ddtd««t«}|jŠ|j «j «D]}|j ˆfd„|D««Œ|t|«zS)z!Changeset is a named branch head.rshead takes no argumentsc3ó@•K—|]}‰j|«–—Œy­wr6ró)r@Úhrõs €r*rAzhead..çsøèø€Ð(¡R �"—&‘&˜—)¡Rùsƒ)rrrèrQr+Ú iterheadsrœrB)r'r(r)ÚhsÚlsrõs @r*Úheadr6ßsdø€ô ˆAˆq�!”QÐ1Ó2Ô3Ü ‹€BØ �‰€BØ�n‰nÓ×(Ñ(Ö*ˆØ � ‰ Ó(¡RÓ(Õ(ð+à ”G˜B“KÑ Ðr,s heads(set)có°—|tk(rt}t|t|«||¬«}d}t|vrN|dj «D�cgc]}|j «‘Œ}}t|«}|jt«|jj|«}|�&|j|«|jt«t|«}||zScc}w)z'Members of set with no children in set.rÊN)r\rEr+rAr Úparentsr0rèÚdiscardrQÚheadrevsÚdifference_updaterërB)r'r(r)r#ÚinputsetÚ wdirparentsrprÕs r*rÕrÕës¿€ð ” Ò܈Ü�dœK¨Ó-¨q¸Ô>€HØ€KÜ�(Ñà(,¨T© ×(:Ñ(:Ô(<Ó=Ñ(< 1�q—u‘u•wÐ(<ˆ Ð=Ü�x“=ˆØ×ÑœÔ!Ø �N‰N× #Ñ # HÓ -€EØÐØ ×Ñ  Ô,Ø � ‰ ”'ÔÜ �E‹N€EØ �E‰>Ðùò>sÁCshidden()cóf—t|ddtd««tj|d«}||zS)zHidden changesets.rshidden takes no argumentssvisible)rrrÚ filterrevs)r'r(r)Ú hiddenrevss r*ÚhiddenrAs5€ô ˆAˆq�!”QÐ3Ó4Ô5Ü×$Ñ$ T¨:Ó6€JØ �JÑ Ðr,skeyword(string)c󌇇—tjt|td«««Šˆˆfd„}|j |d‰f¬«S)zÑSearch commit message, user name, and names of changed files for string. The match is case-insensitive. For a regular expression or case sensitive search of these fields, use ``grep(regex)``. skeyword requires a stringcó”•—‰|}tˆfd„|j«|j«|j«gzD««S)Nc3óL•K—|]}‰tj|«v–—Œy­wr6©r r)r@ÚtÚkws €r*rAz+keyword..matches..s'øèø€ð á<�ð ”(—.‘. Ó#Ô #Ù<ùsƒ!$)rIrHrýr�)r2rîrGr's €€r*rOzkeyword..matchessBø€Ø �‰GˆÜó à—W‘W“Y !§&¡&£(¨A¯M©M«OÐ!<Ò<ó ó ð r,s rÿ)r rrÄrr)r'r(r)rOrGs` @r*ÚkeywordrH s?ù€ô �‰œ  !¤QÐ'CÓ%DÓEÓ F€Bõ ð �=‰=˜¨O¸RÐ+@ˆ=Ó AÐAr,slimit(set[, n[, offset]])có—t|dd«}d|vrtjtd««‚t |j d«td«d¬«}|d krtjtd ««‚t |j d «td«d ¬«}|d krtjtd ««‚t |t|«|d«}|j|||z«}|tk(r |dkDr||zS||zS) z>First n members of set, defaulting to 1, starting from offset.r´s set n offsetrÙs%limit requires one to three argumentsónslimit expects a numberr)rárónegative number to selectsoffsetsnegative offset) rµrr$rrßr r+rAÚslicerE) r'r(r)r#r¸ÚlimÚofsÚosr5s r*rÜrÜsø€ô �q˜( OÓ 4€DØ �TÑä×ÑœqÐ!IÓJÓKÐKä �T—X‘X˜d“^¤QÐ'@Ó%AÈ1Ô M€CØ ˆQ‚wÜ×ÑœqÐ!=Ó>Ó?Ð?ä Ø �‰�ÓœQÐ8Ó9À1ô €Cð ˆQ‚wÜ×ÑœqÐ!3Ó4Ó5Ð5Ü �”k $Ó'¨¨f©Ó 6€BØ �‰�#�s˜S‘yÓ !€BØ ” Ò  a¢Ø˜‰{ÐØ �‰;Ðr,slast(set, [n])cóŒ—t|ddtd««}d}t|«dk(rt|dtd««}|dkrt j td««‚t |t|«|d«}|j«|jd|«}|tk(r |dkDr||zS|j«||zS)z'Last n members of set, defaulting to 1.rrns"last requires one or two argumentsslast expects a numberrrK) rrr[rßrr$r+rAÚreverserLrE)r'r(r)r#rƒrMrOr5s r*rJrJ6s¹€ô ��1�aœÐ@ÓAÓB€AØ €CÜ ˆ1ƒv�‚{䘘1™œqÐ!9Ó:Ó;ˆØ ˆQ‚wÜ×ÑœqÐ!=Ó>Ó?Ð?Ü �”k $Ó'¨¨1©Ó .€B؇J�J„LØ �‰�!�SÓ €BØ ” Ò  a¢Ø˜‰{ÐØ‡J�J„LØ �‰;Ðr,smax(set)có¸—t|t|«|«} |j«}||vrt|gd||f¬«S td||f¬«S#t$rYŒwxYw)z.Changeset with highest revision number in set.s ©Údatarepr)r+rArƒrBÚ ValueError©r'r(r)rOrLs r*ÚmaxrevrWJós€ô �”k $Ó'¨Ó +€Bð Ø �F‰F‹HˆØ �‰;ܘA˜3¨/¸6À2Ð)FÔGÐ Gð ô ˜_¨f°bÐ9Ô :Ð:øô ò ñ ð úó˜$A Á AÁAsmerge()có~‡‡—t|ddtd««‰jŠˆˆfd„}|j|d¬«S)zChangeset is a merge changeset.rsmerge takes no argumentsc󦕗 ‰j|«dtk7S#tj$rt ‰|j ««cYSwxYwrY)rñrrròÚboolrV)r2rõr's €€r*Úismergezmerge..ismerge`sKø€ð &Ø—=‘= Ó# AÑ&¬'Ñ1Ð 1øÜ×$Ñ$ò &ܘ˜Q™Ÿ ™ › Ó%Ò %ð &úsƒž/AÁAsrÿ)rrrQr)r'r(r)r]rõs` @r*Úmerger^Ys<ù€ô ˆAˆq�!”QÐ2Ó3Ô4Ø �‰€Bõ&ð �=‰=˜¨:ˆ=Ó 6Ð6r,s branchpoint()cóX‡‡—t|ddtd««|j}|s t«St |«Šdgt |«‰z zŠ|j ‰dz¬«D].}|j|«D]}|‰k\sŒ ‰|‰z xxdz cc<ŒŒ0|jˆˆfd„d¬«S)z$Changesets with more than one child.rsbranchpoint takes no argumentsr)rÙcó•—‰|‰z dkDSrYr")r2ÚbaserevÚ parentscounts €€r*r¬zbranchpoint..zsø€�,˜q 7™{Ñ+¨aÒ/r,s rÿ) rrrQrBr‚r[r—rñr)r'r(r)rõr2rprarbs @@r*Ú branchpointrcis²ù€ô ˆAˆq�!”QÐ8Ó9Ô:Ø �‰€BÙ Ü‹yÐô�&‹k€GØ�3œ#˜d›) gÑ-Ñ.€LØ �W‰W˜7 Q™;ˆWÖ 'ˆØ—‘˜qÖ!ˆAØ�G‹|ؘQ ™[Ó)¨QÑ.Ô)ñ"ð(ð �=‰=Ü/Ð:Jð ó ðr,smin(set)có¸—t|t|«|«} |j«}||vrt|gd||f¬«S td||f¬«S#t$rYŒwxYw)z-Changeset with lowest revision number in set.s rS)r+rAr‚rBrUrVs r*rUrU~rXrYsmodifies(pattern)cóH—t|td««}t|||d«S)zÎChangesets modifying files matched by pattern. The pattern without explicit kind like ``glob:`` is expected to be relative to the current directory and match against a file or a directory. smodifies requires a patternÚmodifiedrÃrÆs r*Úmodifiesrg�s'€ô �A”qÐ7Ó8Ó 9€CÜ �t˜V S¨*Ó 5Ð5r,snamed(namespace)c 󤇗t|ddtd««}t|dtd««}tj|«\}}}t «}|dk(rN|‰j vr!tjtd«|z«‚|j‰j |«n<‰j j«D]\} }|| «sŒ|j|«Œ!t «} |D]Q}|j‰«D];} | |jvsŒ| jˆfd„|j‰| «D««Œ=ŒS| thz} || zS)z„The changesets in a given namespace. Pattern matching is supported for `namespace`. See :hg:`help revisions.patterns`. rs#named requires a namespace argumentrs&the argument to named must be a stringrsnamespace '%s' does not existc3óD•K—|]}‰|j«–—Œy­wr6ró)r@rMr's €r*rAznamed..ºsøèø€ÐIÑ4H¨q˜T !™WŸ[™[Ÿ]Ñ4Hùrä)rrrÄrrrèÚnamesrr1rër®Ú listnamesÚ deprecatedrœÚnodesr) r'r(r)r¸ÚnsrrrþÚ namespacesrrjs ` r*Únamedrpšs6ø€ô �1�a˜œAÐDÓEÓ F€Dä Ø ˆQ‰ä Ð 3Ó4ó €Bô (×5Ñ5°bÓ9Ñ€Dˆ'�7Ü“€JØ ˆzÒØ ˜$Ÿ*™*Ñ $Ü×'Ñ'ÜÐ2Ó3°bÑ8óð ð �‰�t—z‘z 'Ñ*Õ+àŸ ™ ×(Ñ(Ö*‰HˆD�"Ù�t�}Ø—‘˜rÕ"ð+ô ‹E€EۈؗL‘L Ö&ˆDؘ2Ÿ=™=Ò(Ø— ‘ ÓI°B·H±H¸TÀ4Ô4HÓIÕIñ'ðð  ŒgˆYÑ€EØ �E‰>Ðr,cóÚ—d}t|«d|jjzk(r' |jj t |««}|S tj||«}|�|jj |«}|S#t j$r t}Y|Stjtf$rd}Y|SwxYw#t$rY|St j$r t}Y|SwxYw)zprocess a node inputNrn)r[Ú nodeconstantsÚnodelenrQr0rrròr ÚbinasciiÚErrorÚ LookupErrorrÚresolvehexnodeidprefix)r'rMrÚpms r*r r Àsõ€à €BÜ ˆ1ƒv��T×'Ñ'×/Ñ/Ñ/Ò/ð Ø—‘×#Ñ#¤C¨£FÓ+ˆBð €Ið Ü×/Ñ/°°aÓ8ˆB؈~Ø—^‘^×'Ñ'¨Ó+�ð €Iøô×$Ñ$ò ܉Bð €Iô—‘¤ Ð,ò ؉Bð €Ið ûôò Ø ð €Iô×$Ñ$ò ܉BØ €Ið ús/©$BÁ3CÂB?Â!B?Â>B?à C*ÃC*Ã)C*s id(string)có²—t|ddtd««}t|dtd««}t||«}|€ t «St |g«}||zS)zBRevision non-ambiguously specified by the given hex string prefix.rsid requires one argumentrsid requires a string)rrrÄr rB)r'r(r)rƒrMrÚresults r*Únode_r{Ös]€ô ��1�aœÐ6Ó7Ó8€Aä�!�A‘$œÐ1Ó2Ó3€AÜ ˆt�Q‹€Bà €zÜ‹yÐÜ �b�T‹]€FØ �F‰?Ðr,snone()cóD—t|ddtd««t«S)zNo changesets.rsnone takes no arguments)rrrBrås r*Únoner}ås €ô ˆAˆq�!”QÐ1Ó2Ô3Ü ‹9Ðr,s obsolete()cóf—t|ddtd««tj|d«}||zS)z6Mutable changeset with a newer version. (EXPERIMENTAL)rsobsolete takes no argumentssobsoleter1)r'r(r)Ú obsoletess r*rrís3€ô ˆAˆq�!”QÐ5Ó6Ô7Ü—‘˜t [Ó1€IØ �IÑ Ðr,sonly(set, [set])có¸—|j}t|ddtd««}t|t |«|d«}t |«dk(rR|s t «Sttj||d««}|j«D�cgc] }||vr||vr|‘Œ}}nt|t |«|d«}t|j||¬««} || zScc}w)aChangesets that are ancestors of the first set that are not ancestors of any other head in the repo. If a second set is specified, the result is ancestors of the first set that are not ancestors of the second set (i.e. :: - ::). rrnsonly takes one or two argumentsrF)ÚcommonrÕ) rQrrr+rAr[rBrèr r’r:Úfindmissingrevs) r'r(r)rõr¸r&r•r0r'Úresultss r*Úonlyr„ösä€ð �‰€Bä �1�a˜œAÐ@ÓAÓ B€DÜ�Tœ; tÓ,¨d°1©gÓ6€GÜ ˆ4ƒy�A‚~ÙÜ“9Ð äœ%×.Ñ.¨t°W¸eÓDÓEˆ ð—{‘{”}ó á$�ؘ+Ñ%¨c°W©nò Ø$ð ñ ô ˜œ{¨4Ó0°$°q±'Ó:ˆä�"×$Ñ$¨G¸7Ð$ÓCÓD€Gð �GÑ Ðùò s Cs origin([set])có ‡—|�t‰t‰«|«}n t‰«}ˆfd„}|D�chc] }||«’Œ }}|dhz}||zScc}w)an Changesets that were specified as a source for the grafts, transplants or rebases that created the given revisions. Omitting the optional set is the same as passing all(). If a changeset created by these operations is itself specified as a source for one of these operations, only the source changeset for the first operation is selected. NcóJ•—t‰|«}|€y t‰|«}|€|S|}Œr6)r4)r0ržÚprevr's €r*Ú _firstsrczorigin.._firstsrc"s:ø€Ü˜D #Ó&ˆØ ˆ;ØàÜ   sÓ+ˆDàˆ|Ø� ؈Cð r,)r+rA)r'r(r)ršrˆr2Úos` r*ÚoriginrŠsbø€ð €}Ü�tœ[¨Ó.°Ó2‰ä˜DÓ!ˆô ñ %Ó%™u˜!‰�1�˜u€AÐ%؈$ˆ�K€Að �A‰:Ðùò &s¯A soutgoing([path])có—ddlm}m}t|ddt d««}|xrt |dt d««xsd}|r|g}ng}t «}tj||j|«D]½} | jgf} |j||| g«\} } | r| D� cgc]} |j| «‘Œ} } |j|i| «} |jj«5|j||| ¬«}ddd«|j!«|j#j$«Œ¿|j&}|D�chc]}|j)|«’Œ}}||zScc} w#1swYŒjxYw#|j!«wxYwcc}w) zÑChangesets not found in the specified destination repository, or the default push location. If the location resolve to multiple repositories, the union of all outgoing changeset will be used. r)Ú discoveryÚhgrs"outgoing takes one or no argumentss#outgoing requires a repository pathr,)Ú onlyheadsN)rirŒr�rrrÄrèr Úget_push_pathsrµrÚ addbranchrevsÚlookupÚpeerÚsilentÚfindcommonoutgoingÚcloserœÚmissingrQr0)r'r(r)rŒr�rƒÚdestršr–rÚbranchesr—Úcheckoutr0rsÚoutgoingrõr2r‰s r*ršrš5sr€÷ô ��1�aœÐ@ÓAÓB€Að ÒHŒi˜˜!™œaÐ FÓGÓHÒOÈCð ñ Ø�‰àˆÜ‹e€GÜ×&Ñ& t¨T¯W©W°eÖ<ˆØ—;‘; �?ˆà×)Ñ)¨$°°hÀÓC‰ˆˆhÙ Ù04Ó5±¨�D—K‘K Õ$°ˆDÐ5Ø—‘˜˜b $Ó'ˆð Ø—‘—‘Õ!Ø$×7Ñ7ؘ%¨4ð8ó�÷"ð �K‰KŒMØ�‰�x×'Ñ'Õ(ð=ð �‰€BÙ#Ó$™G�qˆ�‰��˜G€AÐ$Ø �A‰:Ðùò6÷"Ð!ûð �K‰K�Müò %s0Â!E"ÃE3Ã)E'Ã>E3ÅFÅ'E0 Å,E3Å3Fs p1([set])cóÞ—|€?||j«j«}|dk\r|t|g«zSt«St«}|j}t |t |«|«D]&} |j|j|«d«Œ(|thz}||zS#tj$r3|j||j«j««YŒ}wxYw)z.¨sèø€Ð6Ñ$5˜q�1—5‘5—7Ñ$5ùs‚) r8r0rèrQrœrñr+rArròr) r'r(r)rprôrõÚuprñr2s r*r8r8˜sÇ€ð  €yØ# A™wŸ™Ô0Ó 1Ñ0˜!ˆa�e‰e�gÐ0ˆÑ 1ä ‹UˆØ �^‰^ˆØ �Y‰YˆØ—]‘]ˆ ܘœk¨$Ó/°Ö3ˆAð 7Ù‘:˜a“=Õ!ð4ð Œ7ˆ)�O€BØ �B‰;Ðùò2øô×(Ñ(ò 7ÙÑ6 D¨¡G§O¡OÔ$5Ó6Ö6ð 7ús˜BÁ:BÂ3CÃCcó<—|jj|||«S)z,helper to select all rev in phases)Ú _phasecacheÚ getrevset)r'r(Útargetss r*Ú_phaser§­s€à × Ñ × %Ñ % d¨G°VÓ <Й>Ó+Ô,úð -ús1‚CÁ'#C5 1D>Ã.C2Ã5AD;Ä:D;Ä>AFÆFs present(set)cóf— t||||«S#tj$r t«cYSwxYw)aAn empty set, if any revision in set isn't found; otherwise, all revisions in set. If any of specified revisions is not present in the local repository, the query is normally aborted. But this predicate allows the query to continue even in such cases. )r+rr1rBr&s r*Úpresentr½s5€ðÜ�d˜F A uÓ-Ð-øÜ × Ñ òÜ‹yÒðús ‚ �0¯0ó _notpubliccóT—t|ddd«t||gtj¢­ŽS)Nrs_notpublic takes no arguments)rr§rÚnot_public_phasesrås r*Ú _notpublicrÁs)€ä ˆAˆq�!Ð5Ô6Ü �$˜Ð :¤×!9Ñ!9Ò :Ð:r,s"_phaseandancestors(phasename, set)c󬇇 ‡ ‡ —t|ddd«}t|d«}t‰t‰«|d«}tj Š tj }‰ ‰ |dœ}||vrtjd|z«‚||Š ‰jjŠ ˆ ˆ ˆfd„}tj‰||¬«} |d k(r| jˆ ˆ ˆfd „«} || zS) Nrns)_phaseandancestors requires two argumentsrr)r¾ódraftssecrets%r is not a valid phasenamecó•—‰‰|«‰kSr6r")r0ÚgetphaseÚ minimalphaser's €€€r*Úcutfuncz#_phaseandancestors..cutfunc/sø€Ù˜˜cÓ" \Ñ1Ð1r,)rÇrÃcó•—‰‰|«‰k(Sr6r")r2r¯rÅr's €€€r*r¬z$_phaseandancestors..5sø€¡X¨d°AÓ%6¸%Ò%?r,)rryr+rArr¯r²rr$r¤r­r r‘r) r'r(r)r¸Ú phasenamer˜r²Ú phasenamemaprÇr—r¯rÅrÆs ` @@@r*Ú_phaseandancestorsrËsÕû€ô �1�a˜ÐHÓ I€Dܘ$˜q™'Ó"€I܈t”[ Ó&¨¨Q©Ó0€Aä �L‰L€EÜ �]‰]€FàØØñ€Lð ˜ Ñ$Ü×ÑÐ=À ÑIÓJÐJà  Ñ*€LØ×Ñ×%Ñ%€Hö2ô × Ñ ˜d A¨wÔ 7€Dà�HÒØ�{‰{Õ?Ó@ˆØ �D‰=Ðr,spublic()cóf—t|ddtd««t||tj«S)zChangeset in public phase.rspublic takes no arguments)rrr§rÚpublicrås r*rÍrÍ9s+€ô ˆAˆq�!”QÐ3Ó4Ô5Ü �$˜¤§ ¡ Ó .Ð.r,sremote([id [,path]])có—ddlm}t|ddtd««}d}t |«dkDrt |dtd««}|dk(r|dj «}d}t |«dkDrt |dtd ««}|sd }tjd |j|«}|j|i|«}|j|«} | |vr#|| j«} | |vr t| g«St«S) z¬Local revision that corresponds to the given identifier in a remote repository, if present. Here, the '.' identifier is a synonym for the current local branch. r)r�rrns(remote takes zero, one, or two argumentsràsremote requires a string idr,s!remote requires a repository pathsdefaultsremote)rir�rrr[rÄrr Úget_unique_pull_path_objrµr’r‘r0rB) r'r(r)r�rƒÚqr—rrsrMr2s r*ÚremoterÑAsô€õô ��1�aœÐFÓGÓH€Aà €AÜ ˆ1ƒv�‚zä �a˜‘dœAÐ<Ó=Ó >ˆØˆD‚yØ �‰J× Ñ Ó ˆà €DÜ ˆ1ƒv�‚z䘘1™œqÐ!EÓFÓGˆÙ ØˆÜ × +Ñ +¨I°t·w±wÀÓ E€Dà �G‰G�D˜"˜dÓ #€EØ � ‰ �Q‹€A؈D�yØ �‰G�K‰K‹MˆØ �‰;ܘA˜3“<Ð Ü ‹9Ðr,sremoves(pattern)cóH—t|td««}t|||d«S)zÏChangesets which remove files matching pattern. The pattern without explicit kind like ``glob:`` is expected to be relative to the current directory and match against a file or a directory. sremoves requires a patternÚremovedrÃrÆs r*ÚremovesrÔes'€ô �A”qÐ6Ó7Ó 8€CÜ �t˜V S¨)Ó 4Ð4r,s rev(number)cód— t|||«S#tj$r t«cYSwxYw)z+Revision with the given numeric identifier.)Ú_revrr1rBrås r*r0r0rs3€ðÜ�D˜& !Ó$Ð$øÜ × Ñ òÜ‹yÒðús ‚ �/®/s _rev(number)có˜—t|ddtd««} tt|dtd«««}|tvr |jj|«|t|g«zS#tt f$rt jtd««‚wxYw#t$r"t jtd«|z«‚wxYw)Nrsrev requires one argumentrsrev requires a numbersrev expects a numbersunknown revision '%d')rrr¹rÄrºrUrr$r?rQrJr�r1rB)r'r(r)rƒs r*rÖrÖ{sÊ€ô ��1�aœÐ7Ó8Ó9€Að;ä ” ˜!˜A™$¤Ð":Ó ;Ó<Ó =ˆð ” Ñð IØ �N‰N× Ñ  Ô "ð ”G˜Q˜C“LÑ Ð øô ”zÐ "ò;ä×ÑœqÐ!8Ó9Ó:Ð:ð;ûô ò IÜ×'Ñ'¬Ð*BÓ(CÀaÑ(GÓHÐ Hð Iús™!A-ÁBÁ-.BÂ+C s revset(set)có—t||||«S)aStrictly interpret the content as a revset. The content of this special predicate will be strictly interpreted as a revset. For example, ``revset(id(0))`` will be interpreted as "id(0)" without possible ambiguity with a "id(0)" bookmark or tag. )r+r&s r*ÚrevsetpredicaterÙŽs€ô �$˜  5Ó )Ð)r,smatching(revision [, field])c ó‡‡ ‡ ‡‡—t|ddtd««}t‰t‰«|d«Šdg}t |«dkDr&t |dtd««j «}g}|D]4}|dk(r|gd¢z }Œ|dk(r|d dgz }Œ|d k(rd }|j|«Œ6t|«}d |vrd |vr|jd «gd¢Š ˆ fd„}t|«}|j|¬«gŠ ˆfd„ˆfd„ˆfd„ˆfd„ˆfd„ˆfd„ˆfd„ˆfd„ˆfd„ˆfd„dœ }|D]H} |j| d«} | €!tjtd«| z«‚‰ j| «ŒJˆ fd„Šˆ ˆˆfd„} |j| d |‰f¬!«S)"aóChangesets in which a given set of fields match the set of fields in the selected revision or set. To match more than one field pass the list of fields to match separated by spaces (e.g. ``author description``). Valid fields are most regular revision fields and some special fields. Regular revision fields are ``description``, ``author``, ``branch``, ``date``, ``files``, ``phase``, ``parents``, ``substate``, ``user`` and ``diff``. Note that ``author`` and ``user`` are synonyms. ``diff`` refers to the contents of the revision. Two revisions matching their ``diff`` will also match their ``files``. Special fields are ``summary`` and ``metadata``: ``summary`` matches the first line of the description. ``metadata`` is equivalent to matching ``description user date`` (i.e. it matches the main metadata fields). ``metadata`` is the default field which is used when no fields are specified. You can match more than one field at a time. rrnsmatching takes 1 or 2 argumentsrsmetadatas1matching requires a string as its second argument)óuseró descriptionódateódiffófilesóauthorrÛósummaryrÜ) óphaseóparentsrÛrÝóbranchrárßrÜósubstaterÞcó\•— ‰j|«S#t$rt‰«cYSwxYwr6)ÚindexrUr[)r¯Ú fieldorders €r*Ú fieldkeyfunczmatching..fieldkeyfuncäs2ø€ð #Ø×#Ñ# AÓ&Ð &øÜò #ä�z“?Ò "ð #ús ƒ”+ª+)Úkeycó*•—‰|j«Sr6rür\s €r*r¬zmatching..òóø€˜4 ™7Ÿ<™<œ>r,có*•—‰|j«Sr6©rr\s €r*r¬zmatching..ósø€˜T !™WŸ^™^Ô-r,có*•—‰|j«Sr6r‡r\s €r*r¬zmatching..ôrìr,có*•—‰|j«Sr6rŽr\s €r*r¬zmatching..õsø€ $ q¡'×"5Ñ"5Ô"7r,có*•—‰|j«Sr6)rHr\s €r*r¬zmatching..öóø€˜D ™GŸM™MœOr,có*•—‰|j«Sr6)r8r\s €r*r¬zmatching..÷sø€˜d 1™gŸo™oÔ/r,có*•—‰|j«Sr6)r­r\s €r*r¬zmatching..øròr,có"•—‰|jSr6)Úsubstater\s €r*r¬zmatching..ùsø€˜t A™w×/Ò/r,cóL•—‰|j«j«dSrP)r�Ú splitlinesr\s €r*r¬zmatching..ús ø€˜d 1™g×1Ñ1Ó3×>Ñ>Ó@ÀÒCr,c 󀕗t‰|jtj‰jddi«¬««S)NsgitT)r¡)r`r¦r Ú diffalloptsrµr\s €r*r¬zmatching..ûs1ø€œ4Ø �‰G�L‰Lœh×2Ñ2°4·7±7¸VÀT¸NÓKˆLÓ Lô r,) rÛrärÝrÜrßrãrârårárÞNs,unexpected field name passed to matching: %scó:•—‰D�cgc] }||«‘Œ c}Scc}wr6r")r2r¯Ú getfieldfuncss €r*r¬zmatching.. sø€¡}Ó5¡} !™˜1� }Ò5ùÒ5s†cóx•—‰D]4}‰|«}d}t‰«D]\}}||||«k7sŒd}Œ|sŒ4yyr)Ú enumerate) r)r0r¬rrMr¯rüÚgetinfor—s €€€r*rOzmatching..matches sPø€ÛˆCÙ˜S“\ˆF؈EÜ! -Ö0‘��1ؘ!‘9¡ !£Ó$Ø!‘Eð1òÙððr,srÿ)rrr+rAr[rÄÚsplitr›rèr9r`Úsortr rr$r)r'r(r)rƒÚ fieldlistÚfieldsrLréÚ_funcsÚinfoÚgetfieldrOrèrürÿr—s` @@@@r*Úmatchingr™s¸ü€ô4 ��1�aœÐ=Ó>Ó?€Aä �$œ  DÓ)¨1¨Q©4Ó 0€Dà� €IÜ ˆ1ƒv�‚zÜØ ˆa‰Dä ÐBÓ Có ÷ ‰%‹'ð ð€FÛˆØ �KÒ Ø Ò8Ñ 8‰FØ �gÒ ð �x Ð)Ñ )‰Fà˜ Ò!Ø�Ø �M‰M˜%Õ ðô�‹[€FØ�VÑ °&Ñ 8à�‰�zÔ"ò €Jô#ô�&‹\€FØ ‡K�K�L€KÔ!ð€Mã)Û-Û)Û7Û+Û/Û+Û/ÛCó ñ €FóˆØ—:‘:˜d DÓ)ˆØ Ð Ü×"Ñ"äÐAÓBØñóð ð ×јXÕ&ðó6€Gö ð �=‰=˜Ð,>ÀÈÐ+Mˆ=Ó NÐNr,s reverse(set)cóT—t||||«}|tk(r|j«|S)zReverse order of set.)r+r\rQ)r'r(r)r#rƒs r*rQrQ s*€ô ˆt�V˜Q Ó&€AØ ” ÒØ � ‰ Œ Ø €Hr,s roots(set)c󚇇‡—t‰t‰«|«Š‰jjŠˆˆˆfd„}|‰j |d¬«zS)z2Changesets in set with no parent changeset in set.cóÈ•— ‰|«D]}d|ksŒ |‰vsŒy y#tj$r0‰dj«D]}|j«‰vsŒYyYywxYw)NrFT©rròr8r0)r2rpr8r'r˜s €€€r*rzroots..filter* snø€ð !Ù˜Q–Z�ؘ“6˜a 1šfÙ ñ ðøô ×$Ñ$ò !ؘ$‘Z×'Ñ'Ö)�Ø—5‘5“7˜a’<Ú ñ*ðð  !ús'ƒ”™›ž;A!ÁA!ÁA!Á A!srÿ)r+rArQrñr)r'r(r)rr8r˜s` @@r*r’r’$ sFú€ô ˆt”[ Ó&¨Ó*€AØ�n‰n×'Ñ'€Gö ð �A—H‘H˜V¨j�HÓ9Ñ 9Ð9r,iÿÿÿcó6—|jtt«Sr6)ÚrandintÚMININTÚMAXINT)rîÚgens r*Ú pick_randomr< s€à �;‰;”vœvÓ &Ð&r,có"—|j«Sr6rî©rîs r*r¬r¬C s €˜Ÿ™œr,có"—|j«Sr6rŽrs r*r¬r¬D s €�q—}‘}”r,có"—|j«Sr6rürs r*r¬r¬E s €�q—v‘v”xr,có"—|j«Sr6rürs r*r¬r¬F s €˜Ÿ™œr,có(—|j«dSrPr‡rs r*r¬r¬G s€�q—v‘v“x ’{r,)órevräsdescrÛràrÝsnodeórandomcóX—t|dd«}d|vrtjtd««‚d}d|vrt |dtd««}g}|j «D]p}|}|j d«}|r|d d }|tvr9|d k7r4tjtd «tj|«z«‚|j||f«Œrt|«d kDr0td „|D««rtjtd««‚i}d|vr9td„|D««r |d|d<ntjtd««‚d|vrPtd„|D««r |d}t |td««} | |d<ntjtd««‚|d||fS)z5Parse sort options into (set, [(key, reverse)], opts)ssorts%set keys topo.firstbranch random.seedrÙs"sort requires one or two argumentsrskeysssort spec must be a stringó-rNótoposunknown sort key %rc3ó,K—|] \}}|dk(–—Œy­w©rNr"©r@r¤rQs r*rAz_getsortargs..h sèø€Ð IÁ±*°!°W  g¥Áùó‚s7topo sort order cannot be combined with other sort keysótopo.firstbranchc3ó,K—|] \}}|dk(–—Œy­wrr"rs r*rAz_getsortargs..p sèø€Ð7©h¡   7ˆq�G�|©hùr s>topo.firstbranch can only be used when using the topo sort keyó random.seedc3ó,K—|] \}}|dk(–—Œy­w)rNr"rs r*rAz_getsortargs..| sèø€Ð9±¡* ! Wˆq�I�~±ùr srandom.seed must be a strings;random.seed can only be used when using the random sort key) rµrr$rrÄrr-Ú _sortkeyfuncsrÚbytestrr›r[rI) r)r¸r{Úkeyflagsr¤ÚfkrQr¡r˜Úseeds r*Ú _getsortargsr*M sÔ€ä Ø ØØ0ó €Dð �TÑä×ÑœqÐ!FÓGÓHÐHØ €DØ�$�䘘g™¬Ð*GÓ(HÓIˆà€HØ �Z‰ZŽ\ˆØ ˆØ—,‘,˜tÓ$ˆÙ Ø�!�"�ˆAØ ”MÑ ! a¨7¢lÜ×"Ñ"ÜÐ(Ó)¬H×,<Ñ,<¸RÓ,@Ñ@óð ð �‰˜˜G˜ Õ%ðô ˆ8ƒ}�qÒœSÑ IÁÓ IÔIä×ÑÜ ÐHÓ Ió ð ð €DؘdÑ"Ü Ñ7©hÓ7Ô 7Ø(,Ð-@Ñ(AˆDÐ$Ò %ô×"Ñ"Üð4óóð ð˜ÑÜ Ñ9±Ó9Ô 9Ø�^Ñ$ˆAܘQ¤Ð"AÓ BÓCˆDØ#'ˆD�Ò ô×"Ñ"Üð6óóð ð �‰<˜ 4Ð 'Ð'r,ssort(set[, [-]key... [, ...]])c󇇗t|«\}}}t‰|||«}|r |tk7r|St|«dk(r%|dddk(r|j |dd¬«|S|dddk(rxd}‰j j Љ} t|vrˆˆfd„} d|vrt‰||d«}ttj|| |«d ¬ «}|ddr|j«|S|D� cgc]} ‰| ‘Œ } } t|«D][\} } t| }| d k(r5d |vr1|d }tj|«} t!j"|| ¬ «}| j || ¬«Œ]t| D�cgc]}|j%«‘Œc}«Scc} wcc}w)aZSort set by keys. The default sort order is ascending, specify a key as ``-key`` to sort in descending order. The keys can be: - ``rev`` for the revision number, - ``branch`` for the branch name, - ``desc`` for the commit message (description), - ``user`` for user name (``author`` can be used as an alias), - ``date`` for the commit date - ``topo`` for a reverse topographical sort - ``node`` the nodeid of the revision - ``random`` randomly shuffle revisions The ``topo`` sort order cannot be combined with other sort keys. This sort takes one optional argument, ``topo.firstbranch``, which takes a revset that specifies what topographical branches to prioritize in the sort. The ``random`` sort takes one optional ``random.seed`` argument to control the pseudo-randomness of the result. rrr)rQrr"c󲕗 ‰|«S#tj$r8‰dj«D�cgc]}|j«‘Œncc}wc}cYSwxYwr6r )r2rprñr's €€r*Ú parentsfunczsort..parentsfunc³ sTø€ðCÙ% a›=Ð(øÜ×,Ñ,òCØ-1°$©Z×-?Ñ-?Ô-AÓBÑ-A¨˜AŸE™E�GÑ-AùÔBÒBðCúsƒ ‹(A³A Á AÁAr!T)Úistoporr#)r)rêrQ)r*r+r\r[rrQrñr rBr ÚtoposortrQÚreversedr%ÚrandomÚRandomÚ functoolsÚpartialr0)r'r(r)r#r˜r'r¡r—Ú firstbranchr-r2Úctxsr¤rQr°r)rîrñs` @r*rrŒ s¡ù€ô2% Q›Ñ€A€x�Ü �$˜  5Ó )€Dá �u¤ Ò+؈ Ü ˆ8ƒ}˜Ò˜h q™k¨!™n°Ò6Ø � ‰ ˜( 1™+ a™.ˆ Ô)؈ Ø �!‰�Q‰˜7Ò "؈ Ø—^‘^×.Ñ.ˆ Ø ˆ Ü �d‰?õ Cð  $Ñ &Ü   v¨tÐ4GÑ/HÓIˆKÜÜ �N‰N˜4 ¨kÓ :Øô ˆð �A‰;�qŠ>Ø �L‰LŒN؈ ñ"Ó "™T˜ˆD�‹G˜T€DÐ "ܘxÖ(‰ ˆˆ7ܘQÑˆØ � Š>˜n°Ñ4ؘÑ'ˆDÜ— ‘ ˜dÓ#ˆAÜ×$Ñ$ T¨qÔ1ˆDØ � ‰ �d Gˆ Õ,ð )ô ¡TÓ*¡T �A—E‘E•G TÑ*Ó +Ð+ùò #ùò+s Ã' FÅ'F ssubrepo([pattern])c󸇇‡‡—t|ddtd««}dŠt|«dk7rt|dtd««Št j dg«Šˆfd„Šˆˆˆˆfd„}|j |d ‰f¬ «S) z„Changesets that add, modify or remove the given subrepo. If no subrepo pattern is named, any subrepo changes are returned. rrs"subrepo takes at most one argumentNssubrepo requires a patterns .hgsubstatec3óh•K—tj‰«\}}}|D]}||«sŒ |–—Œy­wr6)rr)rjr¤rprLrrÇs €r*Ú submatcheszsubrepo..submatchesÜ s3øèø€Ü×*Ñ*¨3Ó/‰ˆˆ1ˆaÛˆDÙ��wØ“ ñùsƒ'2«2cóD•—‰|}‰j|j«j«|j«‰¬«}‰€(|jxs|jxs |j S|jr)t ‰|jj«««S|jr®t|j«jj««}|j|jj««‰|«D]I}|j«jj|«|jj|«k7sŒIy|j r7t ‰|j«jj«««Sy)N)rTF) r rórJrÂrfrÓrIrör{rèrœr ) r)rîr˜ÚsubsrrLrÇr'r9s €€€€r*rOzsubrepo..matchesâ sø€Ø �‰GˆØ �K‰K˜Ÿ™›Ÿ ™ ›  q§v¡v£x°qˆKÓ 9ˆà ˆ;Ø—7‘7Ò5˜aŸj™jÒ5¨A¯I©IÐ 5à �7Š7Ü‘z !§*¡*§/¡/Ó"3Ó4Ó5Ð 5à �:Š:Ü�q—t‘t“v—‘×+Ñ+Ó-Ó.ˆDØ �K‰K˜Ÿ ™ Ÿ™Ó)Ô *á" 4Ö(�Ø—4‘4“6—?‘?×&Ñ& tÓ,°· ± ·±¸tÓ0DÓDÙð)ð �9Š9Ü‘z !§$¡$£&§/¡/×"6Ñ"6Ó"8Ó9Ó:Ð :àr,s rÿ)rrr[rÄrDÚexactr)r'r(r)r¸rOrLrÇr9s` @@@r*Úsubrepor=Ï svû€ô �1�a˜œAÐCÓDÓ E€DØ €CÜ ˆ4ƒy�A‚~ܘ˜Q™¤Ð#@Ó!AÓBˆä�‰˜Ð'Ó(€Aô÷ ð. �=‰=˜¨O¸SÐ+Aˆ=Ó BÐBr,cóH‡—|j«j}|jj}|jŠ|ˆfd„|D««D�chc] }||«’Œ }}|j d«t j||jjz «Scc}w)zà(repo, smartset, [node] -> [node]) -> smartset Helper method to map a smartset to another smartset given a function only talking about nodes. Handles converting between rev numbers and nodes, and filtering. c3ó.•K—|] }‰|«–—Œy­wr6r")r@r2Útonodes €r*rAz!_mapbynodefunc.. søèø€Ð!7±Q°¡&¨§)±QùrBN) Ú unfilteredrQrçÚget_revrJr9rrBÚ filteredrevs)r'r˜r¯rõÚtorevrMrzr@s @r*Ú_mapbynodefuncrEü s…ø€ð �‰Ó × $Ñ $€BØ �H‰H× Ñ €EØ �W‰W€FÙ !Ó!7±QÓ!7Ô 7Ó 8Ñ 7˜1‰e�A�hÐ 7€FÐ 8Ø ‡N�N�4ÔÜ × Ñ ˜F T§^¡^×%@Ñ%@Ñ@Ó AÐAùò9sÁBssuccessors(set)có^‡—t‰t‰«|«}ˆfd„}t‰||«}||zS)zNAll successors for set, including the given set themselves. (EXPERIMENTAL)cóD•—tj‰j|«Sr6)rÚ allsuccessorsÚobsstore)rmr's €r*r¬zsuccessors.. sø€”g×+Ñ+¨D¯M©M¸5ÔAr,)r+rArE)r'r(r)r˜r¯Úds` r*Ú successorsrK s5ø€ô ˆt”[ Ó&¨Ó*€AÛA€AÜ�t˜Q Ó"€AØ �A‰:Ðr,có’‡—tj‰|¬«\}Š}|dk(r"|stj‰«Šˆfd„}nˆfd„}|‰|fS)Nrùrcó2•—‰tj|«vSr6rE©r˜rs €r*r¬z#_substringmatcher.. sø€ ¬8¯>©>¸!Ó+<Ñ . s ø€ ¨1¡ r,)rrr r)rrúrrþs` r*rr sQø€Ü'×5Ñ5ؘ}ôÑ€Dˆ'�7ð ˆzÒÙÜ—n‘n WÓ-ˆGÛ<‰Gã,ˆGØ �˜'Ð !Ð!r,s tag([name])cóŠ—t|ddtd««}|j}|r×t|dtd««}t j |«\}}}|dk(rb|j jj|d«}|€!tjtd«|z«‚||j«h} || zS|j«D� � chc]\} } || «sŒ|j| «’Œ!} } } || zS|j«D� � chc]\} } | dk7sŒ |j| «’Œ} } } || zScc} } wcc} } w) z¢The specified tag by name, or all tagged revisions if no name is given. Pattern matching is supported for `name`. See :hg:`help revisions.patterns`. rrstag takes one or no argumentss$the argument to tag must be a stringrNstag '%s' does not existstip) rrrQrÄrrÚ _tagscacheÚtagsr rr1r0Útagslist) r'r(r)r¸rõrrrþÚtnr˜rFrMs r*ÚtagrU" s>€ô �1�a˜œAÐ>Ó?Ó @€DØ �‰€BÙ ÜØ �‰Gä Ð5Ó 6ó ˆô ",×!9Ñ!9¸'Ó!Bшˆg�wØ �:Ò à—‘×%Ñ%×)Ñ)¨'°4Ó8ˆB؈zÜ×+Ñ+ÜÐ0Ó1°GÑ;óðð�b‘—‘“Ð ˆAð �A‰:Ðð(,§}¡}¤ÔE¡™t˜q !¹'À!½*�—‘˜• ˆAÑEð �A‰:Ðð$(§=¡=¤?Ô B¡?™4˜1˜a°a¸6³kˆR�V‰V�A�Y ?ˆÑ BØ �A‰:ÐùóFùã BsÃD9Ã"D9Ä D?ÄD?staggedcó—t|||«Sr6)rUrås r*ÚtaggedrWB s€ä ˆt�V˜QÓ Ðr,sorphan()cóf—t|ddtd««tj|d«}||zS)z?Non-obsolete changesets with obsolete ancestors. (EXPERIMENTAL)rsorphan takes no argumentsóorphanr1)r'r(r)Úorphans r*rZrZG s2€ô ˆAˆq�!”QÐ3Ó4Ô5Ü �^‰^˜D )Ó ,€FØ �F‰?Ðr,s unstable()có,—t|ddd«t«}|jtj|d««|jtj|d««|jtj|d««|t |«zS)z-Changesets with instabilities. (EXPERIMENTAL)rsunstable takes no argumentsrYr0r¹)rrèrœr2r3rB)r'r(r)Ú _unstables r*Úunstabler]P sw€ô ˆAˆq�!Ð3Ô4Ü“€IØ ×Ñ”V—^‘^ D¨)Ó4Ô5Ø ×Ñ”V—^‘^ DÐ*;Ó<Ô=Ø ×Ñ”V—^‘^ DÐ*=Ó>Ô?Ø ”G˜IÓ&Ñ &Ð&r,s user(string)có—t|||«S)z–User name contains string. The match is case-insensitive. Pattern matching is supported for `string`. See :hg:`help revisions.patterns`. )rrås r*rýrý\ s€ô �$˜ Ó "Ð"r,swdir()có”—t|ddtd««t|vst|t«rt tg«St «S)z!Working directory. (EXPERIMENTAL)rswdir takes no arguments)rrr r@rArBrås r*Úwdirr`f s>€ô ˆAˆq�!”QÐ1Ó2Ô3Ü�&ÑœJ v¬{Ô;Üœ�yÓ!Ð!Ü ‹9Ðr,có¼—t|d«}|s t«S|j}g}t«}|j d«D]m} t |«}d|z|k7s||vrt ‚|g} | D]E}||vrŒ||vs|tvr!t|t«r|j|«|j|«ŒGŒot|«S#t $rt|||t«} YŒtwxYw)Nóinternal errorós%d)rÄrBrQrèrr¹rUrCr\r?r@rAr›rë) r'r(r)r˜rõr5ÚseenrFr2r—s r*Ú _orderedlistrep sâ€Ü�!Ð&Ó'€AÙ Ü‹yÐð �‰€BØ €BÜ ‹5€DØ �W‰W�UŽ^ˆð ;ä�A“ˆAؘ‘ ˜aÒ 1¨B¡;Ü Ð Ø�3ˆDóˆAØ�D‰yØà�V‘ Øœ Ñ$ܘv¤{Ô3à— ‘ ˜!” Ø �H‰H�Q�Kñðô( �2‹;Ðøôò ;ܘT 6¨1¬kÓ:ŠDð ;úsÁ B=Â=CÃCs_listcó`—|tk(r|t|t|«|«zSt|||«Sr6)rErerAr&s r*Ú_listrg‘ s2€à ” Òàœ  T¬;°tÓ+<¸aÓ@Ñ@Ð@ä˜D &¨!Ó,Ð,r,cóÔ—t|d«}|s t«S|jd«D�cgc] }t|«‘Œ}}|}t|D�cgc] }||vsŒ|‘Œ c}«Scc}wcc}w©Nrbrc)rÄrBrr¹)r'r(r)r˜r2r5s r*Ú_orderedintlistrjš sg€Ü�!Ð&Ó'€AÙ Ü‹yÐØŸ'™' %œ.Ó )™.�QŒ#ˆa�&˜.€BÐ )Ø€AÜ ™rÓ,™r˜! Q¨!¢V’A˜rÑ,Ó -Ð-ùò *ùâ,s¬A Á A%ÁA%s_intlistcó`—|tk(r|t|t|«|«zSt|||«Sr6)rErjrAr&s r*Ú_intlistrl¤ ó2€à ” Òàœ¨¬k¸$Ó.?ÀÓCÑCÐCä˜t V¨QÓ/Ð/r,có —t|d«}|s t«S|j}|jd«D�cgc]}|j t |««‘Œ}}|}t|D�cgc] }||vsŒ|‘Œ c}«Scc}wcc}wri)rÄrBrQrr0r)r'r(r)r˜rõr2r5s r*Ú_orderedhexlistro­ sx€Ü�!Ð&Ó'€AÙ Ü‹yÐØ �‰€BØ"#§'¡'¨%¤.Ó 1¡.˜Qˆ"�&‰&”�Q“�. .€BÐ 1Ø€AÜ ™rÓ,™r˜! Q¨!¢V’A˜rÑ,Ó -Ð-ùò 2ùâ,s¸!A;Á& BÁ0Bs_hexlistcó`—|tk(r|t|t|«|«zSt|||«Sr6)rErorAr&s r*Ú_hexlistrq¸ rmr,srangerˆsrangepres rangepostsdagranger.ssymbolsands andsmallyóorsnots differencesrelations relsubscripts subscriptólistskeyvalue)sfuncsancestorsparents parentpostssmartset)ógs generationscó‡—ˆfd„}|S)Ncó�•— tj‰|«S#tj$rtjd|z«‚wxYw)Ns!ambiguous revision identifier: %s)rÚ isrevsymbolrÚAmbiguousPrefixLookupErrorÚ InputError)Úsymbolr's €r*r«zlookupfn..fnæ sKø€ð Ü×&Ñ& t¨VÓ4Ð 4øÜ×/Ñ/ò Ü×"Ñ"Ø4°vÑ=óð ð ús ƒ™,Ar")r'r«s` r*Úlookupfnr{å sø€ôð €Ir,có —t||g|¬«S)z+Create a matcher for a single revision spec)r‘)Úmatchany)rµÚspecr‘s r*rrñ s€ä �B˜˜ vÔ .Ð.r,cóV‡—|sd d„}|St|«stjtd««‚t |«dk(rt j |d‰«}nddtˆfd„|D««zf}g}d}|r,|j|jd ««|j}|r|j|j««|rt j|||¬ «}t j|«}t j|«}t j|«}t!|«S) aeCreate a matcher that will include any revisions matching one of the given specs If lookup function is not None, the parser will first attempt to handle old-style ranges, which may contain operator characters. If localalias is not None, it is a dict {name: definitionstring}. It takes precedence over [revsetalias] config section. Ncó—t«Sr6)rB)r'r(s r*Úmfunczmatchany..mfunc s €Ü“9Ð r,s empty queryrrrr)rsc3óJ•K—|]}tj|‰«–—Œy­wr6)rÚparse)r@r˜r‘s €r*rAzmatchany.. søèø€ÐJÁE¸qœz×/Ñ/°°6×:ÁEùsƒ #s revsetalias)Úwarnr6)Úallrr$rr[rrƒÚtupleråÚ configitemsr„r®Ú expandaliasesÚ foldconcatÚanalyzeÚoptimizeÚ makematcher)rµÚspecsr‘Ú localaliasr�ÚtreeÚaliasesr„s ` r*r}r}ö sø€ñ ó ðˆ Ü ˆuŒ:Ü×Ñœq Ó0Ó1Ð1Ü ˆ5ƒz�Q‚Ü×Ñ  a¡¨&Ó1‰ð Ø œÓJÁEÓJÓJÑ Jð ˆð €GØ €DÙ Ø�‰�r—~‘~ nÓ5Ô6Ø�w‰wˆÙØ�‰�z×'Ñ'Ó)Ô*ÙÜ×'Ñ'¨¨g¸DÔAˆÜ × Ñ  Ó &€DÜ × Ñ ˜dÓ #€DÜ × Ñ ˜tÓ $€DÜ �tÓ Ðr,có‡—dˆfd„ }|S)z)Create a matcher from an evaluatable treecó\•—|€|€t}nt}|€ t|«}t||‰|«Sr6)r\rErAr+)r'r(r#r�s €r*r�zmakematcher..mfunc" s7ø€Ø ˆ=؈~Ü#‘ä#�Ø ˆ>Ü  Ó&ˆFÜ�d˜F D¨%Ó0Ð0r,r�r")r�r�s` r*rŒrŒ sø€õ1ð €Lr,cóž—|jj«D]0\}}|t|<|jsŒtj |«Œ2y)z2Load revset predicates from specified registrarobjN)Ú_tabler®r­Ú_safeÚ safesymbolsrë)rµÚextnameÚ registrarobjrr°s r*Ú loadpredicater™/ s;€à"×)Ñ)×/Ñ/Ö1‰ ˆˆdØŒ�‰ Ø �:‹:Ü �O‰O˜DÕ !ñ2r,)FNN)F)Tr6r�)Ïrtr3r1r±Úi18nrrrrJrrr rir r r r rrr©rrrDrr2rrrrrrrrrr´rÚutilsrrr ryrÄrßrýrtr�rrµrBrþrZrAr?rcr\rEr+r4r;rCrFrNrSrUrWrHr`rfrhrlrorurwrr†r‹r‰r›ržr¢r¦r°r­rèr–rÙÚ predicater¹r½rÈrÎrÖrárærïrörr rrrr4r9rÅrWrêr]rcrerprtr{r„rˆr�r“r•r—r r·rºrÀrÄrÇr/rÚrIrêrírðrrrr,r/r6rÕrArHrÜrJrWr^rcrUrgrpr r{r}r„rŠršrórVrŸr8r§rªr­r¯r²r»r½rÁrËrÍrÑrÔr0rÖrrQr’rrrr=Úbinnoder%r*rr=rErKrrUrWrZr]rýr`rergrjrlrorqr%rzršr{r}rŒr™rÚ i18nfunctionsr"r,r*ÚrŸs× ðóÛÛ Û åÝ÷ñ÷ ÷÷÷÷ó÷,ñð × Ñ € Ø × Ñ € Ø × "Ñ "€ Ø × "Ñ "€ Ø × Ñ €Ø×$Ñ$€ Ø × Ñ €Ø×$Ñ$€ à × Ñ €Ø×$Ñ$€ Ø × Ñ €Ø×"Ñ"€ ð˜Ð!€ ðP €Ø€ Ø€ ð #.ó<ò ò>òòòCòJò ;òòò&òCòCòNòò3ò6ò 1ò!ò>=ò ò< 1òHòòMò +ð, × Ñ €ñ ‹e€ à %ˆI× %Ñ %Ó '€ ñ ˆ>Óñóðñ ˆ=ÓñMóðMñ Ð  $¨rÔ2ñ 3ó3ð 3ñ Ð "¨°cÔ:ñó;ðð,DHôñ Ð %¨DÔ1ñó2ðñ> Ð  DÔ)ñ9ó*ð9ò ò(ñ* Ð  4°Ô3ñó4ðñ Ð  4Ô(ñó)ðñ& ˆ;˜TÔ"ñ#ó#ð#ñ Ð  TÔ*ñ"ó+ð"ñJ Ð #¨$°rÔ:ñ0ó;ð0ñf Ð  TÔ*ñ #ó+ð #ñ ˆ;˜TÔ"ñ ó#ð ò"òJñ" Ð  $Ô'ñó(ðñ ˆ;˜T¨"Ô-ñó.ðñ Ð '¨dÔ3ñ "ó4ð "ñ Ð "¨Ô.ñó/ðñ Ð  DÔ)ñ ó*ð ñ Ð  DÔ)ñ ó*ð ñ Ð ¨Ô,ñDó-ðDñ6 Ð  DÔ)ñó*ðñ0 Ð  4°Ô3ñó4ðñ ˆ? ¨bÔ1ñ ó2ð ð"DHôñ Ð '¨dÔ3ñó4ðñB Ð  dÔ+ñ;ó,ð;ñ  Ð  t°BÔ7ñ,ó8ð,ñ^ Ð #¨CÔ0ñ&Mó1ð&MñR Ð  tÔ,ñ%ó-ð%ñ Ð %¨D¸DÔAñ(óBð(ñV Ð  E°#Ô6ñ "ó7ð "ñ ˆ<˜dÔ#ñó$ðñ Ð #¨$Ô/ñó0ðñB Ð  TÔ*ñ<ó+ð<ñ~ Ð  D°DÀÔCñ)óDð)ô ñ6 Ð (¨tÔ4ñ/ó5ð/ñ ˆ? Ô&ñGó'ðGñ ØFØ ôñBó ðBñJ Ð Ó!ñ(ó"ð(ñ0 ˆ8˜$Ôñ"ó ð"ñ ˆ> "Ô%ñGó&ðGñ. ˆ> Ô%ñWó&ðWñt Ð  $¨rÔ2ñ ?ó3ð ?ñ ˆ9˜4Ô ñ ó!ð ñ ˆ=˜t¨tÔ4ñó5ðñ( ˆ;˜TÔ"ñó#ðñ Ð  D°Ô4ñBó5ðBñ( Ð '¨d¸dÈ1ÔMñóNðñ. Ð  4°4Ô8ñó9ðñ& ˆ;˜TÔ"ñ ;ó#ð ;ñ ˆ:˜DÔ!ñ 7ó"ð 7ñ Ð  $Ô'ñó(ðñ( ˆ;˜TÔ"ñ ;ó#ð ;ñ Ð  d°2Ô6ñ 6ó7ð 6ñ Ð Óñ"ó ð"òJñ, ˆ=˜tÔ$ñ ó%ð ñ ˆ9˜4Ô ñó!ðñ ˆ=˜tÔ$ñó%ðñ Ð  TÔ*ñó+ðñ: Ð  $Ô'ñó(ðñ@ Ð  U°2Ô6ñ)ó7ð)ñX ˆ<˜dÔ#ñó$ðñ* ˆ<˜dÔ#ñó$ðò6ñ Ð  4Ô(ñó)ðò(=ñ  ˆ> Ô%ñ=ó&ð=ñ  ˆ> Ô%ñ(ó&ð(ñ  ˆ:˜DÔ!ñ(ó"ð(ñ ˆ;˜TÔ"ñ(ó#ð(ñ Ð  $Ô'ñ ó(ð òñD ˆ? °Ô6ñ ó7ð ñ ˆ=˜tÔ$ñ;ó%ð;ñ  Ð 0°tÔ<ñó=ðñ< ˆ;˜TÔ"ñ/ó#ð/ñ Ð "¨Ô/ñ ó0ð ñF Ð  T°"Ô5ñ 5ó6ð 5ñ ˆ> Ô%ñó&ðñ ˆ? Ô&ñ!ó'ð!ñ$ ˆ> °Ô5ñ*ó6ð*ñ Ð *°Ô6ñ~Oó7ð~OñB ˆ? °¸aÔ@ñ óAð ñ ˆ=˜tÔ$ñ:ó%ð:ð& €Ø ˆ�1‰€ðó'ð �NŠNÙ#Ù &Ù Ù!Ù "Ø �_Š_Øñ € ò<(ñ~ Ø%¨D¸DÈôñ=,óð=,ñ@ Ð Ó!ñ)Có"ð)CòX Bñ Ð  DÔ)ñó*ðô "ñ ˆ> Ô%ñó&ðñ> ˆ9˜4Ô ñ ó!ð ñ ˆ;˜TÔ"ñó#ðñ ˆ=˜tÔ$ñ'ó%ð'ñ ˆ? ¨bÔ1ñ#ó2ð#ñ ˆ9˜4¨Ô*ñó+ðòñB ˆ8˜$¨$Ô/ñ-ó0ð-ò.ñ ˆ;˜T¨T¸!Ô<ñ0ó=ð0ò.ñ ‰;˜T¨TÔ2ò0ó3ð0ð Ù ˆhð á�ð ñ�ð ñ�)ð  ñ �ð  ñ ˆyð  ñˆyð ñ ˆFð ñ�,ð ñ ˆ5ð ñ ˆFð ñ�=ð ñ�ð ñ�_ð ñ�,ð ñ  ˆWð! ñ"�ð# ð$ØØØØó- €ð4 Ø"ò € ð Ø%òÐó õ/õ &óR ó "ñˆd�D˜)Ô$ð—’Ó � r,