o ]Lb@sVddlmZddlZddlZddlZddlmZmZddlm Z ddl m Z m Z m Z mZmZmZmZmZmZmZmZmZmZmZmZmZddlmZddlmZmZd d d ed ed ed hZ ej!j"ej!j#ej!j$ej!j%ej!j&ej!j'ej!j(ej!j)ej!j*ej!j+ej!j,ej!j-ej!j.g Z/ej!j"d ej!j#d ej!j$dej!j(dej!j%dej!j&dej!j)dej!j'dej!j*dej!j+dej!j,dej!j-dej!j.di Z0dZ1dZ2dZ3dZ4dZ5dZ6e1e2e3e4e5e6gZ7e1de2d e3d!e4d"e5d#e6d$iZ8dd&d'Z9d(d)Z:d*d+Z;d,d-Zd2d3Z?d4d5Z@dd6d7ZAeBd8ged9eAd8d:d;fdged?eAd>d:d;fd@gedAeAd@d:d;fdBgedCeAdBd:d;fdDgedEeAdDd:d;fdgedFeAdd:d;fdGgedHeAdGd:d;fdIdJgedKeAdId:d;fdLgedMeAdLd:d;fdNgedOeAdNd:d;fdPgedQeAdPd:d;fdRgedSeAdRd:d;fdTgedUeAdTd:d;fdVgedWeAdVd:d;fgZCdXdYZDeBdZged[eAdZe4fd\ged]eAd\e2fdd^ged_eAde3fd`gedaeAd`e5fdbgedceAdbe2fddgedeeAdde3fdfgedgeAdfe1fdhdigedjeAdhe3fgdkedleAdme1fdndogedpeAdne3fdqdrgedseAdqe1fdtgedueAdte2fgdvedweAdxe3fgdyedzeAd{e2fd|ged}eAd|e1fdIged~e:e3fddgedeAde4fdgedeAde3fdgedeAde4fddgedeAde1fdgedeAde4fdgedeAde4fdgedeAde5fd:gedeDe5fdgedeAde3fgZEd:eCiZFiZGddZHdddZIdddZJeJdZdeKeJdqdejLeJdxdejMeJdmdejLeJd{dejNeJd{dejOeJd{dejPeJddejQddddZRdddZSddZTeHdeR %  dddZU dddZVdS))absolute_importN)_gettext)getattr)cmdutilencodingerror extensions fancyopts filemergefilesetminirstpycompat registrarrevsettemplatefilters templatefuncs templatekwuiutil) webcommands) compression resourceutils (ADVANCED)s (DEPRECATED)s(EXPERIMENTAL)sRepository creationsRemote repository managementsChange creationsChange navigationsChange manipulationsChange organizationsWorking directory managementsFile content managementsChange import/exportsRepository maintenancesHelpsMiscellaneous commandssUncategorized commandssidssoutputsconfigsconceptssmiscsnonesMercurial identifierssMercurial outputsMercurial configurationsConceptss MiscellaneoussUncategorized topicsFcslg}|r*tt|D]\}|stfddtDrq |dd||fq |r4|dd||S)z-return a text listing of the given extensionsc3|]}|vVqdSN.0wdescr0/usr/lib/python3/dist-packages/mercurial/help.py zlistexts..s %s:%s: %s  rs %s )sortedr iteritemsany _exclkeywordsappendinsert)headerextsindentshowdeprecatedrstnamerr r"listexts}sr2cCsZtd|d}|ttdtdd|ttdt|jdd |}|S)N extensionsTenabled extensions:r/sdisabled extensions:) loaddoc splitlinesextendr2rr enableddisabledverbosejoin)rr0docrrr"extshelps r?cCsZ|dddkr)d}||}|dkr+||t|d}|d||ddfSdSdS)zdgiven a text 'abc (DEFAULT: def.ghi)', returns (b'abc', (b'def', b'ghi')). Otherwise return NoneN)s (DEFAULT: r.)findlensplit)textmarkerpositemrrr"parsedefaultmarkers rKcsg}d}|D]}t|dkr|\}}} } n |\}}} td} |s.tfddtDr.qd} | durNt} | durN| \\} }|| |rNd} td} d}|rVd |}d |}| durbd |}t| tjrl| } | rt | st | }| durtd }td || 7t| t r|d| 7}d}n| durt| ts|d| 7}|||fq|r|td7}d|g}|t|dd|S)NFsVALUEc3rrrrr rr"r#r$zoptrst..r6Ts from config-s--s--[no-]sons (default: %s)s %s [+]s %ss ([+] can be repeated)s %s: r)rErr(r)rK configbool isinstancer customoptgetdefaultvaluecallablerbytestrlistboolr*r9r maketabler=)r,optionsr<rdata multioccuroptionshortoptlongoptdefaultoptlabeldefaultstrsuffix parseresultsectionr1solo defaultstrr0rr r"optrstsR             recCs(|d||r|d|dSdS)Ns" .. container:: omitted %s s% .. container:: notomitted %s )r*)r0omitted notomittedrrr"indicateomittedsrhcs|js|dr|dkrdS|js4|ssdSt|ddr%t|dds%dSr4tfddtDr4dS|dkr@t|d ds@dS|d d |rJdSdS) NdebugTaliasFowndocc3rrrrr>rr"r#r$zfiltercmd.. shortlist helpbasichelpshidden-command.%s) debugflag startswithr<rr(r)rN)rcmdfunckwr>rrlr" filtercmdsrucCs|dd|dS)Nroshidden-topic.%sF)rN)rtopicrrr" filtertopicsrwc svtfdd}ggggd}tD]4}|dd\}}}tt||s4||s4t|rH|||rH|d} t|| sH|d|d|fqt |j D]M\} } t | dkr^| d} nd} | d} t t | pld}| vsy|| sy||r|}|r|d} t| d}t||| |rqO|d || fqOtt td t tD]\} }|sq| d d } || s||r|d | |dfz t|| d}Wn tyYqwt t|diD]J\} } | vst | dkr7|| dr7t| d}| d} t | }|r t|d}nt d}t||| |r.q|d||fqq|S)zReturn help topics matching kw. Returns {'section': [(name, summary), ...], ...} where section is one of topics, commands, extensions, or extensioncommands. cst|vSr)rlower) containerrtrr" lowercontainssz!topicmatch..lowercontains)topicscommandsr3extensioncommandsrr|rCr6r}FrBr@r3cmdtable(no help text available)r~)rrx helptablesummaprRrwr*rr'tablerErgetdocr8r parsealiasesru itertoolschainr r:r; rpartitionload ImportErrorrr)rcommandsrtr{resultsrvnamesr,r>r1rrentrysummaryrsdocsdoclinescmdnamemodcmddocrrzr" topicmatchs          &  rcsfdd}|S)z+Return a delayed loader for help/topic.txt.csrd}r |d7}t|d}t|}Wdn1s#wYtgD]}|||}q.|S)Nsmercurial.helptextrBs.txt)r open_resourcerread helphooksget)rpackagefpr>rewritersubdirrvrr"loaderMs zloaddoc..loaderr)rvrrrrr"r7Js r7s bid-mergesBid Merge Algorithms internals)rsbundle2sBundle2sbundlessBundlesscborsCBORscensorsCensors changegroupss ChangegroupssConfig Registrars dirstate-v2sdirstate-v2 file formatr3 extensions Extension APIs mergestates Mergestates requirementssRepository Requirementssrevlogss Revision Logss wireprotocols Wire ProtocolswireprotocolrpcsWire Protocol RPCswireprotocolv2sWire Protocol Version 2cCs8ddg}tD]\}}}|d|d|fqd|S)z-Generate the index for the "internals" topic.s>To access a subtopic, use "hg help internals.{subtopic-name}"  :%s: %s rr6)internalstabler*r=)rlinesrr,r>rrr" internalshelps  rs bundlespecsBundle File FormatsscolorsColorizing OutputsshgrcsConfiguration Filess deprecatedsDeprecated Featuressdatess Date FormatssflagssCommand-line flagsspatternssFile Name Patternss environmentsenvsEnvironment Variables) revisionssrevssrevsetssrevsets multirevssmrevssSpecifying RevisionsrsrustsrustextsRust in MercurialsfilesetssfilesetsSpecifying File Setssdiffss Diff Formats) merge-toolss mergetoolss mergetools Merge Toolsr)s templating templatesstemplatesstylesTemplate Usagersurlss URL PathssUsing Additional FeaturesssubreposssubreposSubrepositoriesshgwebsConfiguring hgwebsglossarysGlossaryshgignoresignores!Syntax for Mercurial Ignore FilessphasessWorking with Phasess evolutions'Safely rewriting history (EXPERIMENTAL)s scriptings+Using Mercurial from scripts and automationsTechnical implementation topicsspagers Pager SupportcCst|g|dSr)r setdefaultr*)rvrrrr" addtopichookQsrc sg}t|D]e}t||pdr#|js$tfddtDr$qt|r5t d d }|dg} |ddD]} | drOn|rY| | qD| d | qD|d | qd |}|||S) zExtract docstring from the items key to function mapping, build a single documentation block and use it to overwrite the marker in doc. r6c3rrrrrGrr"r#\r$zmakeitemsdoc..latin1rrNs>>>s rs )r&rrrstripr<r(r)rtextwrapdedentdecodeencoder8striprqr*r=replace) rrvr>rHitemsrentriesr1rrlrrr" makeitemsdocUs&     rcsfdd}t||dS)Ncst|||dS)Nr)r)rrvr>rrHsymbolsrr"addrszaddtopicsymbols..add)r)rvrHrrrrrr"addtopicsymbolsqsrs.. bundlecompressionmarkers.. predicatesmarkers.. internaltoolsmarkers.. keywordsmarkers.. filtersmarkers.. functionsmarkers.. webcommandsmarkerTrcs.d}tjfdd}tdt|||S)Ns.. tweakdefaultsmarkercs fddD}d|S)Ncsg|] }d|qS)r)grouprsmrr" z.inserttweakrc..sub..r)r8r=)rrreplrr"subs zinserttweakrc..subs( *)%s)uimodtweakrcrerescape)rrvr>rHrrrr" inserttweakrcs rcCsi}i}i}t|D]Q\}}t|} | d} | || <|d} |r'|| s'q t| } t|| | || r5q t| } | s?td} | d || <t | ddpRt j j } || g| q |||fS)Nrr helpcategory)rr'rrrrurrr8rrrcommand CATEGORY_NONErr*)rrr1selectcatshsynscefsfrsr>catrrr"_getcategorizedhelpcmdss,     rc Csi}i}|D]6}|dd\}}}t|dkr |dr |d}nt}|d} t||| <t|| s<||g| |fq||fS)Nrr)rETOPIC_CATEGORY_NONErTrwrr*) r topictable topiccatsrrvrr,r>category topicnamerrr"_getcategorizedhelptopicss   rc std$fdd }d$fdd d$fdd } d$fdd } d$fd d g} d } | sJdurtfd dDrtpPd} g}drb|dtdfg7}drp|dtdfg7}|sdtdfdtdfdtdfdtdfg}|D]!\}}| |r| d|| t t | |d| dq| std}td}t j ||dnr/d kr/g}r|g7}dr|| g7}dr||g7}|s| || f}|D]}z||} Wn6t j yYqwr t |r|}n}|r|}n}td!|}td"|}t j ||dnjs9td#dg} | d$itd| S)%z Generate the help for 'name' as unformatted restructured text. If 'name' is None, describe the commands available. Nc sz tj|jd\}}Wn"tjy/}z|jfdd}|}|WYd}~Sd}~wwg}t|dddrd||djd|dj rbz | |dj W|Stj yaY|Sw|St |dkr|ddr{|d |dn|d |d|dfn |d |drjst |d kr|td d|d d|dtt|d}|std}t|ddr|dj}|djdrtd|djd d||f}n td|dj||f}|d}jss||dn| ||dz't|} tt| pd}d|vr6td||f} |d| Wn tyAYnwjsZ|d rZ|ttd|d jjrl|ttdj jjss~|td||Sjs|td|S)N)strictcst|dS)Nr)rrrq)rprefixrr"z(help_..helpcmd..rbadaliasrrCshgs%s s hg %s %s shg %s rs aliases: %s , rs definition!s(shell alias for: %s %s defined by: %s s%alias for: hg %s %s defined by: %s Tr6s7(use 'hg help -e %s' to show help for the %s extension) %s soptionsglobal optionss$ (use 'hg %s -h' to show more help) s; (some details hidden, use --verbose to show complete help))!rfindcmdrr AmbiguousCommandrrr*r unknowncmdr9rUnknownCommandrErqquietrr=rrrr safehasattrsource definitionr8r rDrKeyErrorrer< globalopts) r1subtopicaliasesrinstrr0r>rrmsg)rfull helpextcmdhelplistrrrr"helpcmds            zhelp_..helpcmdcstj|\}gsjstdSjs=dkr*tdndkr6tdntdfdd}d vrO|n.helplist..appendcmds)rmris/help categories missing from CATEGORY_ORDER: %srs %s: rkeywordr extensionr4r5s additional help topics: s5help categories missing from TOPIC_CATEGORY_ORDER: %srrrs/ (use 'hg help' for the full list of commands) sF (use 'hg help' for the full list of commands or 'hg -v' for details) s/ (use 'hg help %s' to show the full help text) sF (use 'hg help -v -e %s' to show built-in aliases and global options) sB (use 'hg help -v%s' to show built-in aliases and global options) r%r6)rrrr*rsetkeysCATEGORY_ORDER develwarnrrErCATEGORY_NAMESr2r r:r<r9rrTOPIC_CATEGORY_ORDERTOPIC_CATEGORY_NAMESrer)roptsrr missing_orderrcatfnscatnameexanyoptsr-r topicsynstopicstr!)rrr1r)rr0rr"r=s               )   zhelp_..helplistcs,d\}}r,|tvr,t|D] \}}}|vrnqtfddt|Ds,t||sGtD]}|dd\}}}||vrAnq0t|t|g}|sX|dtdt |ri|dd | D7}j sutd }t ||zt |j|td ||fW|StjyY|Sw) N)NNc3s|] }|dvVqdS)rNrrrrr"r#sz+help_..helptopic..rr %s rcSsg|]}d|qS)rr)rrrrr"rrz,help_..helptopic..:(some details hidden, use --verbose to show complete help)s4 use 'hg help -c %s' to see help for the %s command ) subtopicsr(r rrrrar*rrRr8r<rhrrr)r1rr,r>rrvr0rf)rrrr" helptopicsJ     zhelp_..helptopicc s$zt|}tt|ptd}Wnty)d}t|}|s't |Ynwd|vr4|d}}n| dd\}}td| dd|fg}|rY| | d|djsetd }t|||rz|j}Wn tywi}Ynwd d |D} | | j|S|td |S) Nsno help text availablerr6rs%s extension - %s rBr@TrcSsh|] }|ddqS)|r) partition)rrrrr" rz)help_..helpext..B(use 'hg help extensions' for information on enabling extensions) )r rDrrrrr disabled_helpr rrFrr9r8r*r<rhrAttributeError __contains__) r1rrr>headtailr0rfctmodcmds)rrrr"helpextsJ         zhelp_..helpextcs`t|dd\}}}|d}ttd|||iddd}|d|td |S) Nuisstrictrs,'%s' is provided by the following extension:T)r.r/rr)r disabledcmdrNr8r2rr*)r1rrrextr>r0)rrr"rs"   zhelp_..helpextcmdskeywordc3s|]}|VqdSrr)ro)r rr"r#*r$zhelp_..r6rr3s Extensionsscommandr}sCommandsr|sTopicsr~sExtension Commandss%s: rrs no matchess"try 'hg help' for a list of topics)hintrmsno such help topic: %sstry 'hg help --keyword %s'sMercurial Distributed SCM r)r byteskwargsrr(rrr*r9rrVr&r InputErrorrr strkwargsr=)rrr1rrrfullnamer rrr#r0rtmatches helpareasrtitlerr)queriesr formatnamehintnamer)rrrrr1r rrr"help_s e+* "                    r4cKs.|durg}nt|}d}}} |dur4|d} | d}| r*|tvr*| d}| r4td| } |dd} |d} | dksH| | krJ| } t |||f||||d|} t j | |d\}}d |vrl| d n| d t j | |d\}}| rt || }| r|r|sttd |t || S) zget help for a given topic (as a dotted name) as rendered rst Either returns the rendered help text or raises an exception. NrBrr$s textwidthrC)r-rrr)keepsverbosesomitteds notomittedshelp section not found: %s)rTrFpoprrrxr= configint termwidthr4rparser*filtersectionsr r+r formatplain)rrr-r5rrr r1rra nameparts textwidthr8rGblocksprunedrrr" formattedhelpisJ             r@)rFr)F)FTNN)NFT)W __future__rrrri18nrrrrrrr r r r r rrrrrrrrrhgwebrutilsrrr)rCATEGORY_REPO_CREATIONCATEGORY_REMOTE_REPO_MANAGEMENTCATEGORY_COMMITTINGCATEGORY_CHANGE_MANAGEMENTCATEGORY_CHANGE_ORGANIZATIONCATEGORY_FILE_CONTENTSCATEGORY_CHANGE_NAVIGATIONCATEGORY_WORKING_DIRECTORYCATEGORY_IMPORT_EXPORTCATEGORY_MAINTENANCE CATEGORY_HELP CATEGORY_MISCrrrTOPIC_CATEGORY_IDSTOPIC_CATEGORY_OUTPUTTOPIC_CATEGORY_CONFIGTOPIC_CATEGORY_CONCEPTSTOPIC_CATEGORY_MISCrrr r2r?rKrerhrurwrr7r&rrrrrrrrbundlecompressiontopicsr internalsdockeywordsfiltersfuncsrrrrr4r@rrrr"sB  H     8 J           A  #      &