\x89\x50\x4E\x47\x0D\x0A\x1A\x0A PNG  \x89\x50\x4E\x47\x0D\x0A\x1A\x0A  13\c@@s&ddlmZddlZddlZddlZddlZddlZddlmZddl m Z m Z m Z m Z mZmZddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z7m8Z8m9Z:m;Z;m<Z=m>Z>m?Z?ddl@mAZAmBZBiZCeCjDejEjFe0jEeCZEe0jGZGdd d ed ed fd d d ededfddeHedfddeHedfddeHedfd dd ededfd dgededfd deHed fd d!eHed"fd d#ejed$ed%fd d&ejIed'ed(fd d)eHed*fd d+eHed,fd d-eHed.fd d/eHed0fd1d2eHed3fd d4eJed5fd d6d7ed8edfgZKejLZLejMZMejNZNejOZOejPZPejQZQejRZRejSZSejTZTejUZUejVZVejWZWejXZXejYZYejZZZeEd9eNeYeLed:d;eEj[d<e\d=e\d>Z]eEd?eXeYeNeLed:d;eEj[d=e\d@Z^eEdAdBdCd edDedEfd dFeHedGfd dHeHedIfdJdKeHedLfdMdNeHedOfdPdQeHedRfdSdTeHedUfdVdWeHedXfdYdZeHed[fd\d]eHed^fd d_ged`edEfg eUeNeQedad;eEj_d<e\d=e\dbZ`eEdcd ddeHedefdfdgd edhedifdBdCd edjedEfdkdld edmedfgeYeNednd;eEjadoZbeEdpd dqeHedrfd dseHedtfd dueHedvfd dwd edxedEfdBdCd edyedEfdzd{eJed|fgeWeNeOePed}d;eEjceHeHd~ZdeHeHdZeeEddBdeJedfddeJedfddeJedfdd_eJedfdzdeJedfdYdd ededfddeJedfgedd;eEjfeHeHeHeHeHeHeHeHeHd ZgeEddPdeJedfdBdCd ededEfdSdeJedfddd ededfddeJedfd\deJedfgeQedd;eEjhdZieEddPdeHedfddeHedfdBdCgedfgedd;eEjheHdZjeEddJdeJedfdYdeJedfgeQedd;eEjhdeGheJeJdZkeEddPdeHedfdBdCgededEfddgededfd dgededEfdJdeHedfdkdldededfgeMedd;eEjaeHdZleEdddd ededfdBdCd ededEfd deHedfgeNeQedd;eEj_d=e\deGhdZmeEdddeHedfdMdd ededEfdBdCgededEfddgededfd deHedfd deHedfd deHedfgeMedd;eEjnd<e\de\eHdZoeEddd?eHedfd deHedfd deHedfddeHedfdzd{eHed|fddeHedfgeNeOePeYed:d;eEjpd<e\d=e\dZqdZreEddMdeHedfdzd{eHedfd\deHedfddeHedfgeQedd;eEjsde\deGhdZteEdddeHedfdPdeHedfgeNeLedd;eEj_dZueEdgedd;eEjsde\d dZeEdddeHedfgedd;eEjsde\d dZveEddBdCgededEfdYdd ededEfgeTeVeNeYedd;eEj_d<e\d=e\deGhdZweEddd d ed ed fddd ededfd d eHed fdBdCgededEfgeTeQedd;eEjad<e\deGhdZxeEddBdCd ededEfddeHedfgeNeQeYed:d;eEj[deGhdZyeEdddeHedfgeNeLedd;eEj[d<e\d=e\dZzeEddBdCgededEfdYdeJedfd deJedfd deJed fdzd{eJed|fd d!eHed"fd dueHed#fdPdeJed$fd%d&eJed'fdd(eJed)fg ePeWeLed*d;eEjcd+Z{d,Z|d-Z}d.Z~d/ZeEd0ddeHed1fd deHed2fd deHed3fdJdKeHedLfdPdFeHed4fdd5eHed6fd\d7eHed8fdVd]eHed9fdBdCged:edEfd d;eHed<fdMdNeHedOfdSdTeHedUfg eQeNed=d;eEj_d=e\deGhd>ZeEd?dBdCd ed@edAfdkdBeJedCfdJdeJedDfdYdeJedEfgeRedFd;eEjfdeGhdGZeEd2dzdHeHedIfdYdeHedJfdKdLeHedMfddNgedOedPfgedQd;eEjsde\deGheHdRZeEdSdBdCd edTedEfdVdUeHedVfddWeHedXfddeHedYfdkdZeHed[fdd\eHed]fgeMeQed^d;eEjfde\deGheHeHeHeHeHeHeHd_ZeEd`dfdadedbedcfddd eddedefdzd{eJed|fdPdeHedffd dueHedgfd dheHedifd djeHedkfd dleHedmfd dgd ednedfd doeHedpfg eOePeXedqd;eEjaeHdrZeEdsdPdeHedtfdVdueHedvfd dd edwedxfdBdCgedyedEfdd\eJedzfddged{edfgeSeMeYed|d;eEjd}d~ZeEdeMedd;eEjnd<e\de\ddZeEddBdCd ededEfddeHedfdPdeHedfgeNedd;eEj[dZeEddPdFeHed4fd deHedfdSdTd ededfddeHedfdKdLgededfdBdCgededEfddgededfd deHedfddeHedfdMdNgededfd dgededfddgededfddgededEfg eSeNedd;eEjfd<e\d=e\deGhdZeEddBdCd ededEfd deJedfgeQedd;eEjdeGheHeHdZeEdqdPdeHedfdBdCd ededEfddeHedfd deHedfgeWedd;eEjcd<e\eHdZ'eEddPdeHedfdBdCgededEfdVdueHedvfdd\eJedzfddgededfgeSeMeYedd;eEjeHdZeEddBdCd ededEfgeRedd;eEjfd=e\eHdZeEdeQedd;eEjde\deGheHdZeEddfdeJedfdSdeJedfddeJedfdPdeJedfdBdCgededEfgedd;eEjhdZdZeEddMdeHedfdPdeHedfdBdCgedyedEfdd geded fddged{edfgeMedd;eEjd<e\d}dZeEddPdeHedfdBdCgededEfdd geded fddgededfd deJedfd dgedfgeMedd;eEjd<e\eHdZeEdgd;eEjdZeEdddeHedfdPdeHedfgeYeNeLedd;eEj[d<e\d=e\dZeEdddeHedfdPdeHedfgeNeLedd;eEj[dZeEddJdeHedfd\deHedfddeHedfdMdeHedfdVdeHedfd deHedfgeWeNeQed:d;eEj[d=e\dZeEddJdeHedfdSdTd ededfdBdCd ededEfddeHedfddeHedfgeNeLedd;eEj[dZeEdeLdPdeJedfgd;eEjdZeEdgdeGhd;eEj[dZeEdddd ededxfdSdeHedfd dgedfddd ededxfdfdd ededfdJdd eded fd dgd ed edifdVd d ed ed fd dd ededxfd dd ededxfd dd ededxfd deHedfd dd eded(fdkdd ededfd dd ededfddeHedfd d d ed!edxfd d"eHed#fgeYed$d;eEjd<e\de\d%Zd&ZeEd'ddeHed(fdd)eHed*fdJd+eHed,fdBdeHed-fdSd.eHed/fdYdeHed0fdMd1eHed2fdd3eHed4fdVdeHedfdkd5eed6fddeHed7fddeHedfd dCged8edEfd dd ed9edEfgeNeYeQed:d;eEj[d<e\d=e\deGhd:ZeEd;d d<eHed=fgd>d;eEj[d<e\deGhd?ZeEd@dPdeHedAfd\deHedBfdBdCd edCedEfd dDeHedEfdzd{eHed|fddFd edGedfgePedHd;eEjhdIZeEdZeQd d;eEjhdeGhdJZ9eEdKdfdLeHedMfddNeHedOfgeRedPd;eEjfdQZeEdRdMdeHedSfgedTd;eEjadUZeEdVddeHedWfdYdXeHedYfddqeHedZfdSdTd ededfdBdCd ededEfgeWed[d;eEj[d<e\eHd\ZDeEd]gd;eEjd^ZeEd/geQd;eEjsde\deGhd_Zd`ZdS(ai(tabsolute_importNi(t_(thextnullidtnullrevtshorttwdirhextwdirrev(*tarchivalt bookmarkstbundle2t changegrouptcmdutiltcopiest debugcommandstdestutilt dirstateguardt discoverytencodingterrortexchanget extensionst filemerget formattertgraphmodthbisectthelpthgt logcmdutiltmerget narrowspectobsoletetobsutiltpatchtphasestpycompattrcutilt registrartrepairt revsetlangt rewriteutiltscmutiltservertstatet streamclonettagst templatekwtuitutiltwireprotoserver(tdateutilt stringutiltRt repositoryts8repository root directory or name of overlay bundle filetREPOtcwdschange working directorytDIRtytnoninteractivesBdo not prompt, automatically pick the first choice for all promptstqtquietssuppress outputtvtverbosesenable additional outputtcolors9when to colorize (boolean, always, auto, never, or debug)tTYPEtconfigs5set/override config option (use 'section.name=value')tCONFIGtdebugsenable debugging outputtdebuggersstart debuggerRsset the charset encodingtENCODEt encodingmodesset the charset encoding modetMODEt tracebacks%always print a traceback on exceptionttimestime how long the command takestprofilesprint command execution profiletversions#output version information and exitthRsdisplay help and exitthiddensconsider hidden changesetstpagertautos2when to paginate (boolean, always, auto, or never)tadds[OPTION]... [FILE]...t helpcategoryt helpbasict inferrepocO@sPtj|d|tj|}tj|||dt|}|rLdpOdS(sadd the specified files on the next commit Schedule files to be version controlled and added to the repository. The files will be added to the repository at the next commit. To undo an add before that, see :hg:`forget`. If no names are given, add all files to the repository (except files matching ``.hgignore``). .. container:: verbose Examples: - New (unknown) files are added automatically by :hg:`add`:: $ ls foo.c $ hg status ? foo.c $ hg add adding foo.c $ hg status A foo.c - Specific files to be added can be specified:: $ ls bar.c foo.c $ hg status ? bar.c ? foo.c $ hg add bar.c $ hg status A bar.c ? foo.c Returns 0 if all files are successfully added. R6iiN(R)tmatchtNoneR#t byteskwargsR RQtFalse(R/trepotpatstoptstmtrejected((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRQs0"t addremovecO@sZtj|}|jds+d|d|tkr,dtjjSd|SdS(Ns%s+s%s (RRRxtnode(RM(RyRw(s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyt formathex`s  s%dRjt cS@s |jjS(N(tfctxRj(tx((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pytiscS@stj|jS(N(R)tintrevR~(R((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRjsR{cS@sttj|jS(N(RR)tbinnodeR~(R((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRksRncS@s |jjS(N(R~Rn(R((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRlstpathcS@s |jjS(N(R~R(R((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRmstlinenot:cS@s|jS(N(R(R((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRnsRpt line_numbers(at least one of -n/-c is required for -lc@sfdS(Nc@s|S(N((R(tfmtRa(s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRs((RaR((RRas8/usr/lib64/python2.7/site-packages/mercurial/commands.pytmakefunc~scS@s|S(N((RaR((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRsiR6c3@sH|]>\}}}}jj||s<|kr|VqdS(N(Ra(t.0tfntsepRaR(tdatahintt opnamemapR[(s8/usr/lib64/python2.7/site-packages/mercurial/commands.pys scS@stjd||fdS(Ns%s: %s(RtAbort(RR:((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pytbadstbadfnt no_followtsectiont whitespaceRtRhs%s: binary file tlinesttmpls {rev}: {line}tskiprevstdiffoptss%sR~s* %ss: %stlineis N(4R#RWRRRRatTrueR)tunhidehashlikerevst revsingleRt debugflagtidentityR=R2t shortdatetdatestrRdRVt__mod__t shortuserR0t cachefunctbytestrROtisplainRtjoinRUR!tdifffeatureoptstrevrangetwalkt startitemtdatatisbinarytplaintreltnestedRvtendRtcolwidthtmaxtappendtziptcontextR~twriteRtRhtendswith(%R/RYRZR[RdtrootfmtdatefuncRzR|topmapt linenumberRRRRaRtfuncmaptfieldsRR\RfRRtabsR~tfmRtformatstpiecesRkRoRsRtsizestmltwtp((RyRRR[Rws8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRvs7            &     B%       " 3 .   tarchives no-decodes"do not pass files through decodersRtprefixs%directory prefix for files in archivetPREFIXsrevision to distributettttypestype of distribution to creates[OPTION]... DESTc K@stj|}|jd}|r?tj||gd}ntj||}|sotjtdn|j }t j ||}t j j||jkrtjtdn|jdptj|pd}|jd}|dkrZ|dkr#tjtd nt j||}|sZt j j|jd }qZnt j ||}tj|g|} tj|||||jd  | |d |jd d S(screate an unversioned archive of a repository revision By default, the revision used is the parent of the working directory; use -r/--rev to specify a different revision. The archive type is automatically detected based on file extension (to override, use -t/--type). .. container:: verbose Examples: - create a zip file containing the 1.0 release:: hg archive -r 1.0 project-1.0.zip - create a tarball excluding .hg files:: hg archive project.tar.gz -X ".hg*" Valid types are: :``files``: a directory full of files (default) :``tar``: tar archive, uncompressed :``tbz2``: tar archive, compressed using bzip2 :``tgz``: tar archive, compressed using gzip :``uzip``: zip archive, uncompressed :``zip``: zip archive, compressed using deflate The exact name of the destination archive or directory is given using a format string; see :hg:`help export` for details. Each member added to an archive file has a directory prefix prepended. Use -p/--prefix to specify a format string for the prefix. The default is the basename of the archive, with suffixes removed. Returns 0 on success. RdRus/no working directory: please specify a revisions%repository root cannot be destinationRtfilesRt-s$cannot archive plain files to stdouts-%ht no_decodetsubreposN(R#RWRaR)RRRRRR{R t makefilenametosRtrealpathtrootRt guesskindt makefileobjtbasenameRUR( R/RYtdestR[RdRyR{tkindRRU((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRs.2 $  tbackoutRs,merge with old dirstate parent after backouttcommits4commit if no conflicts were encountered (DEPRECATED)s no-commits do not committparents4parent to choose when backing out merge (DEPRECATED)srevision to backouttetedits invoke editor on commit messagess[OPTION]... [-r] REVcK@s@|j.|jt|||||SWdQXWdQXdS(sxreverse effect of earlier changeset Prepare a new changeset with the effect of REV undone in the current working directory. If no conflicts were encountered, it will be committed immediately. If REV is the parent of the working directory, then this new changeset is committed automatically (unless --no-commit is specified). .. note:: :hg:`backout` cannot be used to fix either an unwanted or incorrect merge. .. container:: verbose Examples: - Reverse the effect of the parent of the working directory. This backout will be committed immediately:: hg backout -r . - Reverse the effect of previous bad revision 23:: hg backout -r 23 - Reverse the effect of previous bad revision 23 and leave changes uncommitted:: hg backout -r 23 --no-commit hg commit -m "Backout revision 23" By default, the pending changeset will have one parent, maintaining a linear history. With --merge, the pending changeset will instead have two parents: the old parent of the working directory and a new child of REV that simply undoes REV. Before version 1.7, the behavior without --merge was equivalent to specifying --merge followed by :hg:`update --clean .` to cancel the merge and leave the child of REV as a head to be merged separately. See :hg:`help dates` for a list of formats valid for -d/--date. See :hg:`help revert` for a way to restore files to the state of another revision. Returns 0 on success, 1 if nothing to backout or there are unresolved files. N(twlocktlockt _dobackout(R/RYR{RdR[((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRs@ c @s8tj|}|jdrE|jdrEtjtdn|jdr{|jdr{tjtdn|rrtjtdn|s}n|stjtdn|jd}|rtj||d' is deprecated) RRsincompatible argumentss--bads --commands--extends--goods--resets--skipis%s and %s are incompatibleiiNt.Rtc@s:r dStj|tj|tj||d|S(scommon used update sequenceNR(R RRRR(RYR{R(R(s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyt mayupdateGs   tcurrents>current bisect revision is unknown - start a new bisect to fixs"current bisect revision is a mergetenvirontHG_NODEt blockedtagt bisect_checki}isfailed to execute %ss %s killedschangeset %d:%s: %s Rs$Extending search to changeset %d:%s snothing to extends=Testing changeset %d:%s (%d changesets remaining, ~%d tests) (ii((tsplittwarnRRVRRRtbooltlenttupletsortedRt resetstatet load_stateR)RR{Rt save_stateRtchangesetdisplayert LookupErrorRRRRtsystemRRRRdt checkstateR RXt printresultt extendrangeRtAssertionErrorRR(R/RYRdtextraRRRRRtRRtcmdt incompatiblesRtenabledR+titnodesRt displayert changesetsR{RRt transitionRytbgoodt extendnodetteststsize((Rs8/usr/lib64/python2.7/site-packages/mercurial/commands.pyR s_       #  5  "                    sbookmarks|bookmarkRsrevision for bookmark actiontdeletesdelete a given bookmarkR\trenamesrename a given bookmarktOLDR3tinactivesmark a bookmark inactivetlistslist existing bookmarkss#hg bookmarks [OPTIONS]... [NAME]...c O@stj|}|jd}|jd}|jd}gdddgD]}|j|rL|^qL}t|dkrtjtdt|d n|r|d } n*|s|rd } n|rd} nd} |r| dddhkrtjtd | n|rM| ddhkrMtjtd | n| r~| d dhkr~tjtdn| d dddhkr/|j|j u|j d_} | dkrtj |j j |}tj|| |n| dkr|s&tjtdn*t|dkrPtjtdn|j j |d} tj|| | |d ||n| d krtj|| ||||nf| dkrt|j d kr|jtdq|js |jtdqtj|nWdQXWdQXWdQXnk| dkrtj |j j |}|jd|} tj||| |WdQXntjd| dS(sxcreate a new bookmark or list existing bookmarks Bookmarks are labels on changesets to help track lines of development. Bookmarks are unversioned and can be moved, renamed and deleted. Deleting or moving a bookmark has no effect on the associated changesets. Creating or updating to a bookmark causes it to be marked as 'active'. The active bookmark is indicated with a '*'. When a commit is made, the active bookmark will advance to the new commit. A plain :hg:`update` will also advance an active bookmark, if possible. Updating away from a bookmark will cause it to be deactivated. Bookmarks can be pushed and pulled between repositories (see :hg:`help push` and :hg:`help pull`). If a shared bookmark has diverged, a new 'divergent bookmark' of the form 'name@path' will be created. Using :hg:`merge` will resolve the divergence. Specifying bookmark as '.' to -m/-d/-l options is equivalent to specifying the active bookmark's name. A bookmark named '@' has the special property that :hg:`clone` will check it out by default if it exists. .. container:: verbose Template: The following keywords are supported in addition to the common template keywords and functions such as ``{bookmark}``. See also :hg:`help templates`. :active: Boolean. True if the bookmark is active. Examples: - create an active bookmark for a new line of development:: hg book new-feature - create an inactive bookmark as a place marker:: hg book -i reviewed - create an inactive bookmark on another changeset:: hg book -r .^ tested - rename bookmark turkey to dinner:: hg book -m turkey dinner - move the '@' bookmark from another branch:: hg book -f @ - print only the active bookmark name:: hg book -ql . RRdR?R<R=R@is--%s and --%s are incompatibleiiRQs--rev is incompatible with --%ss$--inactive is incompatible with --%ssbookmark name requiredtbookmarksnew bookmark name requireds"only one new bookmark name allowedsno bookmarks set sno active bookmark NR sinvalid action: %s(R#RWRaR"RRRR#RRt transactiontmaplistt _bookmarkst expandnameR R<R=t addbookmarksRt_activebookmarkt deactivateRtprintbookmarkstProgrammingError( R/RYtnamesR[RRdR?tkt selactionstactionttrtoldnameR((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRAs`F1       #   % Rs5set branch name even if it shadows an existing branchtCRs'reset branch name to parent branch names0change branches of the given revs (EXPERIMENTAL)s [-fC] [NAME]c K@s#tj|}|jd}|r3|j}n|jd r| r|rhtjtdn|jd|jj dS|j |jdr|dj j }|jj ||jtd|n7|rtj||d|rtj||||S|jd r||jkr|g|djD]}|j ^qMkrtjtd d td qn|jj ||jtd |g|jjD]+\}}}} |d kr| r|^q} | s|jtdqnWdQXdS(sset or show the current branch name .. note:: Branch names are permanent and global. Use :hg:`bookmark` to create a light-weight bookmark instead. See :hg:`help glossary` for more information about named branches and bookmarks. With no argument, show the current branch name. With one argument, set the working directory branch name (the branch will not exist in the repository until the next commit). Standard practice recommends that primary development take place on the 'default' branch. Unless -f/--force is specified, branch will not let you set a branch name that already exists. Use -C/--clean to reset the working directory branch to that of the parent of the working directory, negating a previous branch change. Use the command :hg:`update` to switch to an existing branch. Use :hg:`commit --close-branch` to mark this branch head as closed. When all heads of a branch are closed, the branch will be considered closed. Returns 0 on success. RdRs*no branch name specified for the revisionss%s Ns%reset working directory to branch %s RRs(a branch of the same name already existsthintsuse 'hg update' to switch to its&marked working directory as branch %s tdefaults>(branches are permanent and global, did you want a bookmark?) (R#RWRatstripRRRRRRRRVRxRRR)t checknewlabelR t changebrancht branchmapRt iterbranches( R/RYtlabelR[trevsRRoRMRRqtothers((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRs8% "/%tbranchestactives8show only branches that have unmerged heads (DEPRECATED)tclosedsshow normal and closed branchess[-c]tintentsc K@stj|}|jd|jd|}|j}t|j}g}x~|jjD]j\} } } } t } | st|jj | }t ||@} n|j | || | | fqbW|j dddtx|D]\} }} }|r| rqn| r*d}d}n9|sQ|s<qnd}td}nd }td }| |jjk}|rd }n|j|jd d | d||j}tdtd|tj| d}d|d}|j|j d||||jdd|j|jd||jd| d| d||jsm|j|n|jdqW|j dS(slist repository named branches List the repository's named branches, indicating which ones are inactive. If -c/--closed is specified, also list branches which have been marked closed (see :hg:`commit --close-branch`). Use the command :hg:`update` to switch to an existing branch. .. container:: verbose Template: The following keywords are supported in addition to the common template keywords and functions such as ``{branch}``. See also :hg:`help templates`. :active: Boolean. True if the branch is active. :closed: Boolean. True if the branch is closed. :current: Boolean. True if it is the current branch. Returns 0. R\tkeycS@s&|d|dj|d|dfS(Niiii(Rd(R3((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRstreversesbranches.activeR6sbranches.closeds (closed)sbranches.inactives (inactive)sbranches.currentRs%sRYis%diR}s %d:%ssrev nodeslog.changeset changeset.%sRyR]R^Rs N(!R#RWRORthexfunctsettheadsRWRXRXtiteropenR!RtsortRRRRRRRdRR"RRt condwriteR=R{tphasestrRRRR(R/RYR]R^R[RRbtallheadsR\ttagRdRtisclosedtisactivet openheadsRytisopenRYtnoticeRRdtpadsizeR((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyR\hsV   %"      *( tbundles*run even when the destination is unrelateds3a changeset intended to be added to the destinations*a specific branch you would like to bundletBRANCHtbases;a base changeset assumed to be available at the destinationtalls'bundle all changesets in the repositorytbzip2sbundle compression type to usesA[-f] [-t BUNDLESPEC] [-a] [-r REV]... [--base REV]... FILE [DEST]c K@stj|}d*}d|kre|d}tj||}|re| retjtdqen|jddj }yt j ||dt }Wn:tj k r} tjtj| dtdnX|jd} | d krtjtd dtd n|jd rq|r@tjtd n|jdre|jtdntg} ntj||jd} | tj|krtjtd| n| rK|rtjtdng| D]} || j^q} |r-g|D]}||j^qnd*}tj|| |}n|j|pZd|pcd}tj||jd\}}tj|||}g|D]}||j^q}tj||||\}}|rtj|j|p|}tj||d|d|jddt }|j!sXtj"||| oP|j#dS| dkrzd|j$}d*}n1| d+krd}|j$}ntj%d| i}|j&dd |j'}|d*kr|j&dd!}n|d*k r||d"t uniqueseltmatchedt entryname((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRBs+-          %(  "     scopy|cptafters'record a copy that has already occurreds+forcibly copy over an existing managed files[OPTION]... [SOURCE]... DESTc O@s?tj|}|jttj||||SWdQXdS(s3mark files as copied for the next commit Mark dest as having copies of source files. If dest is a directory, copies are put in that directory. If dest is a file, the source must be a single file. By default, this command copies the contents of files as they exist in the working directory. If invoked with -A/--after, the operation is recorded, but no copying is performed. This command takes effect with the next commit. To undo a copy before that, see :hg:`revert`. Returns 0 on success, 1 if errors are encountered. N(R#RWRRXR tcopy(R/RYRZR[((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyR0sRs [COMMAND]cG@s{xtttjD]`\}}|jdd}djg|dD]}|d^qC}|jd||fqWdS(s'list all available commands and optionst|is, is%s: %s N(R$ttablet iteritemsRRR(R/R0targstvalsR3R[((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRJs*t debugcompletetoptionssshow the command optionss[-o] CMDc K@sT|jdrg}tg}|rStj|tt\}}|j|dnxl|D]d}x[|D]S}d|dkrqgn|dr|jd|dn|jd|dqgWqZW|jdd j|d Stj |t\} } |j r0g| j D]} d j| d^q} n|jdd jt | d S( s=returns the completion list associated with the given commandRis (DEPRECATED)iis-%ss--%ss%s s NR}( Rat globaloptsR tfindcmdRRXRRRt findpossibleR?RR$( R/R0R[RtotablestaliasestentryRRtcmdlisttunused_allcmdsRq((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRUs&     /tdifftrevisiontchangeschange made by revisions6[OPTION]... ([-c REV] | [-r REV1 [-r REV2]]) [FILE]...cO@stj|}|jd}|jd}|jd}|jd}|ru|rutd}tj|no|rtj||gd}tj||d } | j } n-tj||d}tj ||\} } | j | j } } |r| | } } nt j||} tj| ||}|j|}|jdtj||| | | |d|d|jd d |jd d S( s^diff repository (or selected files) Show differences between revisions for the specified files. Differences between files are shown using the unified diff format. .. note:: :hg:`diff` may generate unexpected results for merges, as it will default to comparing against the working directory's first parent changeset if no revisions are specified. When two revision arguments are given, then changes are shown between those revisions. If only one revision is specified then that revision is compared to the working directory, and, when no revisions are specified, the working directory files are compared to its first parent. Alternatively you can specify -c/--change with a revision to see the changes in that changeset relative to its first parent. Without the -a/--text option, diff will avoid generating diffs of files it detects as binary. With -a, diff will generate a diff anyway, probably with undesirable results. Use the -g/--git option to generate diffs in the git extended diff format. For more information, read :hg:`help diffs`. .. container:: verbose Examples: - compare a file in the current working directory to its parent:: hg diff foo.c - compare two historical versions of a directory, with rename info:: hg diff --git -r 1.0:1.2 lib/ - get change stats relative to the last change on some date:: hg diff --stat -r "date('may 2')" - diff all newly-added files that contain a keyword:: hg diff "set:added() and grep(GNU)" - compare a revision and its parents:: hg diff -c 9353 # compare against first parent hg diff -r 9353^:9353 # same using revset syntax hg diff -r 9353^2:9353 # compare against the second parent Returns 0 on success. RdRRRas2cannot specify --rev and --change at the same timeRuRt listsubreposRRN(R#RWRaRRRR)RRRVRxtrevpairR{R!t diffalloptsRUt narrowmatchRORtdiffordiffstat(R/RYRZR[RZRRRaR tctx2tctx1tnode1tnode2RR\((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRrs0A   !texporttBRAs/export changes only reachable by given bookmarktBOOKMARKs switch-parentsdiff against the second parentsrevisions to exports*[OPTION]... [-o OUTFILESPEC] [-r] [REV]...cO@stj|}|jd}|t|jdg7}|r^|r^tjtdn|r||jkrtjtd|ntj ||}n9|sdg}ntj ||d}tj ||}|stjtdnt |dkr#|j td n|j td |jd }tj|r]d }n|r{tj|d |}n|jd |jd |}|?tj|||d|d|jddtj||WdQXdS(s dump the header and diffs for one or more changesets Print the changeset header and diffs for one or more revisions. If no revision is given, the parent of the working directory is used. The information shown in the changeset header is: author, date, branch name (if non-default), changeset hash, parent(s) and commit comment. .. note:: :hg:`export` may generate unexpected diff output for merge changesets, as it will compare the merge changeset against its first parent only. Output may be to a file, in which case the name of the file is given using a template string. See :hg:`help templates`. In addition to the common template keywords, the following formatting rules are supported: :``%%``: literal "%" character :``%H``: changeset hash (40 hexadecimal digits) :``%N``: number of patches being generated :``%R``: changeset revision number :``%b``: basename of the exporting repository :``%h``: short-form changeset hash (12 hexadecimal digits) :``%m``: first line of the commit message (only alphanumeric characters) :``%n``: zero-padded sequence number, starting at 1 :``%r``: zero-padded changeset revision number :``\``: literal "\" character Without the -a/--text option, export will avoid generating diffs of files it detects as binary. With -a, export will generate a diff anyway, probably with undesirable results. With -B/--bookmark changesets reachable by the given bookmark are selected. Use the -g/--git option to generate diffs in the git extended diff format. See :hg:`help diffs` for more information. With the --switch-parent option, the diff will be against the second parent. It can be useful to review a merge. .. container:: verbose Template: The following keywords are supported in addition to the common template keywords and functions. See also :hg:`help templates`. :diff: String. Diff content. :parents: List of strings. Parent nodes of the changeset. Examples: - use export and import to transplant a bugfix to the current branch:: hg export -r 9353 | hg import - - export all the changesets between two revisions to a file with rename information:: hg export --git -r 123:150 > changes.txt - split outgoing changes into a series of patches with descriptive names:: hg export -r "outgoing()" -o "%n-%m.patch" Returns 0 on success. RARds -r and -B are mutually exclusivesbookmark '%s' not foundRRus&export requires at least one changesetisexporting patches: sexporting patch: RR6RRt switch_parentR[N(R#RWRaR#RRRRDR)t bookmarkrevsRRR"tnoteR RRRRORR!R (R/RYR6R[RARZRR((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRs:U    Rs%search the repository as it is in REVt0tprint0s*end filenames with NUL, for use with xargsc O@stj|}|jd}|r?tj||gd}ntj||d }d}|jdrrd}nd|}tj|||}|jd|j d|,} t j |||| ||jdSWd QXd S( sVlist tracked files Print files under Mercurial control in the working directory or specified revision for given files (excluding removed files). Files can be specified as filenames or filesets. If no files are given to match, this command prints the names of all files under Mercurial control. .. container:: verbose Template: The following keywords are supported in addition to the common template keywords and functions. See also :hg:`help templates`. :flags: String. Character denoting file's symlink and executable bits. :path: String. Repository-absolute path of the file. :size: Integer. Size of the file in bytes. Examples: - list all files under the current directory:: hg files . - shows sizes and flags for current revision:: hg files -vr . - list all files named README:: hg files -I "**/README" - list all binary files:: hg files "set:binary()" - find files containing a regular expression:: hg files "set:grep('bob')" - search tracked file contents with xargs and grep:: hg files -0 | xargs -0 grep foo See :hg:`help patterns` and :hg:`help filesets` for more information on specifying file patterns. Returns 0 if a match is found, 1 otherwise. RdRus Rss%sRRN( R#RWRaR)RRRVRURORR R( R/RYRZR[RdRyRRR\R((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRMs=   tforgetc O@stj|}|s-tjtdntj|d ||}|jd|jd}}t j |||dddt d|d|d}|rd pdS( sforget the specified files on the next commit Mark the specified files so they will no longer be tracked after the next commit. This only removes files from the current branch, not from the entire project history, and it does not delete them from the working directory. To delete the file from the working directory, see :hg:`remove`. To undo a forget before the next commit, see :hg:`add`. .. container:: verbose Examples: - forget newly-added binary files:: hg forget "set:added() and binary()" - forget files that would be excluded by .hgignore:: hg forget "set:hgignore()" Returns 0 on success. sno files specifiedtdry_runRRR6t explicitonlytdryruniiN( R#RWRRRR)RURVRaR RRX(R/RYRZR[R\RRR]((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRs$  tgraftsrevisions to grafttcontinuesresume interrupted grafttstopsstop interrupted grafttabortsabort interrupted grafttlogs append graft info to log messages9don't commit, just apply the changes in working directorys force grafttDt currentdates&record the current date as commit datet currentusers$record the current user as committers[OPTION]... [-r REV]... REV...c O@s*|jt||||SWdQXdS(scopy changes from other branches onto the current branch This command uses Mercurial's merge logic to copy individual changes from other branches without merging branches in the history graph. This is sometimes known as 'backporting' or 'cherry-picking'. By default, graft will copy user, date, and description from the source changesets. Changesets that are ancestors of the current revision, that have already been grafted, or that are merges will be skipped. If --log is specified, log messages will have a comment appended of the form:: (grafted from CHANGESETHASH) If --force is specified, revisions will be grafted even if they are already ancestors of, or have been grafted to, the destination. This is useful when the revisions have since been backed out. If a graft merge results in conflicts, the graft process is interrupted so that the current merge can be manually resolved. Once all conflicts are addressed, the graft process can be continued with the -c/--continue option. The -c/--continue option reapplies all the earlier options. .. container:: verbose Examples: - copy a single change to the stable branch and edit its description:: hg update stable hg graft --edit 9393 - graft a range of changesets with one exception, updating dates:: hg graft -D "2085::2093 and not 2091" - continue a graft after resolving conflicts:: hg graft -c - show the source of a grafted changeset:: hg log --debug -r . - show revisions sorted by date:: hg log -r "sort(all(), date)" See :hg:`help revisions` for more about specifying revisions. Returns 0 on successful completion. N(Rt_dograft(R/RYRZR[((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRsK c O@s tj|}|r:|jdr:|jtdnt|}|j|jdi}g|d<|jd r|jdr|j|d|jd|D]*} |jtd| | j | qWg|D]} | | kr| ^q}|s6d S|pH|jd!s!|d"j} |j!j"| gd#t}xQt|D]C} | |kr|jtd$| || f|j#| qqW|sd Si}x^|jd%|D]J}|j||j$<|j%jd&}|r|j||d?|q nt }|jd sV|j9d@|d|d|dA|dB|} | dkrC |jtdC|j|fqo |jddk ro |dj:| qo qVqVW|jd5s |j;nd1S(ENRdsLwarning: inconsistent use of --rev might give unexpected revision ordering! tnewnodesRjR%RnR$s%d %dRRRRs.cannot specify --no-commit and --edit togethers5cannot specify --no-commit and --currentuser togethers5cannot specify --no-commit and --currentdate togetherR"s-cannot specify --no-commit and --log togethert graftstateR Rs-cannot use '--continue' and '--stop' togetherR!s*cannot use '--abort' and '--stop' togethers+cannot specify any other flag with '--stop's.cannot use '--continue' and '--abort' togethers,cannot specify any other flag with '--abort's&can't specify --continue and revisionsR4sno revisions specifieds%ld and merge()s'skipping ungraftable merge revision %d iRRt inclusives!skipping ancestor revision %d:%s s%ldRsscanning for duplicate grafts sonly(%d,ancestor(%ld))s3skipping revision %d:%s (already grafted to %d:%s) sKskipping already grafted revision %d:%s (%d:%s also has unknown origin %s) i sFskipping already grafted revision %d:%s (%d:%s also has origin %d:%s) sAskipping already grafted revision %d:%s (was grafted from %d:%s) s %d:%s "%s"s iis (%s)R}s grafting %s Rsintermediate-sources (grafted from %s)RR6R/RRs*use 'hg resolve' and 'hg graft --continue's$unresolved conflicts, can't continueRRRhR/Rs2note: graft of %d:%s created no changes to commit (R/R(<R#RWRaR RR@RtusernameR2tmakedateR RRRXRRtstatemodtcmdstatetanyt _stopgraftt _abortgraftRRt_readgraftstateRdtwrongtooltocontinueRRR)RRcRZRQRt ancestorstremoveRR/RDtRepoLookupErrorRVt enumeratet descriptionRtnodetagsR{t nodebookmarksRRRjRnRRRRxRtsaveRRR<(R/RYRZR[t statedataRtcontR(R4R{tskippedRdRctcrevR3tidsRyRotpostdescRKRR/RjRnRR R t stateversionRR((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyR& sT   '!'!   &   %       **  % (         *'   !    c @s|js$tjtdnt|}|jd}|dkrftjtdnd}t|dkr|dj}n d}t }|r'g|D]}|j ^q}t }g|D]}|j s|^q} | rKj jtddjfd| Dd td t }ntjj|} | t|rj jtd t }n|r'j{jhtj|jd t gjd |D]}|j^q} tjj | dt WdQXWdQXq'n|sVd}tj|jd t n|jtd|jtd|jd |jdS(sSabort the interrupted graft and rollbacks to the state before interrupted graftsno interrupted graft to abortR's$cannot abort using an old graftstateiRs%cannot clean up public changesets %s s, c3@s|]}t|VqdS(N(tbytes(RRc(RY(s8/usr/lib64/python2.7/site-packages/mercurial/commands.pys  sRRs see 'hg help phases' for detailss;new changesets detected on destination branch, can't strip t overwrites roots(%ld)tbackupNsgraft aborted sworking directory is now at %s i (RRRRR1RaRVR"RxRXRdRtmutableR/R RRcRt descendantsRRRt updaterepoR{R&RTRRR<( R/RYR(R;R'tstartctxtcleanupRcRqt immutableRAt strippoints((RYs8/usr/lib64/python2.7/site-packages/mercurial/commands.pyR0 sL   #)      . ! cC@sIy|jSWn4tjk rD|jjdj}i|d6SXdS(sDread the graft state file and return a dict of the data stored in itR(R4N(treadRtCorruptedStateRt splitlines(RYR(R4((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyR17 s cC@s|js$tjtdn|d}tj||jdt|j|j td|j td|j d dS(sstop the interrupted graftsno interrupted graft foundRRDsstopped the interrupted graft sworking directory is now at %s i i( RRRRRRHR{RR<RR(R/RYR(tpctx((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyR/? s   !tgrepsend fields with NULs,print all revisions that match (DEPRECATED) s;print all revisions when the term was introduced or removedsCfollow changeset history, or file history across copies and renamess ignore-casesignore case when matchingsfiles-with-matchess-print only filenames and revisions that matchsprint matching line numberss/only search files changed within revision ranges all-filess@include all files in the changeset while grepping (EXPERIMENTAL)s[OPTION]... PATTERN [FILE]...c @stj  jdp* jd jd}ri jdritjtdn jddkr jd r rjdd d sRYsgrep.%ssgrep.septfiles_with_matchesRhs Binary file matchesttextsRs{text}(R)RRRR#RR=RXR0RRRRRbRRR\RaRRRjt formatdateRntnexttreversedRgRRR(RRRytpstateststatesRdt formatusertdatefmttfoundRt fieldnamemaptiterRsRtcolstlastcolRRRRtfield( RRtdisplaymatchesteolRR[t plaingrepRR/(RyRs8/usr/lib64/python2.7/site-packages/mercurial/commands.pytdisplay sV      "!$  cS@sd}x|jD]\}}||kre|j|jdd|j||!|jdtn|j|jdd|j||!dd|jdt|}qW|t|jkr|j|jdd|j||jdtn|jdS(NiRhs%sRRYs grep.match( RkRRRRRXRR"R(RRsRRR((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyR s   #  Rfc @s|j}|j}|j}j|ij|ij|g}x|D]}|}y|j|}Wntjk rq]nXy|j|} Wn$tjk r||j} nXo| o| d} | r | j|i| sR]cs@s|]}|jVqdS(N(R(RRM((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pys ss, cs@s|] }|VqdS(N((RR((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pys ss)no open branch heads found on branches %ss (started at %s)s iRdR`cS@s |j S(N(Rd(R((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyR sN(R#RWRVRaR)RRR{RdRWRRcRRRRR ROR$RR(tshowR(R/RYt branchrevsR[tstartRdRMRdRR\tdagheadst haveheadstheadlessR R5Ry((RYs8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRd} sF#)&..    t extensionsshow only help for extensionssshow only help for commandsRLtkeywordsshow topics matching keywordR*s"show help for specific platform(s)tPLATFORMs[-eck] [-s PLATFORM] [TOPIC]cK@s|jdpg}t|dkrtjjdrI|jdqtjdkrh|jdqtjdkr|jdq|jd|jtjjn|jr|jd ntj t }t j |||d ||}|j d |j|d S( sshow help for a given topic or a help overview With no arguments, print a list of commands with short help messages. Given a topic, extension, or command name, print help for that topic. Returns 0 if successful. R*itwintwindowstOpenVMStvmstplan9tunixR?tkeepRN(RaR"R#t sysplatformt startswithRRR?tsystmodulesRlRt formattedhelpROR(R/RR[RRSt formatted((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pythelp_ s     s identify|idsidentify the specified revisiontnumsshow local revision numbertidsshow global revision ids show branchR-s show tagsR sshow bookmarkss[-nibtB] [-r REV] [SOURCE]c  @stj| } | r5| r5tjtdn|pP|pP|pP|pP| } g} g} |rtj|j|\}} tj|p|| |j }tj || d \} }n|j d| }|j |s[|s|s|rtjtdn| r2| r2| d}n|sAd}nj||j}| sk|rw|g} n|jd|tjfd}|jr|r| j|qX| rX|j rXdj|}|r| j|qqXq|jd t|s3d |jkr|jd |j|d d qn|r|tj||gd }ntj||d }|jd kr&|d }|j}g}x!|D]}|j|j qWd}|j!dt"dt#dt#rd}n|jd|g|D]}|j|j$^q'}| sT|rsddj||fg} n|jdddj||f|rg|D]}d|j^q}| jddj||fn|jd|jg|D]}|j|j$^qd d nn|j|j$}| sG|rS|g} n|jd||r| jtj%|jn|j }| r#|j r#|j&}|dkr| jd|ndj|}|r| j|ndj|j'}|rq| j|qqnN|r?| j|j&n|rU| j|n|rq| j|j'n|jd |j|jd|j&|jd|j|d ddd|jd |j|j'd d |j(d||j)ddj| |j*d S(!s#identify the working directory or specified revision Print a summary identifying the repository state at REV using one or two parent hash identifiers, followed by a "+" if the working directory has uncommitted changes, the branch name (if not default), a list of tags, and a list of bookmarks. When REV is not given, print a summary of the current state of the repository including the working directory. Specify -r. to get information of the working directory parent without scanning uncommitted changes. Specifying a path to a repository root or Mercurial bundle will cause lookup to operate on that repository/bundle. .. container:: verbose Template: The following keywords are supported in addition to the common template keywords and functions. See also :hg:`help templates`. :dirty: String. Character ``+`` denoting if the working directory has uncommitted changes. :id: String. One or two nodes, optionally followed by ``+``. :parents: List of strings. Parent nodes of the changeset. Examples: - generate a build identifier for the working directory:: hg id --id > build-id.dat - find the revision corresponding to a tag:: hg id -n -r 1.3 - check the most recent revision of a remote repository:: hg id -r tip https://www.mercurial-scm.org/repo/hg/ See :hg:`log` for generating more information about specific revisions, including full hash identifiers. Returns 0 if successful. s5there is no Mercurial repository here (.hg not found)tidentifys3can't query remote revision number, branch, or tagsiRRc@sng}djdkrdt}gjdjD]\}}||kr=|^q=}nt|S(NR t namespaces(tlistkeysRRR$(tbmst hexremoterevtbmtbmr(Rt remoterev(s8/usr/lib64/python2.7/site-packages/mercurial/commands.pytgetbmsS s  "t/R{R RRARuR6RRRRutdirtys%s%ss%dRRSs(%s)R-RjRRRys%s R}N(+R#RWRRRRRRRRRRVRRRRbRR0RRRR=RRRRt formatlistR)RRRdRR-RRRXR{RRR RRR(R/RYRRdRRRR-R R[RSRRZR\RRthexrevRRRyRttaglistRRt hexoutputt numoutputRR((RRs8/usr/lib64/python2.7/site-packages/mercurial/commands.pyR s= !       (    ( ###2     %%s import|patchRTs]directory strip option for patch. This has the same meaning as the corresponding patch optiontNUMsbase path (DEPRECATED)tPATHs;skip check for outstanding uncommitted changes (DEPRECATED)s/don't commit, just update the working directorytbypasss2apply patch without touching the working directorytpartialscommit even if some hunks failtexacts"abort if patch would apply lossilysapply patch to subdirectorys import-branchs8use any branch information in patch (implied by --exact)s[OPTION]... PATCH...c@sRtj|}|s-tjtdn|f|}|jd}|retj||dtjj| |}|jtd|tj||}t}xtj|D]}tj||4}t j||||| tj\}}}WdQX|rt }|j!|dn|s|rdj}n |g}|r|j"td|j"tdd} PqqW|stjtd|qqW| r2j#dj| nWdQXWdQXWdQX| SWdQXdS( stimport an ordered set of patches Import a list of patches and commit them individually (unless --no-commit is specified). To read a patch from standard input (stdin), use "-" as the patch name. If a URL is specified, the patch will be downloaded from there. Import first applies changes to the working directory (unless --bypass is specified), import will abort if there are outstanding changes. Use --bypass to apply and commit patches directly to the repository, without affecting the working directory. Without --exact, patches will be applied on top of the working directory parent revision. You can import a patch straight from a mail message. Even patches as attachments work (to use the body part, it must have type text/plain or text/x-patch). From and Subject headers of email message are used as default committer and commit message. All text/plain body parts before first diff are added to the commit message. If the imported patch was generated by :hg:`export`, user and description from patch override values from message headers and body. Values given on command line with -m/--message and -u/--user override these. If --exact is specified, import will set the working directory to the parent of each patch before applying it, and will abort if the resulting changeset has a different ID than the one recorded in the patch. This will guard against various ways that portable patch formats and mail systems might fail to transfer Mercurial data or metadata. See :hg:`bundle` for lossless transmission. Use --partial to ensure a changeset will be created from the patch even if some hunks fail to apply. Hunks that fail to apply will be written to a .rej file. Conflicts can then be resolved by hand before :hg:`commit --amend` is run to update the created changeset. This flag exists to let people import patches that partially apply without losing the associated metadata (author, date, description, ...). .. note:: When no hunks apply cleanly, :hg:`import --partial` will create an empty changeset, importing only the patch metadata. With -s/--similarity, hg will attempt to discover renames and copies in the patch in the same way as :hg:`addremove`. It is possible to use external patch programs to perform the patch by setting the ``ui.patch`` configuration option. For the default internal tool, the fuzz can also be configured via ``patch.fuzz``. See :hg:`help config` for more information about configuration files and how to use these options. See :hg:`help dates` for a list of formats valid for -d/--date. .. container:: verbose Examples: - import a traditional patch from a website and detect renames:: hg import -s 80 http://example.com/bugfix.patch - import a changeset from an hgweb server:: hg import https://www.mercurial-scm.org/repo/hg/rev/5ca8c111e9aa - import all the patches in an Unix-style mbox:: hg import incoming-patches.mbox - import patches from stdin:: hg import - - attempt to exactly restore an exported changeset (not always possible):: hg import --exact proposed-fix.patch - use an external tool to apply a patch which is too fuzzy for the default internal tool. hg import --config ui.patch="patch --merge" fuzzy.patch - change the default fuzzing from 2 to a less strict 7 hg import --config ui.fuzz=7 fuzz.patch Returns 0 on success, 1 on partial success (see --partial). s!need at least one patch to importRnRRRs$cannot use --no-commit with --bypassR_issimilarity must be a numberids$similarity must be between 0 and 100s%cannot use --similarity with --bypassRscannot use --exact with --editRs cannot use --exact with --prefixRsRc@s jdS(Ntimport(RB((RY(s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRS sc@stjdS(NR(R((RY(s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRX sRsapplying patch from stdin tstdins applying %s Ns spatch applied partially s1(fix the .rej files and run `hg commit --amend`) is%s: no diffs founds * * * ($R#RWRRRRaR2Rtfloatt ValueErrorRR RRRR0tnullcontextmanagerRVRRtfinRRRRtopenpathRXR!Rtextractt tryimportoneRRRt write_errtsavecommitmessage(R/RYtpatch1tpatchesR[RnRRtsimRstmsgsRRROtdsguardRtpatchurlt patchfilethaspatchthunkt patchdataR R{trej((RYs8/usr/lib64/python2.7/site-packages/mercurial/commands.pytimport_ sz                   +s incoming|ins*run even if remote repository is unrelateds newest-firstsshow newest record firstsfile to store the bundles intotFILEs'a remote changeset intended to be addedscompare bookmarkss(a specific branch you would like to pulls<[-p] [-n] [-M] [-f] [-r REV]... [--bundle FILENAME] [SOURCE]RSc @stjjdrltjgfd}tj|d|dtdSjdrjdrtj t dnjd r\tj j |jd \}}tj |}d |jd krjt d dSjd jt dtj|tj|Sj |_ztj|SWd`XdS(sshow new changesets found in source Show new changesets found in the specified path/URL or the default pull location. These are the changesets that would have been pulled by :hg:`pull` at the time you issued this command. See pull for valid source format details. .. container:: verbose With -B/--bookmarks, the result of bookmark comparison between local and remote repositories is displayed. With -v/--verbose, status is also displayed for each bookmark like below:: BM1 01234567890a added BM2 1234567890ab advanced BM3 234567890abc diverged BM4 34567890abcd changed The action taken locally when pulling depends on the status of each bookmark: :``added``: pull will create it :``advanced``: pull will update it :``diverged``: pull will create a divergent bookmark :``changed``: result depends on remote changesets From the point of view of pulling behavior, bookmark existing only in the remote repository are treated as ``added``, even if it is in fact locally deleted. .. container:: verbose For remote repository, using --bundle avoids downloading the changesets twice if the incoming is followed by a pull. Examples: - show incoming changes with patches and full description:: hg incoming -vp - show incoming changes excluding merges, store a bundle:: hg in -vpM --bundle incoming.hg hg pull incoming.hg - briefly list changes inside a bundle:: hg in changes.hg -T "{desc|firstline}\n" Returns 0 if there are incoming changes, 1 otherwise. tgraphc@s5tj||}tj||tjdS(N(Rt graphrevst displaygraphRt asciiedges(RtchlistR5trevdag(R[RYR/(s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyR scS@sdS(Ni((((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyR stbufferediRqRs&cannot combine --bundle and --subreposR RRs!remote doesn't support bookmarks tincomingscomparing with %s N(R#RWRaRtcheckunsupportedgraphflagsRt _incomingRRRRRRRRR RORR0t hidepasswordR Rt _subtoppath(R/RYRR[RR\R((R[RYR/s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyR s,C%  tinits![-e CMD] [--remotecmd CMD] [DEST]RcK@s5tj|}tj|||j|dtdS(swcreate a new repository in the given directory Initialize a new repository in the given directory. If the given directory does not exist, it will be created. If no directory is given, the current directory is used. It is possible to specify an ``ssh://`` URL as the destination. See :hg:`help urls` for more information. Returns 0 on success. tcreateN(R#RWRRRR(R/RR[((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyR stlocatetfullpaths-print complete paths from the filesystem roots[OPTION]... [PATTERN]...c O@s)tj|}|jdr'd}nd}tj||jdd }d}tj|||dddd }|jd |jd krt |j j |}n|j |}xd|D]\} |jd r|j |j | |n%|j |r|j| p| |d }qW|S(s>locate files matching specific patterns (DEPRECATED) Print files under Mercurial control in the working directory whose names match the given patterns. By default, this command searches all directories in the working directory. To search just the current directory and its subdirectories, use "--include .". If no patterns are given to match, this command prints the names of all files under Mercurial control in the working directory. If you want to feed the output of this command into the "xargs" command, use the -0 option to both this command and "xargs". This will avoid the problem of "xargs" treating single filenames that contain whitespace as multiple filenames. See :hg:`help files` for a more versatile command. Returns 0 if a match is found, 1 otherwise. Rss RdiRStrelglobRcS@stS(N(RX(RR:((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRsRRiN(R#RWRaR)RRVRURORdR$RRrRtwjoinR( R/RYRZR[RRyRR\tfilesgenR((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyR s$    % s log|historys follow-firsts=only follow the first parent of merge changesets (DEPRECATED)s!show revisions matching date spectDATER sshow copied filess+do case-insensitive search for a given texttTEXTs%show the specified revision or revsettLs line-ranges2follow line range of specified file (EXPERIMENTAL)s FILE,RANGEtremoveds*include revisions where files were removeds only-mergessshow only merges (DEPRECATED)srevisions committed by usertUSERs only-branchs?show only changesets within the given named branch (DEPRECATED)s-show changesets within the given named branchtPtprunes/do not display revision or any of its ancestorss[OPTION]... [FILE]c O@stj|}|jd}|rL|jd rLtjtdn|rp|rptjtdntj||jdd}tj |||\}}|rtj |||\}}nd }|jdrd }|r|j d}nt j|d |}n|jd tj||||d t} |jd r_tj} n tj} | |||| |d S(sshow revision history of entire repository or files Print the revision history of the specified files or the entire project. If no revision range is specified, the default is ``tip:0`` unless --follow is set, in which case the working directory parent is used as the starting revision. File history is shown without following rename or copy history of files. Use -f/--follow with a filename to follow history across renames and copies. --follow without a filename will only show ancestors of the starting revision. By default this command prints revision number and changeset id, tags, non-trivial parents, user, date and time, and a summary for each commit. When the -v/--verbose switch is used, the list of changed files and full commit message are shown. With --graph the revisions are shown as an ASCII art DAG with the most recent changeset at the top. 'o' is a changeset, '@' is a working directory parent, '_' closes a branch, 'x' is obsolete, '*' is unstable, and '+' represents a fork where the changeset from the lines below is a parent of the 'o' merge on the same line. Paths in the DAG are represented with '|', '/' and so forth. ':' in place of a '|' indicates one or more revisions in a path are omitted. .. container:: verbose Use -L/--line-range FILE,M:N options to follow the history of lines from M to N in FILE. With -p/--patch only diff hunks affecting specified line range will be shown. This option requires --follow; it can be specified multiple times. Currently, this option is not compatible with --graph. This option is experimental. .. note:: :hg:`log --patch` may generate unexpected diff output for merge changesets, as it will only compare the merge changeset against its first parent. Also, only files different from BOTH parents will appear in files:. .. note:: For performance reasons, :hg:`log FILE` may omit duplicate changes made on branches and will not show removals or mode changes. To see all such changes, use the --removed switch. .. container:: verbose .. note:: The history resulting from -L/--line-range options depends on diff options; for instance if white-spaces are ignored, respective changes with only white-spaces in specified line range will not be listed. .. container:: verbose Some examples: - changesets with full descriptions and file lists:: hg log -v - changesets ancestral to the working directory:: hg log -f - last 10 commits on the current branch:: hg log -l 10 -b . - changesets showing all modifications of a file, including removals:: hg log --removed file.c - all changesets that touch a directory, with diffs, excluding merges:: hg log -Mp lib/ - all revision numbers that match a keyword:: hg log -k bug --template "{rev}\n" - the full hash identifier of the working directory parent:: hg log -r . --template "{node}\n" - list available log templates:: hg log -T list - check if a given changeset is included in a tagged release:: hg log -r "a21ccf and ancestor(1.9)" - find all changesets by some user in a date range:: hg log -k alice -d "may 2008 to jul 2008" - summary of all changesets after the last tag:: hg log -r "last(tagged())::" --template "{desc|firstline}\n" - changesets touching lines 13 to 23 for file.c:: hg log -L file.c,13:23 - changesets touching lines 13 to 23 for file.c and lines 2 to 6 of main.c with patch:: hg log -L file.c,13:23 -L main.c,2:6 -p See :hg:`help dates` for a list of formats valid for -d/--date. See :hg:`help revisions` for more about specifying and ordering revisions. See :hg:`help templates` for more about pre-packaged styles and specifying custom templates. The default template used by the log command can be customized via the ``ui.logtemplate`` configuration setting. Returns 0 on success. t line_rangeRfs--line-range requires --follows:FILE arguments are not compatible with --line-range optionRdRuR itendrevR"RRN(R#RWRaRRRR)RRtgetrevstgetlinerangerevsRVRR.t getrenamedfnROR(Rtdisplaygraphrevst displayrevs( R/RYRZR[t linerangeRZtdiffert getrenamedRR5t displayfn((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyR"/s0     tmanifestsrevision to displayslist files from all revisionss[-r REV]c K@sCtj|}|jd|}|jdr|s<|rTtjtdnt}x.|D]&}||}|t|jO}qdW|j dx1t |D]#}|j |j dd|qW|j dS|r|rtjtdn|s|}nidd 6d d 6d d 6d d6} idd 6dd 6dd 6dd6} |rutj||gd}ntj||}|j} |j dx|D]}|j |jd|||j} |j|jddt| ||j|jdd| | | | |j dd|qW|j dS(s output the current or given revision of the project manifest Print a list of version controlled files for the given revision. If no revision is given, the first parent of the working directory is used, or the null revision if no revision is checked out. With -v, print file permissions, symlink and executable bits. With --debug, print file revision hashes. If option --all is specified, the list of all files from all revisions is printed. This includes deleted and renamed files. Returns 0 on success. RRts#can't specify a revision with --allRs%s Ns please specify just one revisiont@Rst*RR6RmRt644t755RuRyRhs%s s mode types%s %1s (R#RWRRaRRRRcRROR$RRRR)RRRRtflagsRgRRR?( R/RYR{RdR[RtresRyRktchartmodetmftfl((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRsD         ""    #$s8force a merge including outstanding changes (DEPRECATED)srevision to mergetpreviews1review revisions to merge (no merge is performed)sabort the ongoing merges[-P] [[-r] REV]c K@sZtj|}|jd}|rR|jjtkrRtj|tdn|r|rvt j tdn|jdrt j tdn|jdrt j tdqn|jdr|rt j tdn|s |jd}n|r-t j ||j }n| rW| rW|tj|j }n|jdr|jd }|}|jjd |gd |g}tj|||}x|D]}|j||qW|jd Si|jd dd6} |j| dH|jd} ddg} tj||d| d| d| d|SWdQXdS(smerge another revision into working directory The current working directory is updated with all changes made in the requested revision since the last common predecessor revision. Files that changed between either parent are marked as changed for the next commit and a commit must be performed before any further updates to the repository are allowed. The next commit will have two parents. ``--tool`` can be used to specify the merge tool used for file merges. It overrides the HGMERGE environment variable and your configuration files. See :hg:`help merge-tools` for options. If no revision is specified, the working directory's parent is a head revision, and the current branch contains exactly one other head, the other head is merged with by default. Otherwise, an explicit revision with which to merge with must be provided. See :hg:`help resolve` for information on handling file conflicts. To undo an uncommitted merge, use :hg:`merge --abort` which will check out a clean copy of the original merge parent, losing all changes. Returns 0 on success, 1 if there are unresolved files. R!Rs"cannot specify a node with --abortRds%cannot specify both --rev and --abortR%s%cannot specify --preview with --aborts please specify just one revisionRRRdiRR6R/RRs working copys merge revt mergeforcetlabelsN(R/R(R#RWRaRRRR R2RRRR)RR{Rt destmergeRRt findmissingRR(RRRRR( R/RYR{R[R!RxRR4R5R RR'((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyR-sD'!   s outgoing|outs6a changeset intended to be included in the destinations(a specific branch you would like to pushs&[-M] [-p] [-n] [-f] [-r REV]... [DEST]c K@s|jj|dd}|sBtjtddtdntj|}|jdr'tj g|t j ||||\}}|st j |||||dStj|||}|jdtj|||d t}tj||||tjt j |||||d S|jd r|jpE|j}t j|||}d |jd kr|jtd d S|jtdtj||jdtj|||S|jp|j|_zt j||||SWd|`XdS(s'show changesets not found in the destination Show changesets not found in the specified destination repository or the default push location. These are the changesets that would be pushed if a push was requested. See pull for details of valid destination formats. .. container:: verbose With -B/--bookmarks, the result of bookmark comparison between local and remote repositories is displayed. With -v/--verbose, status is also displayed for each bookmark like below:: BM1 01234567890a added BM2 deleted BM3 234567890abc advanced BM4 34567890abcd diverged BM5 4567890abcde changed The action taken when pushing depends on the status of each bookmark: :``added``: push with ``-B`` will create it :``deleted``: push with ``-B`` will delete it :``advanced``: push will update it :``diverged``: push with ``-B`` will update it :``changed``: push with ``-B`` will update it From the point of view of pushing behavior, bookmarks existing only in the remote repository are treated as ``deleted``, even if it is in fact added remotely. Returns 0 if there are outgoing changes, 1 otherwise. RSs default-pushs"default repository not configured!RRssee 'hg help config.paths'RNRRiR Rs!remote doesn't support bookmarks scomparing with %s (s default-pushRS( RtgetpathRRRR#RWRaRRRt _outgoingR t outgoinghooksRROR(RRRRtpushloctlocRRR RR0RR RR( R/RYRR[RRRRR5((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyR~s>1    Rs&show parents of the specified revisions[-r REV] [FILE]cK@stj|}|jd}|r?tj||gd}ntj||d}|r|tj||f|}|jst |j dkrt j t dn|j d}g}xQ|jD]C}|sqny|j|j|Wqt jk rqXqW|s:t j t d|ng} x^|D].} |j|d| } | j| jqGWn%g|jD]}|j^q} tj|||} x.| D]&} | tkr| j|| qqW| jdS( sshow the parents of the working directory or revision (DEPRECATED) Print the working directory's parent revisions. If a revision is given via -r/--rev, the parent of that revision will be printed. If a file argument is given, the revision in which the file was last changed (before the working directory revision or the argument to --rev if given) is printed. This command is equivalent to:: hg log -r "p1()+p2()" or hg log -r "p1(REV)+p2(REV)" or hg log -r "max(::p1() and file(FILE))+max(::p2() and file(FILE))" or hg log -r "max(::p1(REV) and file(FILE))+max(::p2(REV) and file(FILE))" See :hg:`summary` and :hg:`help revsets` for related information. Returns 0 on success. RdRuis%can only specify an explicit filenameis'%s' not found in manifest!tfileidN(R#RWRaR)RRRVRUtanypatsR"RRRRRRRR)tfilectxR{RR(RRR(R/RYtfile_R[RdRyR\t filenodestcpRRR~R5Ro((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRs<$ %  Rs[NAME]c K@stj|}|jd|r_g|jjD]$\}}||kr2||f^q2}nt|jj}|jd|}|jrtj }nt }|j rd} nd} | o|j } x|D]\}}|j |j | d| ||j |j dd||jxkt|jjD]T\} } | d ksXt| rx|jd|| fn|j | | d| q:WqW|j|r| r|j s|jtdndSd Sd S( sshow aliases for remote repositories Show definition of symbolic path name NAME. If no name is given, show definition of all available names. Option -q/--quiet suppresses all output when searching for NAME and shows only the path names when listing all definitions. Path names are defined in the [paths] section of your configuration file and in ``/etc/mercurial/hgrc``. If run inside a repository, ``.hg/hgrc`` is used, too. The path names ``default`` and ``default-push`` have a special meaning. When performing a push or pull operation, they are used as fallbacks if no location is specified on the command-line. When ``default-push`` is set, it will be used for push and ``default`` will be used for pull; otherwise ``default`` is used as the fallback for both. When cloning a repository, the clone source is written as ``default`` in ``.hg/hgrc``. .. note:: ``default`` and ``default-push`` apply to all inbound (e.g. :hg:`incoming`) and outbound (e.g. :hg:`outgoing`, :hg:`email` and :hg:`bundle`) operations. See :hg:`help urls` for more information. .. container:: verbose Template: The following keywords are supported. See also :hg:`help templates`. :name: String. Symbolic name of the path alias. :pushurl: String. URL for push operations. :url: String. URL or directory path for the other operations. Returns 0 on success. Rs%s s%s = Rturls%s:%s = s not found! iiN(RR5(R#RWRORRR$RRR0RRCR=RRgtrawloct suboptionsRR.RRR R( R/RYRUR[RRt pathitemsRRtnamefmtt showsuboptstsuboptR((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRs:- !     #"   tphasetpublicsset changeset phase to publictdraftsset changeset phase to draftsset changeset phase to secretsallow to move boundary backwardstarget revisions[-p|-d|-s] [-f] [-r] [REV...]c @stj|}d}x\ttjD]K\}}|j|tr%|dk rgtj t dn|}q%q%Wt |}|j |d|sg|dj D]}|j^q}ntj||}d}|dkr(x |D]3} || } |jd| j| jfqWn|j|jd} |setj t dng|D]} || j^ql} |j} | jj}g| D]} || | ^qtj|| || |drtj|| || nWdQXWdQX| jj}g| D]} || | ^qtfd | D}| j}g| D]%}|j||krd|^qd}|r|jt d t|d }n|rt d |}|r|j|q |j |n|jt d |S(sset or show the current phase name With no argument, show the phase name of the current revision(s). With one of -p/--public, -d/--draft or -s/--secret, change the phase value of the specified revisions. Unless -f/--force is specified, :hg:`phase` won't move changesets from a lower phase to a higher phase. Phases are ordered as follows:: public < draft < secret Returns 0 on success, 1 if some phases could not be changed. (For more information about the phases concept, see :hg:`help phases`.) sonly one phase can be specifiedRdis%i: %s R<sempty revision setRNc3@s#|]}||kVqdS(N((RRc(tnewdatatolddata(s8/usr/lib64/python2.7/site-packages/mercurial/commands.pys ss9cannot move %i changesets to a higher phase, use --force is phase changed for %i changesets sno phases changed (!R#RWRVR6R"t phasenamesRaRXRRRR@RRRdR)RRRhRRBR{t unfilteredt _phasecacheR<tadvanceboundarytretractboundarytsumRR R"RR(R/RYRZR[t targetphasetidxRRqRRcRyROR4tunfitgetphasetchangestclRoR]R ((R?R@s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyR<dsZ   ,   * #  " % "  % c C@s'|dkrdS|rytj||||SWqtjk r}tdtj|}|j}tj|d|qXn|dkrt|j } | |kr|j tdq#| dkr|j tdq#|j tdn(|j d d s#|j td ndS( scRun after a changegroup has been added via pull/unbundle This takes arguments below: :modheads: change of heads by pull/unbundle :optupdate: updating working directory is needed or not :checkout: update destination revision (or None to default destination) :brev: a name, which might be a bookmark to be activated after updating iNsnot updating: %sRRis3(run 'hg heads' to see heads, 'hg merge' to merge) s5(run 'hg heads .' to see heads, 'hg merge' to merge) s(run 'hg heads' to see heads) RSsupdate.requiredests((run 'hg update' to get a working copy) ( Rt updatetotallyRt UpdateAbortRR3t forcebytestrRRR"RRR( R/RYtmodheadst optupdateRtbrevRR RRtcurrentbranchheads((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyt postincomings$     Rs8update to new branch head if new descendants were pulleds,run even when remote repository is unrelatedsbookmark to pulls9[-u] [-f] [-r REV]... [-e CMD] [--remotecmd CMD] [SOURCE]cK@stj|}|jddr`|jdr`td}td}tj|d|ntj|j ||jd\}}|j tdt j |tj |||}ztj||||jd \}} i} |jd r|s g}n|jd } tj| } | | d tj6d?tj6}x|D]|}||sqn|||\}}|j|jd||j| dd|d||jdd|d|qW|jdS|jtjj|}|jpm|j j!t"kst j t d n|d'}|j#r|j$tj%krtj&|||}|j'| r| r| rdSntj|||}d}t(}t(}g}g}|rN|j)dd!}|d@krNt(}qNnx|D]}||smqUnt*}||tjkr|j+|}|r|r|j,t d$|qqU| r|r|j,t d%|qqUt*}qUn||tjtjfkrz|r+|j-|tjqU| rG|j-|tjqU||tjkrU|j,t d&|qUqUn|r|r|j.|}|j} Wd'QXt/j0| r||tjkr|j1|qn|j-|tjqU| r|j-|tjqU|j2|}!yt3j4|!|!d(Wn1t5t6fk rk}"|"j7t7j8krlqlnXzsi|jd)d*dA6}#|j9|#d|j:||\}$}%Wd'QX|$s|j1|n|%rd}nWd'|j'X|$rUy't3j;|!d(tj<|||!WqKt6k rG}"|"j7t7j8krHqHqKXqUqUW|r|j,t d-d.j=|d/|d#kr| r| rt j t d0d t d1qnx|D]}zWi|jd)d*dB6}#|j9|#d|j>||}%Wd'QX|%rd}nWd'|j'X|j2|}!y't3j;|!d(tj<|||!Wqt6k r}"|"j7t7j8krqqXqW|j'|j?| r |r d'}t@g|D]!}&|&jAd2dkr|&^qs g|D]}&d3|&^q}tj|||}x|D]x}||s@ q( nd4}'d*j=g|D]!}|j|rV |'|^qV }(t d5|(d6j=|f}Pq( Wn|j,t d7|rI |j,|qI nv|j#rI |j$d8krI |s t|jB rI t|jC rI tjD|||}|j'|sF dSqI nWd'QXt|jC})t|jB}*|) r |* r |jEt d9tFjG|n|)s |jEt d:n|S(Csredo merges or set/view the merge status of files Merges with unresolved conflicts are often the result of non-interactive merging using the ``internal:merge`` configuration setting, or a command-line merge tool like ``diff3``. The resolve command is used to manage the files involved in a merge, after :hg:`merge` has been run, and before :hg:`commit` is run (i.e. the working directory must have two parents). See :hg:`help merge-tools` for information on configuring merge tools. The resolve command can be used in the following ways: - :hg:`resolve [--re-merge] [--tool TOOL] FILE...`: attempt to re-merge the specified files, discarding any previous merge attempts. Re-merging is not performed for files already marked as resolved. Use ``--all/-a`` to select all unresolved files. ``--tool`` can be used to specify the merge tool used for the given files. It overrides the HGMERGE environment variable and your configuration files. Previous file contents are saved with a ``.orig`` suffix. - :hg:`resolve -m [FILE]`: mark a file as having been resolved (e.g. after having manually fixed-up the files). The default is to mark all unresolved files. - :hg:`resolve -u [FILE]...`: mark a file as unresolved. The default is to mark all resolved files. - :hg:`resolve -l`: list files which had or still have conflicts. In the printed list, ``U`` = unresolved and ``R`` = resolved. You can use ``set:unresolved()`` or ``set:resolved()`` to filter the list. See :hg:`help filesets` for details. .. note:: Mercurial will not let you commit files with unresolved merge conflicts. You must use :hg:`resolve -m ...` before you can commit after a conflicting merge. .. container:: verbose Template: The following keywords are supported in addition to the common template keywords and functions. See also :hg:`help templates`. :mergestatus: String. Character denoting merge conflicts, ``U`` or ``R``. :path: String. Repository-absolute path of the file. Returns 0 on success, 1 if any files fail a resolve attempt. RSsresolve.confirms'all mark unmark list no_status re_mergeistoo many actions specifiedisresolve.explicit-re-merges*use --mark, --unmark, --list or --re-mergesno action specifiedRRs can't specify --all and patternss!no files or directories specifieds*use --all to re-merge all unresolved filess1re-merge all unresolved files (yn)?$$ &Yes $$ &Nos user quits9mark all unresolved files as resolved (yn)?$$ &Yes $$ &Nos9mark all resolved files as unresolved (yn)?$$ &Yes $$ &NoRqsresolve.unresolvedRsresolve.resolvedR4R sresolve.driverresolvedR#Ryt mergestatuss%s RYRs%s s/resolve command not applicable when not mergingsresolve.mark-checkR R!s(not marking %s as it is driver-resolved s*not unmarking %s as it is driver-resolved s,%s: path conflict must be resolved manually Ns.resolveRR6R/Rs<warning: the following files still have conflict markers: s s sconflict markers detectedsuse --all to mark anywayRspath:%scS@s|dkrdSd|dd!S(Ntre_merges --re-merge s-%s ii((R((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pytflagVs s(try: hg resolve %s%s) R}s1arguments do not match paths that need resolving Rs(no more unresolved files) sA(no more unresolved files -- run "hg resolve --all" to conclude) (sresolve.unresolvedR(sresolve.resolvedR4(sresolve.unresolvedR (sresolve.resolvedR4(sresolve.driverresolvedR#(R R!(R/R(R/R(HR#RWRRRaR"R@tfilterRVRRRt promptchoiceRORRt mergestateRMR)RUtMERGE_RECORD_UNRESOLVEDtMERGE_RECORD_RESOLVEDtMERGE_RECORD_UNRESOLVED_PATHtMERGE_RECORD_RESOLVED_PATHtMERGE_RECORD_DRIVER_RESOLVEDRRRgRRRR]RRRt mergedrivertmdstatetMERGE_DRIVER_STATE_UNMARKEDtdriverpreprocessRRXRBRRR RrtwvfsRthasconflictmarkersRRR0tcopyfiletIOErrortOSErrorterrnotENOENTRt preresolveR=torigpathRRqt recordactionsR.RYtdriverresolvedt unresolvedtdriverconcludeRR tcheckafterresolved(+R/RYRZR[tconfirmtflaglistRRtRrRsRtnostatustremerget actioncountRRRtmstwctxR\tmergestateinfoRkRYR`tproceedRtdidworkt runconcludet tocompleteRt markcheckRtfobjtfdataRgRR tcompleteRcRRvRt unresolvedftdriverresolvedf((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRqJsn? 4'                   !                '   4   7  Rs*revert all changes when no arguments givenstipmost revision matching dates revert to the specified revisions no-backups"do not save backup copies of filess interactively select the changess[OPTION]... [-r REV] [NAME]...c O@s@tj|}|jdre|jdrEtjtdntj|||d|dd;}|rM|j*td<|ntj>d=}|r|j*td>|n|s|rjtd?dj |ntj?tj@rH xdSD]t} tj>| dC}!itdDd@6tdEdA6tdFdB6}"|!dkrj|"| |!dqqWntAjBjCdGrw t%t%}#}$nft3t3}#}$xDtAjDdHD]*\}%}&|%r t%}#n|&r t%}$q q W|# r |$ r dHSfdI}'|#r |'\}(ndH}(fdJ})|$rh |)\}*}+},}-ndH}*}+},}-jCdGr g}|(r |j*tdKn|-jE}&|&r |j*tdLt|&n|,p }.dM|.jFdNkrl tjG|.}/|/ddkr; |j*tdO|/dn|/d.dkrl |j*tdP|/d.ql n|r jtdQdj |q jtdRntAjDf|*|+|,|-ffdHS(TsTsummarize working directory state This generates a brief summary of the working directory state, including parents, branch, commit status, phase and available updates. With the --remote option, this will check the default paths for incoming and outgoing changes. This can be time-consuming. Returns 0 on success. tsummaryiR}s6warning: merge state has unsupported record types: %s sparent: %d:%s RYslog.tagis (empty repository)s (no revision checked out)s (obsolete)c3@s%|]}j|d|VqdS(s trouble.%sN(RY(Rt instability(R/(s8/usr/lib64/python2.7/site-packages/mercurial/commands.pys _ss (s, t)s s log.summarys branch: %s RSs log.branchs bookmarks:s log.bookmarks *s [%s]Rs %d modifiedsstatus.modifieds%d addeds status.addeds %d removedsstatus.removeds %d renameds status.copieds %d copieds %d deletedsstatus.deleteds %d unknownsstatus.unknowns %d unresolvedsresolve.unresolveds %d subreposR(s (graft in progress)t updatestates (interrupted update)is (merge)s (new branch)R^s (head closed)s (clean)s (new branch head)cs@s|]}|jVqdS(N(R<(RR((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pys ss (%s)s commit: %s supdate: (current) s#update: %d new changesets (update) s3update: %d new changesets, %d branch heads (merge) sdraft()s%d draftssecret()s %d secrets phases: %s torphantcontentdivergenttphasedivergents()sorphan: %d changesetss content-divergent: %d changesetssphase-divergent: %d changesetsRNc@s)tjjd\}}|d}ytji|}Wn9tjk r|jdrin||dddfSXtj||d\}}|rg|D]}|j |^q}nj dt j |j jtj|d|}j j|||||dfS(NRSiRscomparing with %s Rdi(RRRRRRRaRVRRRDR0RR/t pushbufferRtfindcommonincomingt popbuffer(RR\tsbranchRRZRRdt commoninc(R[RYR/(s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyt getincomings  %  c @stjjdd\}}|d}tj|d\}}|krytji|}Wn6tjk rjdrn||ddfSXj dt j |n"dkr||ddfS}|ks dk r|krd}n}|rDg|D]}j |^q&}nj jtj|d|d|}j j||||fS(Ns default-pushRSiRscomparing with %s RxR(RRRRRVRRRRaRDR0RRR/RRRR( RR\tdbranchRZRtdotherRRdR(RR[RYRtsotherRR/(s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyt getoutgoing s0!   $ %   s1 or more incomings %d outgoingR Rs%d incoming bookmarkss%d outgoing bookmarkss remote: %s sremote: (synced) (RRR(HR#RWRORVRR{RRyRMRtUnsupportedMergeRecordsRt recordtypesR RR@RRRdRtchangesetlabelsR-R RR"Rt isunstablet instabilitiesR7RRORTRRRGtactivebookmarklabelR4RRR RR RRRhRiRRYRRRRXRRt closesbranchRR"R=tnewcommitphaseRARR)RZRRR t summaryhooksRatsummaryremotehooksRRR(0R/RYR[RyRtpnodetmarksRRRRRRRRR\R]RRqRRRmRmR'RRst cleanworkdirt pendingphaseRPtnewR>Rttroublet numtroublet troublemsgt needsincomingt needsoutgoingR3RRRRRRRRRtcounts((RR[RYRRRR/s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyR*sR     ""       *        1!!     (    #    # %  !   !#Rjs force tagsmake the tag localsrevision to tagR4s remove a tagRsuse text as commit messages8[-f] [-l] [-m TEXT] [-d DATE] [-u USER] [-r REV] NAME...cO@s'tj|}|j|jd}g|f|D]}|j^q=}t|tt|krtjt dnx?|D]7}t j ||d|stjt dqqW|j dr|j drtjt dn|j dr|d}n|j d}|j dr|j d rUd } nd } x|D]}|j |stjt d |n|j || krb| d krtjt d |qtjt d |qbqbWd}|sfddj|}qfnQ|j dsfx?|D]4}||jkr+tjt d|q+q+Wn|j d s|jj\} } | tkrtjt dn|j} |j d r| r| | krtjt dqnt j||j} |s7ddj|t| f}n|j d}|r^tj|}n|j drvd}nd}tjd|tj|}|j d rt j||jtkrtjt dntj||| ||j d |j d|d|WdQXWdQXdS(s add one or more tags for the current or given revision Name a particular revision using . Tags are used to name particular revisions of the repository and are very useful to compare different revisions, to go back to significant earlier versions or to mark branch points as releases, etc. Changing an existing tag is normally disallowed; use -f/--force to override. If no revision is given, the parent of the working directory is used. To facilitate version control, distribution, and merging of tags, they are stored as a file named ".hgtags" which is managed similarly to other project files and can be hand-edited if necessary. This also means that tagging creates a new commit. The file ".hg/localtags" is used for local tags (not shared among repositories). Tag commits are usually made at the head of a branch. If the parent of the working directory is not a branch head, :hg:`tag` aborts; use -f/--force to force the tag commit to be based on a non-head changeset. See :hg:`help dates` for a list of formats valid for -d/--date. Since tag names have priority over branch names during revision lookup, using an existing branch name as a tag name is discouraged. Returns 0 on success. Rstag names must be uniqueRjs/tag names cannot consist entirely of whitespaceRdR4s#--rev and --remove are incompatibleRRRstag '%s' does not existstag '%s' is not a global tagstag '%s' is not a local tagRcsRemoved tag %ss, Rs)tag '%s' already exists (use -f to force)suncommitted merges;working directory is not at a branch head (use -f to force)sAdded tag %s for changeset %sRns tag.removestag.addRscannot tag null revisionRjRN( R#RWRRRTR"RcRRRR)RURattagtypeRR-RRRRRR{RR2RR RRRdRttagsmodRj(R/RYtname1RKR[trev_RRoRt expectedtypeRxRRR{RnRR((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRjHsv+ &         "  c K@sYtj|}|jd|jd|}|j}d}x t|jD]\}}||}d} d}|j|dkrd} d}n|j|j d||j dd|d | d d t j |d } |j |j d | |jj||d | |j |jo'|dd|d | |jdqPW|jdS(slist repository tags This lists both regular and local tags. When the -v/--verbose switch is used, a third column "local" is printed for local tags. When the -q/--quiet switch is used, only the tag name is printed. .. container:: verbose Template: The following keywords are supported in addition to the common template keywords and functions such as ``{tag}``. See also :hg:`help templates`. :type: String. ``local`` for local tags. Returns 0 on success. R-R6s tags.normalRs tags.localRYRjs%sRYR}is %5d:%ssrev nodeRs %ss N(R#RWRORRbRttagslistRRRRRRRgR=RRdR?RR( R/RYR[RRbRRRothnRYR((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyR-s,      RR!s show patchtgitsuse git extended diff formats [-p] [-g]cK@sCtj|}tj|||}|j|d|jdS(s6show the tip revision (DEPRECATED) The tip revision (usually just called the tip) is the changeset most recently added to the repository (and therefore the most recently changed head). If you have just made a commit, that commit will be the tip. If you have just pulled changes from another repository, the tip of that repository becomes the current tip. The "tip" tag is special and cannot be renamed or assigned to a different changeset. This command is deprecated, please use :hg:`heads` instead. Returns 0 on success. RN(R#RWRR(RR(R/RYR[R5((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRstunbundles6update to new branch head if changesets were unbundleds [-u] FILE...cO@sx|f|}|j;x3|D]+}tj||}tj|||}t|tjrtj t ddt dnd|}ykd} t|t j sdt j|} n|j| (} t j||| ddd|} Wd QXWnAtjk r<} tj t d || fdt d nXt j| } q!WWd QXt||| |jd d d S( sapply one or more bundle files Apply one or more bundle files generated by :hg:`bundle`. Returns 0 on success, 1 if an update has unresolved files. s3packed bundles cannot be applied with "hg unbundle"RRs$use "hg debugapplystreamclonebundle"sbundle:Rs unbundle %sRR5Ns%s: unknown bundle feature, %ssEsee https://mercurial-scm.org/wiki/BundleFeature for more informationR(RRRRt readbundlet isinstanceR,tstreamcloneapplierRRRR t unbundle20R0RRBt applybundletBundleUnknownFeatureErrortcombinechangegroupresultsRTRaRV(R/RYtfname1tfnamesR[RRktgenR5ttxnnameROtoptexcRP((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRs.     supdate|up|checkout|cos'discard uncommitted changes (no backup)tchecksrequire clean working directorysmerge uncommitted changess[-C|-c|-m] [-d DATE] [[-r] REV]cK@s|jd}|jd}|jd}|jd}|jd}|ro|rotjtdn|jddr| r| r| rtjtd d td qn|dks|d kr|}n|r|dk rtjtd ntg|||fD]} | r| ^qdkrTtjtdnd} |rid} n|rxd} n|jFtj ||rtj |||}n|} |rt j ||gd}nt j ||dd} | j}| j} i|jdd d6}|j|d)tj|||| d|d| }WdQX| r| jd }|jtd|| jrtj||| }|jd|qn|SWdQXdS(supdate working directory (or switch revisions) Update the repository's working directory to the specified changeset. If no changeset is specified, update to the tip of the current named branch and move the active bookmark (see :hg:`help bookmarks`). Update sets the working directory's parent revision to the specified changeset (see :hg:`help parents`). If the changeset is not a descendant or ancestor of the working directory's parent and there are uncommitted changes, the update is aborted. With the -c/--check option, the working directory is checked for uncommitted changes; if none are found, the working directory is updated to the specified changeset. .. container:: verbose The -C/--clean, -c/--check, and -m/--merge options control what happens if the working directory contains uncommitted changes. At most of one of them can be specified. 1. If no option is specified, and if the requested changeset is an ancestor or descendant of the working directory's parent, the uncommitted changes are merged into the requested changeset and the merged result is left uncommitted. If the requested changeset is not an ancestor or descendant (that is, it is on another branch), the update is aborted and the uncommitted changes are preserved. 2. With the -m/--merge option, the update is allowed even if the requested changeset is not an ancestor or descendant of the working directory's parent. 3. With the -c/--check option, the update is aborted and the uncommitted changes are preserved. 4. With the -C/--clean option, uncommitted changes are discarded and the working directory is updated to the requested changeset. To cancel an uncommitted merge (and lose your changes), use :hg:`merge --abort`. Use null as the changeset to remove the working directory (like :hg:`clone -U`). If you want to revert just one file to an older revision, use :hg:`revert [-r REV] NAME`. See :hg:`help dates` for a list of formats valid for -d/--date. Returns 0 on success, 1 if there are unresolved files. RdRnRRRs please specify just one revisionRSsupdate.requiredestsyou must specify a destinationRRsfor example: hg update ".::"R6s'you can't specify a revision and a dateis=can only specify one of -C/--clean, -c/--check, or -m/--mergeR!RRuRSRR/RRt updatecheckNi supdated to hidden changeset %s s(%s) (R/R(RaRRRRRVR"RR tclearunfinishedRR)RRRdRNRRRMRR RR t_getfilteredreason(R/RYR{R[RdRnRRRRRRRRyRNR Rtctxstrt obsfatemsg((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyR1sVA  4       RpcC@s tj|S(sverify the integrity of the repository Verify the integrity of the current repository. This will perform an extensive check of the repository's integrity, validating the hashes and checksums of each entry in the changelog, manifest, and tracked files, as well as the integrity of their crosslinks and indices. Please see https://mercurial-scm.org/wiki/RepositoryCorruption for more information about recovery from corruption of the repository. Returns 0 on success, 1 if errors are encountered. (RRp(R/RY((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pyRpscK@s/tj|}|jr(|jdn|jd|}|j|jdtdtj td}|j s|j |n|jr|j tdng}g}g}xYt j D]K\}}|j ||j t j|pd|j t j|qW|jddd} |rd td |D} td td g} xt|||D]\} } }| j| j|jd | | |jr| j d| |n| jd|| j|jo| dd| |jru| j dququWn| j|jdS(soutput version and copyright information .. container:: verbose Template: The following keywords are supported. See also :hg:`help templates`. :extensions: List of extensions. :ver: String. Version number. And each entry of ``{extensions}`` provides the following sub-keywords in addition to ``{ver}``. :bundled: Boolean. True if included in the release. :name: String. Extension name. RLtvers'Mercurial Distributed SCM (version %s) s(see https://mercurial-scm.org for more information) Copyright (C) 2005-2018 Matt Mackall and others This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. s Enabled extensions: RRs{name} s %%-%ds cs@s|]}t|VqdS(N(R"(RRo((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pys stexternaltinternalRs%s tbundleds%ss N(R#RWR?RORRRRR0RLR=RRRt moduleversionRVtismoduleinternalRRRRgRR(R/R[RtlicenseRKtverst isinternalsRtmoduleRR9tplacesRoR>R((s8/usr/lib64/python2.7/site-packages/mercurial/commands.pytversion_sF       "    cC@s|j}xmt|D]_}|jds4qn|jd||fd|j|}t|d_|||ds     .,                                  0  E   z E   7e    r    D     H     !  w\  6           < V  q5    O  !Xz  sB  G   ) = 8       E            V   2e      8     G  K!  7 P! M     w      }!9  35   ' P4         *H    ! j  .   %!  n!>