ܬQc@s:*ddlmZmZmZmZmZddlmZddlm Z ddl Z ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl!Z!ddl"Z!ddl#Z#ddl$Z%ddl&Z&ddl'Z'ddl(Z(ddl)Z)ddl*Z*ddl+Z+ddl,Z,ddl-Z-ddl.Z.ddl/Z/ddl0Z0ddl1Z1ddl2Z2ddl3Z3ddl4Z4iZ5ej6e5Z6ddde de d fdd de d e d fd de7e dfdde7e dfdde7e dfddge de dfdde7e dfdde7e dfddeje de dfdd ej8e d!e d"fdd#e7e d$fdd%e7e d&fdd'e7e d(fdd)e7e d*fd+d,e7e d-fdd.e9e d/fgZ:d0d1e7e d2fgZ;d3d4de d5e d6fdd7de d8e d6fdd9e7e d:fgZ<d;d<ge d=e d>fd?d@ge dAe d>fgZ=dBdCde dDe dEfdFdGde dHe dIfgZ>dJdKde dLe dMfdNdOde dPe dQfgZ?ddRde dSe dTfddUde dVe dWfgZ@dXdYe7e dZfd[d\e7e d]fdFd^de d_e d`fdadbe7e dcfddde7e defdfdge7e dhfge@ZAdidje7e dkfd[d\e7e d]fddle7e dmfgZBdndoe7e dpfdqdre7e dsfdtdue7e dvfgZCdXdwe7e dxfddye7e dzfgeCd{d|de d}e d`fddde7e defgZDd~dde dfgZEddde de dfgZFdde7e dfgZGe6de=eGe;e ddZHe6deFe=e;e ddZIe6dddde de dfdde7e dfdde7e dfdidje7e dkfdNdOe7e dfdde7e dfdJdKe7e dfd0de7e dfdde7e dfdFde7e dfg eCe=e ddZJe6ddde7e dfdXdde de dfddde de dfd~dde de dfgeGe=e ddZKe6ddde7e dfddde de dfddde de dfgeEe=e>e?e de7e7dZLe6ddde9e dfd[de9e dfdqde9e dfdde9e dfd3de9e dfddde de d6fd{de9e dfge de7e7e7e7e7e7e7e7e7d ZMe6ddde9e dfddde de dfdJde9e dfdBdde de dfdde9e dfge de7e7e9e9e7e9dZNe6ddde7e dfdde7e dfge de7dZOe6ddide9e dfdde9e dfge de9e9dZPe6ddde7e dfddge de dfdqdge de dfddge de dfdide7e dfd~dde de dfge<e de7dZQe6dddde de dfddde de dfdde7e dfge=e ddZRe6dd{de7e dfdNdde de dfddge de dfdqdge de dfdde7e dfdde7e dfge<e de7dZSe6ddde7e d fdd e7e d fdd e7e d fge=e>e?eGe ddZTe6ddde7e dfdde7e dfge=e;e ddZUe6dge ddZVe6ddBde7e dfdde7e dfd0de7e dfge de7e9e9e9d ZWe6d!dide7e d"fge dIe7d#ZXe6d$gdd%ZYe6d&ge d'dd(ZZe6d)dd*e7e d+fge d,dd-Z[e6d.d~d/e7e d0fdqde7e d1fdd2e7e d3fdd4e7e d5fge d6e7d7Z\e6d8dd9e9e d:fdBd;e9e d<fge d=e7d>Z]e6d?d3d@e7e dAfge dBe7dCZ^e6dDddEe7e dFfddGe7e dHfge<e dIdJdKZ_e6dLddde dMe dfge dNdOZ`e6dPge dQdRdSZae6dTdUdVge dWe dXfddYge dZe dXfd~dde de dfge d[e7e7d\Zbe6d]gdd^Zce6d_dd9e9e d:fdBd;e9e d<fdd`dae dbe dfge dce7ddZde6dege dIdfZee6dggddhZfe6dige djdkZge6dlge dmdnZhe6doddpdae dqfge?e dre7dsZie6dtddue7e dvfd0dwe7e dxfdidye7e dzfdd{e7e d|fge d}d~Zje6dge ddZke6dge de7dZle6dddde de dfge ddZme6dddde de dfge ddZne6ddd9e9e d:fdBd;e9e d<fdJde9e dfge de7dZoe6dgddZpe6dge de7dZqe6dddle7e dfdde7e dfge de7e7dZre6dddde de dfge de7dZse6dge ddZte6de=e ddZue6dddddfddddfddddfge<e ddZve6dddge de dfddde de dfgeBeDe=eGe ddZwe6dddde de dfdde7e dfddge de dfgeBe ddZxe6de=e ddZye6dddge de dfdde9e dfd3de9e dfdde7e dfdde9e dfd{de9e de dMfge?eEe;e ddZze6ddde7e dfdde7e dfdidje7e dkfdde7e dfdde7e dfdFde7e dfd0de7e dfddge de dfdNdOe7e dfdJdKe7e dfg e=e ddZ{e6dddde de dfd~de9e dfdide9e dfdde9e dfge@e ddZ|e6d,d3de7e dfdde7e dfddde dfge de7dZ}e6dddde de dfd0de7e dfdde7e dfdqde7e dfd~d/e7e dfdtde7e dfge<e de7e7e7e7e7e7e7dZ~e6ddXdde de d`fdqdde de dfd3de9e dfdde7e dfdde7e dfdde7e dfdde7e dfdde7e dfge>e?eFe de7dZe6ddde7e dfd0de7e dfddde d e dIfddge d e dfdtde9e d fdqdge d e dfgeAe<eGe d dJdZe6de<e ddRdZe6dddde de dfdde7e dfdde7e dfge=e ddZe6ddde7e dfdde7e dfdJdKde de dMfdde7e dfddge de dEfddge d e dfdd{e7e d!fdBd"e7e d#fdNdOge d$e dQfdd%ge d&e dfdqdge d'e dfd(d)ge d*e dfg eAe=e d+d,Ze6d;ddde d-e dfdde9e d.fge de7e7d/Ze6d0dde7e d1fddde d2e dfd(d3e7e d4fgeEe d5e7d6Z$e6d7dde7e dfddge d8e dfd0de7e dfdtde9e d fdqdge d9e dfgeAe<eGe d:e7d;Ze6d<ddde d=e dfge@e d>e7d?Ze6d@ge dAe7dBZe6dCdXdDe9e dEfdJdFe9e dGfddHe9e dIfdde9e dJfddge dKe dfge dLdMZdNZe6dOdNdPe7e dQfdde7e dRfddge d e dfdtdSge dTe dUfdqdge d e dfge<e dVdJdWZe6dXdde7e dYfddge d8e dfdtdSge dZe dUfdqdge d9e dfdd[e9e d\fge<e d]e7d^Ze6d_gd`Ze6dadde7e dbfdde7e dcfge=e dddZe6dedde7e dffdde7e dfge=e;e dgdhZe6didide7e djfdFdke7e dlfdBdme7e dnfdNdoe7e dpfd0dqe7e drfgeEe=e ddsZe6dtdide7e dufdJdKde dve dMfddde dwe dfddxe7e dyfge=e;e dzd{Ze6d|e;dde9e d}fgd~Ze6dgdZe6dddde de dIfdJde7e dfddde de d`fddde de dIfdXdde de dfdidde de dfddde de dfd0dde de dfddde de dIfddde de dIfddde de dIfdde7e dfddde de d"fd~dde de dWfddRde de dTfdde7e dfddde de dIfge ddZe6ddNde7e dfge ddZe6ddde7e dfdBde7e dfdidye7e dzfdd{e7e d|fdJde7e dfdde7e dfdNde7e dfdde7e dfd0dqe7e drfdde7e dfdde7e dfddge de dfddde de dfg e=eGe ddZe6ddde7e dfgddZe6ddde7e dfdFde7e dfddde de dfdde7e dfd3de7e dfdBdCde de dEfge?e ddZe6d/gddZe6ddXdYe7e dZfd[d\e7e d]fge@e ddZe6ddNdPe7e dfge ddZe6ddde7e dfdde7e dfdJdKde dve dMfddde de dfge de7e7e9e7e9dZe6dgdZe6d)gdZdZdZdZdS(i(thextbintnullidtnullrevtshort(trelease(t_NtRt repositoryts8repository root directory or name of overlay bundle filetREPOtcwdschange working directorytDIRtytnoninteractivesBdo not prompt, automatically pick the first choice for all promptstqtquietssuppress outputtvtverbosesenable additional outputtconfigs5set/override config option (use 'section.name=value')tCONFIGtdebugsenable debugging outputtdebuggersstart debuggertencodingsset 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 exitththelpsdisplay help and exitthiddensconsider hidden changesetstnsdry-runs)do not perform actions, just print outputtetsshsspecify ssh command to usetCMDt remotecmds,specify hg command to run on the remote sidetinsecures>do not verify server certificate (ignoring web.cacerts config)tItincludes)include names matching the given patternstPATTERNtXtexcludes)exclude names matching the given patternstmtmessagesuse text as commit messagetTEXTtltlogfilesread commit message from filetFILEtdtdates(record the specified date as commit datetDATEtutusers&record the specified user as committertUSERtstylesdisplay using template map filetSTYLEttemplatesdisplay with templatetTEMPLATEtptpatchs show patchtgtgitsuse git extended diff formattlimits!limit number of changes displayedtNUMtMs no-mergessdo not show mergeststats(output diffstat-style summary of changestGtgraphsshow the revision DAGtattextstreat all files as texttnodatessomit dates from diff headerstwsignore-all-spaces'ignore white space when comparing linestbsignore-space-changes+ignore changes in the amount of white spacetBsignore-blank-liness(ignore changes whose lines are all blanks show-functions%show which function each change is intreverses&produce a diff that undoes the changestUtunifieds"number of lines of context to showttttoolsspecify merge tooltst similaritys-guess renamed files by similarity (0<=s<=100)t SIMILARITYtStsubrepossrecurse into subrepositoriess^adds[OPTION]... [FILE]...c Osbtj|d||}tj||||jd|jddddt}|r^dpadS( sradd 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. .. container:: verbose An example showing how 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 Returns 0 if all files are successfully added. tdry_runRVtprefixR t explicitonlyiiN(tscmutiltmatchtNonetcmdutiltaddtgettFalse(tuitrepotpatstoptsR-trejected((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyR^st addremovec Osyt|jdpd}Wn&tk rGtjtdnX|dks`|dkrxtjtdntj|||d|dS(sadd all new files, delete all missing files Add all new files and remove all missing files from the repository. New files are ignored if they match any of the patterns in ``.hgignore``. As with add, these changes take effect at the next commit. Use the -s/--similarity option to detect renamed files. This option takes a percentage between 0 (disabled) and 100 (files must be identical) as its parameter. With a parameter greater than 0, this compares every removed file with every added file and records those similar enough as renames. Detecting renamed files this way can be expensive. After using this option, :hg:`status -C` can be used to check which files were identified as moved or renamed. If not specified, -s/--similarity defaults to 100 and only renames of identical files are detected. Returns 0 if all files are successfully added. RSidssimilarity must be a numberis$similarity must be between 0 and 100gY@(tfloatR_t ValueErrortutiltAbortRRZRf(RaRbRcRdtsim((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRfs s^annotate|blametrtrevsannotate the specified revisiontREVtfollows8follow copies/renames and list the filename (DEPRECATED)s no-followsdon't follow copies and renamesslist the author (long with -v)tftfileslist the filenameslist the date (short with -q)tnumbers"list the revision number (default)tct changesetslist the changesets line-numbers(show line number at the first appearances3[-r REV] [-f] [-a] [-u] [-d] [-n] [-c] [-l] FILE...cs5|jdrt|dss,at least one filename or pattern is requiredR7t csj|djS(Ni(t shortuserR7(Ru(Ra(s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRwsRrcSst|djS(Ni(tstrRm(Ru((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRwsRtcs|djS(Ni(tnode(Ru(thexfn(s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRwsR4cSs|djS(Ni(tpath(Ru((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRwst line_numbert:cSst|dS(Ni(Rz(Ru((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRwss(at least one of -n/-c is required for -liR cSstjd||fdS(Ns%s: %s(RiRj(RuR ((s6/sys/lib/python2.7/site-packages/mercurial/commands.pytbadsRmt no_followtsectiontannotateRHs%s: binary file t linenumbertdiffoptss%s%s%ss%s: %siis N( R_tTrueRRit shortdatetdatestrt cachefuncRjRt debugflagRRR\RZt revsingleR[RR>RtwalktbinarytdatatwritetrelRRtcolwidthtmaxtappendtziptjointendswith(RaRbRcRdtgetdatetopmapRtoptseptfunctfuncmapRtctxR-RoRtabstfctxtlinestpiecesRpR"tdummyR0RutsizedRJtmlR=((RvR|Ras6/sys/lib/python2.7/site-packages/mercurial/commands.pyRs^     &7   %, %(% 9"(tarchives no-decodes"do not pass files through decodersRXs%directory prefix for files in archivetPREFIXsrevision to distributettypestype of distribution to createtTYPEs[OPTION]... DESTc Kstj||jd}|s9tjtdn|j}tj|||}t j j ||j krtjtdn|jdpt j|pd}|jd}|dkr'|dkrtjtdntj||}|s't j j|j d }q'ntj|||}tj|g|}t j|||||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 (or override using -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. Rms/no working directory: please specify a revisions%repository root cannot be destinationRtfilesRXt-s$cannot archive plain files to stdouts-%ht no_decodeRVN(RZRR_RiRjRR{R]t makefilenametosR}trealpathtroottarchivalt guesskindt makefileobjtbasenameR[R( RaRbtdestRdRR{tkindRXtmatchfn((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyR5s&1 $  tbackouttmerges,merge with old dirstate parent after backouttparents4parent to choose when backing out merge (DEPRECATED)srevision to backouts[OPTION]... [-r] REVc s`|r$|r$tjtdn|s3|}n|sQtjtdn|jd}|r|tj||dWs(RtlentsetRR\(tnodesRRtsidetnum(Rbtstate(s6/sys/lib/python2.7/site-packages/mercurial/commands.pytextendbisectrangeQs& cstji}t|dkr|rCjtdnjtd|j|d||}|dk rjtd|qnQ|rjtdnjtdx|D]}|j|qW|jdS(NisThe first good revision is: sThe first bad revision is: isNot all ancestors of this changeset have been checked. Use bisect --extend to continue the bisection from the common ancestor, %s. sCDue to skipped revisions, the first good revision could be any of: sBDue to skipped revisions, the first bad revision could be any of: (R]tshow_changesetRRRtshowR\tclose(RRt displayert extendnodeR"(RRbRa(s6/sys/lib/python2.7/site-packages/mercurial/commands.pyt print_result\s   csv|d s|d rrs.s.s.r8|r8dS|dsZtjtdqrtjtdntS(NRRs'cannot bisect (no known good revisions)s&cannot bisect (no known bad revisions)(RiRjRR(Rt interactive(RRRR(s6/sys/lib/python2.7/site-packages/mercurial/commands.pyt check_statews sgood bad reset inits)(use of 'hg bisect ' is deprecated) RRisincompatible argumentss bisect.stateNtcurrentis>current bisect revision is unknown - start a new bisect to fixs"current bisect revision is a mergetenvirontHG_NODEtouti}Risfailed to execute %ss %s killedschangeset %d:%s: %s RRt.s$Extending search to changeset %d:%s snothing to extendis=Testing changeset %d:%s (%d changesets remaining, ~%d tests) (ii(*RtsplittwarnRR\tboolRiRjRRR}texiststunlinkthbisectt load_statet LookupErrorRRRt save_statetsystemRtfoutRZRRR{RR`RRR]RRRtrevrangeRRRmRtAssertionErrorR(RaRbRmtextraRRRRRRRRRtcmdR=t changesetsR{RRt transitionRRRRtteststsize((RRRRbRRRRas6/sys/lib/python2.7/site-packages/mercurial/commands.pyRs]       ,               !  4         sbookmarks|bookmarktforcetrevisiontdeletesdelete a given bookmarktrenamesrename a given bookmarktNAMERtinactivesmark a bookmark inactives5hg bookmarks [-f] [-d] [-i] [-m NAME] [-r REV] [NAME]csjrtpt}jjdjfd} td fd} |r|rtj t dn|r|rtj t dn|r|rtj t dn|d kr|s|rtj t dn|r]|kr'tj t d|n|j krIt j d n|=jn|r|d krtj t d n| |}|krtj t d|n| ||||<j |kr| rt j |n|=jn|d k r| |}|rW|j krWt j d d S} |r~tj|j} n| ||| | |<| r|kr| rt j |n.| kr|j krt j d njn td kr/jt d n|rgj sTjt d qt j d nxtjD]\} } j }| |krd\}}n d\}}jrjd| d|qzjd|| jj| || fd|qzWd S(strack a line of development with movable markers Bookmarks are pointers to certain commits that move when committing. Bookmarks are local. They can be renamed, copied and deleted. It is possible to use :hg:`merge NAME` to merge from a given bookmark, and :hg:`update NAME` to update to a given bookmark. You can use :hg:`bookmark NAME` to set a bookmark on the working directory's parent revision with the given name. If you specify a revision using -r REV (where REV may be an existing bookmark), the bookmark is assigned to that revision. Bookmarks can be pushed and pulled between repositories (see :hg:`help push` and :hg:`help pull`). This requires both the local and remote repositories to support bookmarks. For versions prior to 1.8, this means the bookmarks extension must be enabled. If you set a bookmark called '@', new clones of the repository will have that revision checked out (and the bookmark made active) by default. With -i/--inactive, the new bookmark will not be made the active bookmark. If -r/--rev is given, the new bookmark will not be made active even if -i/--inactive is not given. If no NAME is given, the current active bookmark will be marked inactive. RcsA|j}|s*tjtdntj|d|S(Ns4bookmark names cannot consist entirely of whitespacetbookmark(tstripRiRjRRZt checknewlabel(tmark(Rb(s6/sys/lib/python2.7/site-packages/mercurial/commands.pyt checkformat#s  c s|kr| r|r}||kr9|kr9dS|jj||jg}||}gD]B}|jddd|jdddkrm||j^qm}|j|kr||krtj||g|dSg|D].}||j|ks||kr|^q}tj||||j|kr}jtd|t |jfdSnt j td|n||j ks||j jkr| rt j tdndS(Nt@iis%moving bookmark '%s' forward from %s s.bookmark '%s' already exists (use -f to force)s5a bookmark cannot have the name of an existing branch(Rt ancestorsRmRR{t bookmarkstdeletedivergentRRRRiRjt branchmapRR( RbRR ttargettanctbmctxRKtdivst deletefrom(tcurtmarksRa(s6/sys/lib/python2.7/site-packages/mercurial/commands.pyt checkconflict+s0 B . 's&--delete and --rename are incompatibles#--rev is incompatible with --deletes#--rev is incompatible with --renamesbookmark name requiredsbookmark '%s' does not existsnew bookmark name requiredNisno bookmarks set sno active bookmark t*sbookmarks.currentRxR s%s tlabels %s %-25s %d:%s (R$sbookmarks.current(RxR (RRRt _bookmarkst changectxR{R`R\RiRjRt_bookmarkcurrentRt setcurrentRRZRRRtsortedt iteritemsRRRm(RaRbRRmR RRRR|RR#ttgttbmarkR"RRXR%((R!R"RbRas6/sys/lib/python2.7/site-packages/mercurial/commands.pyRs~#                    %Rs5set branch name even if it shadows an existing branchtCRs'reset branch name to parent branch names [-fC] [NAME]cKs|r|j}n|jd rJ| rJ|jd|jjdS|j}z|jdr|djj}|jj||j t d|n|rr|jd r"||j kr"|g|j D]}|j^qkr"t jt ddt dq"ntj||d |jj||j t d ||j t d nWd|jXdS( 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, even if it's inactive. 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 as closed. Returns 0 on success. Rs%s Ns%reset working directory to branch %s R s(a branch of the same name already existsthintsuse 'hg update' to switch to itRs&marked working directory as branch %s s>(branches are permanent and global, did you want a bookmark?) (RR_RRRRR\RRRRRRRiRjRZRR(RaRbR%RdRR=((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRs* "+tbranchestactives+show only branches that have unmerged headstclosedsshow normal and closed branchess[-ac]c CsI|jrtpt}tg|jD]}||j^q%}g}x|jjD]\}} xIt| D]-} || } | j } | rv| } PqvqvW|| d} ||ko| }|j | || fq]W|j dddt xH|D]@\} }} | s|r|r2d}d}n9| sY|sDqnd}t d}nd }t d }| j|jjkrd }nt| jjd tj| j}|jd ||| jfd| j}|j| j|}|jr$|jd|qA|jd|||fqqWdS(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`). If -a/--active is specified, only show active branches. A branch is considered active if it contains repository heads. Use the command :hg:`update` to switch to an existing branch. Returns 0. itkeycSs,|d|dj|dj|dfS(Niii(RmR(R((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRwsRMsbranches.activeR sbranches.closeds (closed)sbranches.inactives (inactive)sbranches.currentis%s:%sslog.changeset changeset.%ss%s s%s %s%s N(RRRRtheadsRRR+treversedt closesbranchRtsortRRRRzRmtrjustRRR%R{tphasestrRR(RaRbR1R2thexfuncR"tactivebranchesR0ttagR4RRtisopenRtisactiveR%tnoticeRm((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyR0sH/      . 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 uses;[-f] [-t TYPE] [-a] [-r REV]... [--base REV]... FILE [DEST]c Ks^d}d|kr+tj||d}n|jddj}idd6dd6dd6}|j|}|tjkrtjt d n|jd rd g}ntj||jd }|rR|rtjt d ng|D]} |j | ^q} |r(t |j |p+|} |j dd| d| } d} n|j |pad|pjd}tj||jd\}}tj|||}tj||||\}}|rt |j |p|} tj||d| d|jddt} |jd| } | sGtj||| o?| jdStj| ||dS(screate a changegroup file Generate a compressed changegroup file collecting changesets not known to be in another repository. If you omit the destination repository, then hg assumes the destination will have all the nodes you specify with --base parameters. To create a bundle containing all changesets, use -a/--all (or --base null). You can change compression method with the -t/--type option. The available compression methods are: none, bzip2, and gzip (by default, bundles are compressed using bzip2). The bundle file can then be transferred using conventional means and applied to another repository with the unbundle or pull command. This is useful when direct push and pull are not available or when exporting an entire repository is undesirable. Applying bundles preserves all changeset contents including permissions, copy/rename information, and revision history. Returns 0 on success, 1 if no changes found. RmRRDtHG10UNtnonetHG10BZtHG10GZtgzips)unknown bundle type specified with --typeRCtnullRBs4--base is incompatible with specifying a destinationR@R4tcommons default-pushtdefaultRt onlyheadsR tportableiN(R\RZRR_tlowert changegroupt bundletypesRiRjRRtmapt getbundlet expandpathRtparseurltpeert addbranchrevst discoverytfindcommonoutgoingRtgetlocalbundletnochangesfoundtexcludedt writebundle(RaRbtfnameRRdtrevst bundletypetbtypesRBRmRKR4tcgtoutgoingR0tothertcheckout((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyR@ s@&  " ! tcattotoutputs(print output to file with formatted nametFORMATsprint the given revisiontdecodes apply any matching decode filters[OPTION]... FILE...c Ostj||jd}d}tj||f||}x|j|D]}tj||jd|jd|} ||j} |jdr|j || } n| j | | j d}qMW|S(syoutput the current or given revision of files Print the specified files as they were at the given revision. If no revision is given, the parent of the working directory is used, or tip if no revision is checked out. Output may be to a file, in which case the name of the file is given using a format string. The formatting rules are the same as for the export command, with the following additions: :``%s``: basename of file being printed :``%d``: dirname of file being printed, or '.' if in repository root :``%p``: root-relative path name of file being printed Returns 0 on success. RmiRhtpathnameRji( RZRR_R[RR]RR{Rt wwritedataRR( RaRbtfile1RcRdRterrR-RtfpR((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRfXs!    s^clones@the clone will include an empty working copy (only a repository)t updaterevs$revision, tag or branch to check outsinclude the specified changesetsclone only the specified branchtpulls"use pull protocol to copy metadatat uncompresseds)use uncompressed transfer (fast over LAN)s[OPTION]... SOURCE [DEST]cKs|jdr6|jdr6tjtdntj||||d|jdd|jdd|jdd|jdp|jd d |jd }|d kS( sTmake a copy of an existing repository Create a copy of an existing repository in a new directory. If no destination directory name is specified, it defaults to the basename of the source. The location of the source is added to the new repository's ``.hg/hgrc`` file, as the default to be used for future pulls. Only local paths and ``ssh://`` URLs are supported as destinations. For ``ssh://`` destinations, no working directory or ``.hg/hgrc`` will be created on the remote side. To pull only a subset of changesets, specify one or more revisions identifiers with -r/--rev or branches with -b/--branch. The resulting clone will contain only the specified changesets and their ancestors. These options (or 'clone src#rev dest') imply --pull, even for local source repositories. Note that specifying a tag will include the tagged changeset but not the changeset containing the tag. If the source repository has a bookmark called '@' set, that revision will be checked out in the new repository by default. To check out a particular version, use -u/--update, or -U/--noupdate to create a clone with no working directory. .. container:: verbose For efficiency, hardlinks are used for cloning whenever the source and destination are on the same filesystem (note this applies only to the repository data, not to the working directory). Some filesystems, such as AFS, implement hardlinking incorrectly, but do not report errors. In these cases, use the --pull option to avoid hardlinking. In some cases, you can clone repositories and the working directory using full hardlinks with :: $ cp -al REPO REPOCLONE This is the fastest way to clone, but it is not always safe. The operation is not atomic (making sure REPO is not modified during the operation is up to you) and you have to make sure your editor breaks hardlinks (Emacs and most Linux Kernel tools do so). Also, this is not compatible with certain extensions that place their metadata under the .hg directory, such as mq. Mercurial will update the working directory to the first applicable revision from this list: a) null if -U or the source repository has no changesets b) if -u . and the source repository is local, the first parent of the source repository's working directory c) the changeset specified with -u (if a branch name, this means the latest head of that branch) d) the changeset specified with -r e) the tipmost head specified with -b f) the tipmost head specified with the url#branch source syntax g) the revision marked with the '@' bookmark, if present h) the tipmost head of the default branch i) tip Examples: - clone a remote repository to a new directory named hg/:: hg clone http://selenic.com/hg - create a lightweight local clone:: hg clone project/ project-feature/ - clone from an absolute path on an ssh server (note double-slash):: hg clone ssh://user@server//home/projects/alpha/ - do a high-speed clone over a LAN while checking out a specified version:: hg clone --uncompressed http://server/repo -u 1.5 - create a repository without changesets after a particular revision:: hg clone -r 04e544 experimental/ good/ - clone (and track) a particular named branch:: hg clone http://selenic.com/hg#stable See :hg:`help urls` for details on specifying URLs. Returns 0 on success. RRps.cannot specify both --noupdate and --updaterevRqtstreamRrRmRRN(R_RiRjRRtcloneR\(RatsourceRRdRl((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRt~sjs ^commit|citAs9mark new/missing files as added/removed before committings close-branchs7mark a branch as closed, hiding it from the branch listtamends#amend the parent of the working dirc s|jdrL|jdr6tjtdn|jddtn|jjdrtjtddtd ni|jd rd d |D]3}|jdr|j ||||sc3sixbD]Z}d|ttdj|DffV|krd|d|ffVqqWdS(NR"css!|]}|dkr|VqdS(iN((RR=((s6/sys/lib/python2.7/site-packages/mercurial/commands.pys sR0sr%i(tlistRt parentrevs(Rl(R_trlog(s6/sys/lib/python2.7/site-packages/mercurial/commands.pyteventss 0 RR0c3sd}xD]}r\jj|dd}||kr\d|fV|}q\nd|ttdj|DffVr j|}|rx"|D]}d||ffVqWqq q WdS(NRLiRRGR"css!|]}|dkr|VqdS(iN((RR=((s6/sys/lib/python2.7/site-packages/mercurial/commands.pys sR0(RR{RRRR_(RKRltnewbtlsR0(R0RtlabelsR(s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRs     0 sneed repo for changelog dagt addspacest wraplabelstwrapannotationst wrapnonlineartusedotst maxlinewidthiFs N(R_RRZRRRR`RRRtitemst setdefaultRmRRiRjRRt dagtextlinesRR( RaRbtfile_R_RdRRRR0R"tline((R0RRR_RRs6/sys/lib/python2.7/site-packages/mercurial/commands.pyRs2' )  t debugdataRsopen changelogRs open manifests-c|-m|FILE REVcKs|jds|jdr.d|}}n'|dkrUtjdtdntj|d||}y#|j|j|j |Wn*t k rt j td|nXdS(s)dump the contents of a data file revisionRRRsinvalid argumentssinvalid revision identifier %sN( R_R\Rt CommandErrorRR]t openrevlogRR RtKeyErrorRiRj(RaRbRRmRdRl((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRs # t debugdatetextendedstry extended date formatss[-e] DATE [RANGE]cKs|dr"tj|tj}ntj|}|jd||jdtj||rtj|}|jd||dndS(sparse and display a dateR sinternal: %s %s s standard: %s s match: %s iN(RiRtextendeddateformatsRRt matchdate(RaR4trangeRdR3R-((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyR s tdebugdiscoveryR}suse old-style discoverytnonheadss/use old-style discovery with non-heads includeds([-l REV] [-r REV] [-b BRANCH]... [OTHER]RLc stjj|jd\}}tj|}jtdtj|t j d|fd}jd}|rx4|D]}t |d} z| j } x| rv| j jd} | d} | d krnl| d kr1|| d jd | d jd n6| dkrg|| d jd | d jd n| j } qWWd| jXqWnCtj||jd\} }jd}||| dS(s2runs the changeset discovery protocol in isolationRscomparing with %s i#0c sjdr|r'tjdntj|dsQtj|j}ntj|dt \}}}t |}jdsj ddj t d|Dtjj}|j|j|}|j|j|}qntj|\}}}t |}t |} t j} j d dj t d |D| |krj d n| |krj d ndS( NR}s.cannot use localheads with old style discoveryR0R Rsunpruned common: %s Rxcss|]}t|VqdS(N(R(RR"((s6/sys/lib/python2.7/site-packages/mercurial/commands.pys #sscommon heads: %s css|]}t|VqdS(N(R(RR"((s6/sys/lib/python2.7/site-packages/mercurial/commands.pys -sslocal is subset sremote is subset (R_RiRjt safehasattrt localrepotlocallegacypeerRt treediscoverytfindcommonincomingRRRRR*tdagutilt revlogdagRt ancestorsettinternalizealltexternalizealltheadsetofconnectedst setdiscoverytfindcommonheadsR4( t localheadst remoteheadstremoteRKt_inthdstdagRCtanytrheadstlheads(RdRbRa(s6/sys/lib/python2.7/site-packages/mercurial/commands.pytdoits0  !   !  t serverlogRlt;iRbtcgssiRxitunbNt remote_headt local_head(RRURTR_RVRRRit hidepasswordtrandomtseedtopentreadlineRRRRW(RaRbt remoteurlRdR0R R't serverlogsRR1RtpartsRt remoterevst _checkoutt localrevs((RdRbRas6/sys/lib/python2.7/site-packages/mercurial/commands.pyRs6        * *t debugfilesets#apply the filespec on this revisions[-r REV] FILESPECcKstj||jdd}|jrMtj|d}|j|dnx+tj||D]}|j d|q`WdS(s'parse and apply a fileset specificationRmis s%s N( RZRR_R\RtfilesettparseRt getfilesetR(RaRbtexprRdRttreeRp((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyR9Ls  t debugfsinfos[PATH]Rc Cstjdd|jdtj|r.dp1d|jdtj|rTdpWd|jdtjdrzdp}dtjddS( s2show information detected about current filesystems .debugfsinfoR s exec: %s tyestnos symlink: %s scase-sensitive: %s N(Rit writefileRt checkexect checklinkt checkcaseRR(RaR}((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyR?Ys &&tdebuggetbundletHtheadsid of head nodetIDRKsid of common nodesREPO FILE [-H|-C ID]...c Ks&tj|||}|jds6tjdni}|rhg|D]}t|^qI|d|jd|ntjtddS(s#display the combined ignore patternt includepats%s sno ignore patterns foundN(Rt_ignoretgetattrR\RRiRjR(RaRbRRdtignoreRM((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRLs   t debugindextformatis revlog formats[-f FORMAT] -c|-m|FILEc Ks2tj|d||}|jdd}|dkrRtjtd|n|jtj@}|rqd}nd}|dkr|j d|d n$|dkr|j d |d nxl|D]d}|j |} |r|j |} n|j |} |dkry|j | } Wntk r@ttg} nX|j d ||j||j|| |j|t| t| dt| dfq|dkr|j|} |j d ||j||j||j||j|| |j|| d| dt| f qqWdS(s"dump the contents of an index fileRQRRiisunknown format %ds deltas bases rev offset length s& linkrev nodeid p1 p2 s' rev flag offset length size s# link p1 p2 nodeid s"% 6d % 9d % 7d % 6d % 7d %s %s %s s0% 6d %04x % 8d % 8d % 8d % 6d % 6d % 6d % 6d %s N(ii(R]RR_RiRjRRRtREVLOGGENERALDELTARR{t deltaparentt chainbaseRt ExceptionRtstarttlengthtlinkrevRRtflagstrawsize( RaRbRRdRlRRt generaldeltatbasehdrRR{RBtpptpr((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRQs>        *.  3t debugindexdotcCs d}|r3|j|}t|r3|}q3n|sctjtjtjdt|}n|j dx|D]}|j |}|j |}|j d|j |d|f|dt krw|j d|j |d|fqwqwW|j ddS(s(dump an index DAG as a graphviz dot fileRs digraph G { s %d -> %d iis} N(R\RqRRRZRRRR`RR{RRmR(RaRbRRltfilelogRR{R^((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyR`s  *  $+t debuginstallc Cskd}d}|jtdtjytjdWnDtjk r}|jd||jtd|d7}nX|jtdtjj tj |jtd tjj t y\d d l }d d l }d d l }d d l}t|t|t|t|fWnTtk r|}|jd||jtd |jtd |d7}nXd d l}|j} |jtddj| y|j|jdWnAtk r}|jd||jtd|d7}nX|jtd|j} tj| pWtj| jd} | s| dkr|jtd|jtdq|jtd| |jtd|d7}n|jtdy|jWnDtjk r3} |jd| |jtd|d7}nX|sP|jtdn|jtd||S(s;test Mercurial installation Returns 0 on success. cSsEtjdd\}}tj|d}|j||j|S(NRXshg-debuginstall-twb(ttempfiletmkstempRtfdopenRR(tcontentstfdRRp((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyt writetemps   ischecking encoding (%s)... ttests %s s* (check that your locale is properly set) ischecking Python lib (%s)... s#checking installed modules (%s)... iNs* One or more extensions could not be founds* (check that you compiled the extensions) schecking templates (%s)... Rxsmap-cmdline.defaults5 (templates seem to have been installed incorrectly) schecking commit editor... tvis0 No commit editor set and can't find vi in PATH s6 (specify a commit editor in your configuration file) s Can't find editor '%s' in PATH schecking username... s1 (specify a username in your configuration file) sno problems detected s1%s problems detected, please check your install! (RRRt fromlocalRiRjRRR}tdirnamet__file__tbdifftmpatchtbase85tosutiltdirRVt templatert templatepathRt geteditortfindexeRtusername( RaRitproblemstinstRoRpRqRrRtR=RtcmdpathR#((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRbsh 0,    (  t debugknowns REPO ID...cOstj|||}|jds6tjdn|jg|D]}t|^qC}|jddjg|D]}|rdpd^qtdS(stest whether node ids are known to a repo Every ID must be a full-length hex node id string. Returns a list of 0s and 1s indicating unknown/known. tknowns*known() not supported by target repositorys%s R t1t0N( RRVRJRiRjR}RRR(RaRKtidsRdRbRRRZRp((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyR|s (tdebuglabelcompletesLABEL...cs t}|jd|jD|j|jjxW|jjD]C}x:|D]2}||}|js\|j|j q\q\WqOWt}|sdg}nx+|D]#|jfd|DqW|j dj t ||j ddS(s;complete "labels" - tags, open branch names, bookmark namescss|]}|dVqdS(iN((RRP((s6/sys/lib/python2.7/site-packages/mercurial/commands.pys 0sR c3s$|]}|jr|VqdS(N(R(RR0(RG(s6/sys/lib/python2.7/site-packages/mercurial/commands.pys ;ss N( RRttagslistR&tkeysRt itervaluesR6R^RRRR*(RaRbRRR4RRt completions((RGs6/sys/lib/python2.7/site-packages/mercurial/commands.pyR+s       !t debugobsoleteRZs markers flags#[OBSOLETED [REPLACEMENT] [REPL... ]c sd|dk ri}d|kr8|d|dchangeset references must be full hexadecimal node identifiers(RRRt TypeErrorRiRj(RRR"((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyt parsenodeidGs   R4R7c3s|]}|VqdS(N((Rtsucc(R(s6/sys/lib/python2.7/site-packages/mercurial/commands.pys YsRRZNRxs %X is{%s}s, css|]}d|VqdS(s%r: %rN((RRP((s6/sys/lib/python2.7/site-packages/mercurial/commands.pys lss (R\RxttupleRRtobsstoretcreateRRRt allmarkersRRtprecnodet succnodest_dataRR*tmetadataR( RaRbt precursort successorsRdRtsuccsR0RR-trepl((Rs6/sys/lib/python2.7/site-packages/mercurial/commands.pyR?s2    !tdebugpathcompletetfullscomplete an entire pathtnormalsshow only normal filestaddedsshow only added filestremovedsshow only removed filess FILESPEC...c sZfd}d}dr/|d7}ndrF|d7}ndr]|d7}nj|s{d g}ntt}}xC|D];}|||pd \} } |j| |j| qW| r t|d kr |jt|jd n|j||jd jfd t |D|jd dS(s)complete part or all of a tracked path This command supports shells that offer path name completion. It currently completes only files already known to the dirstate. Completion extends only to the next path segment unless --full is specified, in which case entire paths are used.csj}tjjtjjtj|}jtj}|jkri|j| riggfStjj |r|d7}n|t |}tjdk}|r|j tjd}nt |}d}t t }} | j |j } } x|jD]\} } | j|r| d|kr|rW| j dtj} n|rm| | qn| jtj|}|dkr| | |d q| | qqW|| fS(Nt/Rii(RRR}tnormpathRRRRRtisdirRtreplaceRR^R+tfind(R}t acceptableRtspectrootdirtfixpathstspeclent fullpathsRtdirstadddirtaddfileRptstRR(RdRb(s6/sys/lib/python2.7/site-packages/mercurial/commands.pytcompletes6 '      R RtnmRRGRRlRtnmaris c3s!|]}j|VqdS(N(tpathto(RR=(R Rb(s6/sys/lib/python2.7/site-packages/mercurial/commands.pys sN( RRRRR^titertnextRRR*( RaRbtspecsRdRRRRRRpR3((R RdRbs6/sys/lib/python2.7/site-packages/mercurial/commands.pyRps*            /t debugpushkeysREPO NAMESPACE [KEY OLD NEW]c Ostj|i|}|r^|\}}}|j||||} |jt| d| SxRt|j|jD]5\} } |jd| j d| j dfqzWdS(saccess the pushkey key/value protocol With two args, list the keys in the given namespace. With five args, set a key to new if it currently is set to old. Reports success or failure. s s%s %s s string-escapeN( RRVtpushkeyRRzR*tlistkeysR+Rtencode( RaRKt namespacetkeyinfoRdRR3R}tnewRltkR((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRs (t debugpvecsA Bc Cs7tj||}tj||}tj|}tj|}||krWd}n=||krld}n(||krd}n||Brd}n|jtd||jtd||jtd|j|jf|jtdt|j|jtj|j |j |j ||fdS( Nt=t>ttnewtreeRRs((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyR s  "tdebugsetparentss REV1 [REV2]cCsetj||j}tj||dj}|j}z|j||Wd|jXdS(smanually set the parents of the current working directory This is useful for writing repository conversion tools, but should be used with care. Returns 0 on success. RJN(RZRR{Rt setparentsR(RaRbRRtr1tr2R((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyR s  sdebugdirstate|debugstatesdo not display the saved mtimetdatesortssort by saved mtimes [OPTION]...c Csrd}| }|rd}nd}xt|jjjd|D]\}}|r|ddkrttjdtjd} d}|| d | t|}qtjdtj|d}n|d d @rd } nd |d d@t j @} |j d|d| |d||fqDWx@|jj D]/} |j t d|jj| | fq;WdS(s)show the contents of the current dirstateR cSs|dd|dfS(Niii((Ru((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRw sR3iis%Y-%m-%d %H:%M:%S itunsetRxii tlnks%3ois%c %s %10d %s%s iscopy: %s -> %s N(R\R*Rt_mapR+RRtstrftimet localtimeRitumaskRtcopiesRtcopied( RaRbRIRttimestrtshowdatetkeyfuncRtentt locale_lentmodeRp((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyt debugstate s* +   ,tdebugsubsrevision to checks[-r REV] [REV]cCsztj||d}x^t|jjD]G\}}|jd||jd|d|jd|dq+WdS(Nspath %s s source %s is revision %s i(RZRR\R*tsubstateRR(RaRbRmRRR((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyR s "tdebugsuccessorssetss[REV]c Gsi}t}t}|jr0d}t}nxtj||D]}||}|jd||xtj||j |D]u}|r|jd|j||dx5|dD]&} |jd|j|| qWn|jdqWqCWdS( sSshow set of successors for revision A successors set of changeset A is a consistent group of revisions that succeed A. It contains non-obsolete changesets only. In most cases a changeset A has a single successors set containing a single successor (changeset A replaced by A'). A changeset that is made obsolete with no successors are called "pruned". Such changesets have no successors sets at all. A changeset that has been "split" will have a successors set containing more than one successor. A changeset that has been rewritten in multiple different ways is called "divergent". Such changesets have multiple successor sets (each of which may also be split, i.e. have multiple successors). Results are displayed as follows:: Here rev2 has two possible (i.e. divergent) successors sets. The first holds one element, whereas the second holds three (i.e. the changeset has been split). cSs |jS(N(R(R((s6/sys/lib/python2.7/site-packages/mercurial/commands.pytctx2str) ss%s s iiRxs N( RzRRRRZRRRtsuccessorssetsR{( RaRbR_tcacheRtnode2strRmRtsuccssetR{((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyR s"#    "  t debugwalkc Os(tj|d||}t|j|}|s8dSd}|jddrntjdkrnd}ndtg|D]}t |^q{tg|D]}t |j |^qf}x\|D]T}||||j ||j |rdpd f} |j d | j qWdS( s&show how files match on given patternsNcSs|S(N((R((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRw? sRatslashRcSs tj|S(N(RiR(R((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRwA ssf %%-%ds %%-%ds %%stexactR s%s (RZR[R\RRRRRRRRRRtrstrip( RaRbRcRdR-RRpRRR((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyR8 s ! "2 7t debugwireargstthreetfourtfivesREPO [OPTIONS]... [ONE [TWO]]c Ostj|||}xtD]}||d=qWi}x-|jD]\}}|rD|||RR[R]tdiffordiffstat( RaRbRcRdR_R#RDRMtmsgtnode2tnode1RR-((s6/sys/lib/python2.7/site-packages/mercurial/commands.pytdiff^ s">  !s^exports switch-parentsdiff against the second parentsrevisions to exports*[OPTION]... [-o OUTFILESPEC] [-r] [REV]...c Os|t|jdg7}|s.dg}ntj||}|s^tjtdnt|dkr|jtdn|jtdt j ||d|jdd |jd d t j ||d S( sdump 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:: 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 format string. The formatting rules are as follows: :``%%``: 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 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. 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 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. RmRs&export requires at least one changesetisexporting patches: sexporting patch: R;Rht switch_parentRdN( RR_RZRRiRjRRRR]texportR>R(RaRbRRdR_((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyR, sB s^forgetcOsl|stjtdntj|d||}tj|||dddtd}|rhdpkdS(sjforget 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 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 specifiedRXR RYiiN( RiRjRRZR[R\R]tforgetR`(RaRbRcRdR-Re((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyR- s %tgraftsrevisions to grafttcontinuesresume interrupted grafttedits invoke editor on commit messagestlogs append graft info to log messagetDt currentdates&record the current date as commit datet currentusers$record the current user as committers[OPTION]... [-r] REV...cOs"t|}|j|d|jd rO|jdrO|j|d|jd |D]*} |jt d| |j| qW|sdS|dj} |jj| gdt } xGt|D]9} | | kr|jt d| |j| qqW|sfdSi} x^|jd|D]J} | j| | j<| jjd}|r| j| |n| jjd}|s| j}ni|d6}| j$}|jdr|d}n| j%}|jdr|d}n| j&}|jdr5|d| j7}n|s/zV|j'j(dd|jdd t)j*|| j+t t t | j,j+}Wd!|j'j(ddd X|r5|d"d#kr5g||D]} || jd$^q}|j j-d d j.|tj t d%d&t d'q5nt }|j/|j+t0|j1j-tj2|| j| j,j|j3d(|d|d|d)|d*|}|d!kr|j#t d+| jq>||}q>WWd!|j4X|jdstj5|j.d d,t nd#S(-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 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. .. note:: The -c/--continue option does not reapply 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 tip Returns 0 on successful completion. RmR7R4R4R3s%d %dR0R/s&can't specify --continue and revisionsRys$no graft state found, can't continuesno revisions specifieds%ld and merge()s'skipping ungraftable merge revision %s iRt inclusivesskipping ancestor revision %s s%ldRusscanning for duplicate grafts s%skipping already grafted revision %s s6skipping already grafted revision %s (same origin %d) s;skipping already grafted revision %s (was grafted from %d) sgrafting revision %s RWR1s (grafted from %s)RaRRQR Niis s$unresolved conflicts, can't continueR/s&use hg resolve and hg graft --continueRHRRsgraft for revision %s is empty t ignoremissing(6RRR_RxRitmakedateR\R]RR`RRjRRRt splitlinesRmtIOErrorterrnotENOENTRRZRR_RtremoveRRRRRRtfindmissingrevsRt enumerateRR7R4R|RaRtmergemodRR{RRRRRRtduplicatecopiesRRt unlinkpath(RaRbR_RdRtcontRR{RzRmtcrevRRRR"RlRRtposRuRR7R4R.tstatst nodelines((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyR.% s=   '        %      "+  %   tgrepRtprint0send fields with NULsprint all revisions that matchsCfollow 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[OPTION]... PATTERN [FILE]...c stj} jdr(|tjO}nytj|| Wn.tjk rn}jtd|dSXd\  jdrd ntj |j  fdd t fd Yiifd d  fd }i i t j |d| }t} jd fd} xGtj|| | D]-} | j} | jj} xt j| gD]}| |}j| ij|}| kr|rt || d D]2\}}j|d|jddqWj| ddd| dd| dk rjddjd r|rjdqj| j|ddj|njt}qW|S(Ncs+}tj|jjS(N(RiRRR(tflog(RRtgetfile(s6/sys/lib/python2.7/site-packages/mercurial/commands.pyR] s RCR s grep.filenamesgrep.revR~sgrep.linenumbers grep.changeR7s grep.userR4s grep.datetfiles_with_matchesiiR%sgrep.sepiRHs Binary file matchess grep.match(NNN(RmRRiRRR`R_RzR\RRQRyR7R4RRYRZRR(RRtpstateststatesRmRvtfoundtfilerevmatchesRRR0R#tcolstbeforeR[RRstcolR%(RqteolRsRdRRa(RRs6/sys/lib/python2.7/site-packages/mercurial/commands.pytdisplayX sR %"   #    Roc s|j}|j}|j}j|ij|ij|g}xK|D]C}|}y|j|}Wntjk rq]nX|j|} o| o| d} | r| j|i||||j |n| pG|} | |kr]y,|j| }| ||j |Wqtjk rqXq]q]WdS(Ni( RmRRRRRRRRR( RtfnsRmtpctxRRRRrtfnodeRRtpfn(RRoRsRfRetrevfilesR(s6/sys/lib/python2.7/site-packages/mercurial/commands.pytprep s<         RC(Rs N(treRCR_R(Rit compilereRRRt lrucachefuncRqtobjectRZR[R\R`R]twalkchangerevsRmRR*R(RaRbtpatternRcRdtreflagsRzR}RRwRRRmRRRvRRuRl((RRqR|RoRsRfRXReRWRdRVRRRRas6/sys/lib/python2.7/site-packages/mercurial/commands.pyRG s\#     2!#   $    R4s1show only heads which are descendants of STARTREVtSTARTREVttoposshow topological heads onlys)show active branchheads only (DEPRECATED)s#show normal and closed branch headss[-ct] [-r STARTREV] [REV]...cs^d}d|kr4tj|ddj}n|jdrlgj|D]}|^qS}n\g}x6jD](}|j|||jd7}qWg|D]}|^q}|rtfd|D}g|D]}|j |kr|^q}n|jdrj|rjj|} g|D]}|j| krC|^qC}n|rtd|D} || rdj d|| D} t d } |jdr| t d |d7} n|j | d | qn|sd St |d d}tj||} x|D]}| j|q9W| jdS(sshow current repository heads or show branch heads With no arguments, show all repository branch heads. Repository "heads" are changesets with no child changesets. They are where development generally takes place and are the usual targets for update and merge operations. Branch heads are changesets that have no child changeset on the same branch. If one or more REVs are given, only branch heads on the branches associated with the specified changesets are shown. This means that you can use :hg:`heads foo` to see the heads on a branch named ``foo``. If -c/--closed is specified, also show branch heads marked closed (see :hg:`commit --close-branch`). If STARTREV is specified, only those heads that are descendants of STARTREV will be displayed. If -t/--topo is specified, named branch mechanics will be ignored and only changesets without children will be shown. Returns 0 if matching heads are found, 1 if not. RmRR2c3s|]}|jVqdS(N(R(Rtbr(Rb(s6/sys/lib/python2.7/site-packages/mercurial/commands.pys sR1css|]}|jVqdS(N(R(RR((s6/sys/lib/python2.7/site-packages/mercurial/commands.pys  ss, css|] }|VqdS(N((RRK((s6/sys/lib/python2.7/site-packages/mercurial/commands.pys  ss)no open branch heads found on branches %ss (started at %s)s iR3cSs |j S(N(Rm(Ru((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRw sN(R\RZRR{R_R4RRRRRRRR*R]RRR(RaRbt branchrevsRdRWRR4RR0tdagheadst haveheadstheadlessR'RR((Rbs6/sys/lib/python2.7/site-packages/mercurial/commands.pyR4 s<# ")&..   t extensionsshow only help for extensionssshow only help for commandsRtkeywordsshow topics matching keywords [-ec] [TOPIC]cKst|jdd}|jr+dgp.g}tj|||}tj||d|\}}d|kr|jdn |jdtj||d|\}}|j|dS(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. iPiRtkeeptomittedt notomittedN( tmint termwidthRR thelp_tminirstRRRR(RaRRdt textwidthRRHt formattedtpruned((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyR s  s identify|idsidentify the specified revisionRsshow local revision numberRsshow global revision ids show branchs show tagsRsshow bookmarkss[-nibtB] [-r REV] [SOURCE]c  s,| r&| r&tjtdn|jr5tp8t} |pV|pV|pV|pV| } g} g} |rtj|j|\}}tj |p|| |j }tj ||d\} }n|s|s|s|rtjtdn| r| r| d}n|s+d}nj || sF|rX| g} nfd}|r| j|q| r|j rdj|}|r| j|qqnM|s|dj}d}| s|s|r8tj|js,tjfdjDr8d }q8n| sD|rd d jg|D]}| |j^qT|fg} n|r%| jd d jg|D]}t|j^q|fq%nXtj||| s|r| jg} n|r%| jtjn| r|j rj}|d kra| jd |ndjj}|r| j|ndjj}|r| j|qnT|r| jjn|r| jjn|r| jjn|jd dj| dS(szidentify the working copy 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. Specifying a path to a repository root or Mercurial bundle will cause lookup to operate on that repository/bundle. .. container:: verbose 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 http://selenic.com/hg/ Returns 0 if successful. s5there is no Mercurial repository here (.hg not found)s3can't query remote revision number, branch, or tagsiRcsng}djdkrdt}gjdjD]\}}||kr=|^q=}nt|S(NRt namespaces(RRR+R*(tbmst hexremoterevRtbmr(RVt remoterev(s6/sys/lib/python2.7/site-packages/mercurial/commands.pytgetbmsz s  "RR c3s$|]}j|jVqdS(N(tsubtdirty(RRR(R(s6/sys/lib/python2.7/site-packages/mercurial/commands.pys sRhs%s%sRLs(%s)s%s RxN(RiRjRRRRRRURTRVRRWR\RRRRRRR$RRR{RzRmRZRRRRR(RaRbRuRmRRRRRRdR:RLRhR_R0ReRRRtchangedR=RKRP((RRVRs6/sys/lib/python2.7/site-packages/mercurial/commands.pytidentify2 s, !       "  ; <   s import|patchRis]directory strip option for patch. This has the same meaning as the corresponding patch optionsbase path (DEPRECATED)tPATHs.skip check for outstanding uncommitted changess no-commits/don't commit, just update the working directorytbypasss2apply patch without touching the working directoryRs4apply patch to the nodes from which it was generateds import-branchs8use any branch information in patch (implied by --exact)s[OPTION]... PATCH...c s|stjtdn|f|}jd}|rVtj|dtjj|| } |jtd| tj|| } t}xtj| D]o}| ||| \}}|rt}|j|dnsjd rj} q|g} qW|s%tjtd| q%q%W| r\| jnr{jdjnWnjjnXWd| r| j nt ||XdS(simport an ordered set of patches Import a list of patches and commit them individually (unless --no-commit is specified). If there are outstanding changes in the working directory, import will abort unless given the -f/--force flag. 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 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 may happen due to character set problems or other deficiencies in the text patch format. Use --bypass to apply and commit patches directly to the repository, not touching the working directory. Without --exact, patches will be applied on top of the working directory parent revision. With -s/--similarity, hg will attempt to discover renames and copies in the patch in the same way as :hg:`addremove`. To read a patch from standard input, use "-" as the patch name. If a URL is specified, the patch will be downloaded from it. 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 http://www.selenic.com/hg/rev/5ca8c111e9aa - import all the patches in an Unix-style mbox:: hg import incoming-patches.mbox - attempt to exactly restore an exported changeset (not always possible):: hg import --exact proposed-fix.patch Returns 0 on success. s!need at least one patch to importR4R0Rt no_commits$cannot use --no-commit with --bypassRSissimilarity must be a numberids$similarity must be between 0 and 100s%cannot use --similarity with --bypassRR RBRcstj||\}}}}}}} } |s4dStd} zTtj|} | rd| }n|ry|j}nd}|jd|t|dkr|j t nj dr| s| rt j tdn| } | pt } nw| rsy?| } | } | |dkrL|d} t } nWqtjk ro|\} } qXn |\} } d} r| |dkrtj| jn| |dkrj| j| jnj dsj drjj|pdnt}tj||d d |d dd d t|}j dr|rj |qq1j ds| rd}ntj|pg}j|j dp|j dp|d|d} n3j dsj dr+|p%d}n | j}tj}zt}y)tj|| |||d dWn+tjk r}t j t|nXtj | j| jf|j dp|j dp||||dtj!}j"|j#|j} Wd|j$Xj drjt%| |krjt j tdn| rtdt&| } n| | fSWdt'j(|XdS(Nsapplied to working directorys message: %s iRsnot a Mercurial patchit import_branchRLRRteolmodeRSgY@RR7R4R[Rs%patch is damaged or loses informations created %s(NN()R>textractR\RR]t logmessageRRRRRR_RiRjRt RepoErrorRRR{RRRRRRZt matchfilesRRt filestoret patchrepot PatchErrorRzt makememctxRtsavecommitmessageR|RRRRR(RathunkRttmpnameR.R7R4RRRRR'tcmdline_messageR"RR-tstoreR#R(RtmsgsRdRbRkRR(s6/sys/lib/python2.7/site-packages/mercurial/commands.pyttryone,s*                 !timportRsapplying patch from stdin tstdins applying %s s s%s: no diffs founds * * * N(!RiRjRR_RR]RRRgRhRR\RRRRRRRR}RRRR`R>RRRRRRt invalidateR(RaRbtpatch1tpatchesRdR4RBRRRRRtpatchurlt patchfilethaspatchRR'R{((RRRdRbRkRRs6/sys/lib/python2.7/site-packages/mercurial/commands.pytimport_ s~P     %  !g            s incoming|ins*run even if remote repository is unrelateds newest-firstsshow newest record firstsfile to store the bundles intos'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]c szjdr]tjgfd}tj|d|dtdSjdrjdrtjtdnjd r@tj j |jd \}}tj |}d |j d kr j td dSjtd tj|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 if a pull at the time you issued this command. For remote repository, using --bundle avoids downloading the changesets twice if the incoming is followed by a pull. See pull for valid source format details. Returns 0 if there are incoming changes, 1 otherwise. RFcs^tj||}gdjD]}|j^q&}tj|||tjdS(N(R]t graphrevsR\RR{t displaygraphtgraphmodt asciiedges(RdtchlistRtrevdagRt showparents(RdRbRa(s6/sys/lib/python2.7/site-packages/mercurial/commands.pyR}s)cSsdS(Ni((((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRwstbufferediR@RVs&cannot combine --bundle and --subreposRRRs!remote doesn't support bookmarks scomparing with %s N(R_R]tcheckunsupportedgraphflagsRt _incomingRRiRjRRURTRVRRRR.RR*t _subtoppathtincoming(RaRbRuRdR}R0Rd((RdRbRas6/sys/lib/python2.7/site-packages/mercurial/commands.pyRs(% s^inits![-e CMD] [--remotecmd CMD] [DEST]cKs&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. RN(RRVRTR(RaRRd((s6/sys/lib/python2.7/site-packages/mercurial/commands.pytinitstlocates%search the repository as it is in REVs*end filenames with NUL, for use with xargstfullpaths-print complete paths from the filesystem roots[OPTION]... [PATTERN]...c Os|jdrdpd}tj||jdd j}d}tj||||dd}d|_x||j|D]x}| r||jkrqn|jd r|j |j ||n%|j |r|j |p||d }qW|S( slocate files matching specific patterns 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. Returns 0 if a match is found, 1 otherwise. RHRJs RmiRLtrelglobcSstS(N(R`(RuR ((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRw)sRiN( R_RZRR\R{R[RRRRtwjoinR( RaRbRcRdRRmtretR-R((s6/sys/lib/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 specRsshow copied filess+do case-insensitive search for a given texts$show the specified revision or ranges*include revisions where files were removeds only-mergessshow only merges (DEPRECATED)srevisions committed by users 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 sjdr%tj||Stjd |tj}d}d \}jdrjdrttjjdd}nt j d|nt jdrt j dnjdgjd g}g|D]}j|^qdRDRot follow_firstRLR}RR(RmRRRR_RRR4RROR7R|RRR\RRZR[R(RR~RmR=RROtluserRuRtldesctlfilesRRRt revmatchfn(tdfRt getrenamedRRdRb(s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRsN !!% * *$! N(NN(R_R]tgraphlogRZR[R\tloglimitRRt templatekwt getrenamedfnR`RiR t lookupbranchRRRtflushRmR( RaRbRcRdRARMRR0RKRR((RRRRRdRbs6/sys/lib/python2.7/site-packages/mercurial/commands.pyR15s.h ("&1  srevision to displayslist files from all revisionsc KsK|jd|}|jdr1|s-|rEtjtdng}d}d}t|} t|} |j} zlxe|jjD]T\} } }|dkr| | |kr| | |kr|j | | | !qqWWd| j Xx+|D]#}|j |j dd |qW|j dS|rU|rUtjtd n|sd|}nid d 6d d6dd6}idd 6dd6dd6}tj||}|j}x|D]z}|j ||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. RRCs#can't specify a revision with --allsdata/s.iiNR}s%s s please specify just one revisionRR0R$RuR t644t755R]s%s s mode types%s %1s (t formatterR_RiRjRRRRt datafilesRRt startitemRRRZRRRZt condwriteRRR(RaRbR{RmRdtfmtresRXtsuffixtplentslenRRRKR RptcharR RRtfl((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRsF    -          #$s^merges&force a merge with outstanding changessrevision to mergetpreviews1review revisions to merge (no merge is performed)s[-P] [-f] [[-r] REV]c Ks|jdr-|r-tjtdn|sE|jd}n|rftj||j}n| rF|jrF|j|j}||jj}t |dkr||dkr|d}qC|d}qFt |dkr tjtddtdqFt |dkrFtjtd dtdqFn| r%|j r%|dj }|j |}g|D]}||j s}|^q}} t | dkrtjtd |t |fdtd n|jj} t | dkrt |dkr<tjtd dtdnt |jdkr|tjtd |dtdntdd} } | |j|krtd} ntj| d| n| |krtjtddtdn| | dkr| d}q%| d}n|jdr|jd} |j|}|jjd| gd|g}tj|||}x|D]}|j||qW|jdSzE|jjdd|jddtj||d|jdSWd|jdddXdS(smerge working directory with another revision 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. :hg:`resolve` must be used to resolve unresolved files. To undo an uncommitted merge, use :hg:`update --clean .` 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. Rms please specify just one revisioniiisTmultiple matching bookmarks to merge - please merge with an explicit rev or bookmarkR/srun 'hg heads' to see all headssMno matching bookmark to merge - please merge with an explicit rev or bookmarks<branch '%s' has %d heads - please merge with an explicit revsrun 'hg heads .' to see headss8heads are bookmarked - please merge with an explicit revs<branch '%s' has one head - please merge with an explicit revsnothing to mergesuse 'hg update' insteads(working directory not at a head revisions2use 'hg update' or merge with an explicit revisioniRRRKR4RaRRQR R N(R_RiRjRRZRR{R(t bookmarkheadsRR\RRRRRR4RRt findmissingR]RRRRaRRR(RaRbR{RdtbmheadstcurheadRRtbhtnbhsRR'R/RRRR((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyR(sv$  )   !  "#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 Ks|jdrtjg|tj||||}|dkrGdStj|||}tj|||dt}g|dj D]}|j ^q}tj ||||t j dS|jdr|j|pd|pd}tj||jd\}} tj|||} d| jd krO|jtd dS|jtd tj|tj|| |S|j|pd|pd|_ztj||||SWd|`XdS( sXshow 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. Returns 0 if there are outgoing changes, 1 otherwise. RFNRiRs default-pushRLRRs!remote doesn't support bookmarks scomparing with %s (R_R]RRt _outgoingR\RRRRR{RRRRTRURVRRRRRiR.RR*RRc( RaRbRRdRgRRRRR0Rd((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRcs0 ) ! !Rs&show parents of the specified revisions[-r REV] [FILE]c Kstj||jdd}|rJtj||f|}|js`t|jdkrxtj t dn|jd}g}xQ|j D]C}|sqny|j |j |Wqtjk rqXqW|stj t d|n|j|}g|D]'} |j|j|j| ^q} n%g|j D]}|j^qW} tj|||} x.| D]&} | tkr| j|| qqW| jdS(sshow the parents of the working directory or revision 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. Returns 0 on success. Rmis%can only specify an explicit filenameis'%s' not found in manifest!N(RZRR_R\R[tanypatsRRRiRjRRRRRRRqRRYRmR{R]RRRR( RaRbRRdRR-t filenodestcpRRR=RR"((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRs0$7%  tpathss[NAME]cCs|rsxG|jdD]6\}}||kr|jdtj|dSqW|jso|jtdndSxZ|jdD]I\}}|jr|jd|q|jd|tj|fqWdS(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 that ``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. Returns 0 on success. Rs%s Ns not found! is%s = %s (t configitemsRRiR.RRRR(RaRbRKRR}((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRs   RRsset changeset phase to publictdraftsset changeset phase to drafttsecretsset changeset phase to secretsallow to move boundary backwardstarget revisions[-p|-d|-s] [-f] [-r] REV...csd}xTttjD]C\}}||r|dk rPtjtdn|}qqWt|}|j|d|stjtdnt j ||}d}d}|dkrx|D]3} || } |j d| j | j fqWn|j}z|s0tjtdng|D]} || j^q7} |jj|} tj||| |drtj||| nWd|jX|j} |jj| tfd t| D}| j}g| D]%}|j ||kr|^q}|rO|jtd t|d }n|rtd |}|r{|j|q|j|n|jtd d }|S(sset or show the current phase name With no argument, show the phase name of specified revisions. 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 changeset from a lower phase to an higher phase. Phases are ordered as follows:: public < draft < secret Return 0 on success, 1 if no phases were changed or some could not be changed. sonly one phase can be specifiedRmsno revisions specifiedis%i: %s sempty revision setR Nc3s%|]\}}||kVqdS(N((RRRg(tnewdata(s6/sys/lib/python2.7/site-packages/mercurial/commands.pys fssBcannot move %i changesets to a more permissive phase, use --force is phase changed for %i changesets sno phases changed (R\R>Rt phasenamesRiRjRRRRZRRRmR9RR{t _phasecachet getphaserevstadvanceboundarytretractboundaryRt unfilteredRRRRRR(RaRbR_Rdt targetphasetidxRRRRlRRtolddatatunfitchangesRR"ReR'((Rs6/sys/lib/python2.7/site-packages/mercurial/commands.pyR&sZ       * #   "  % c CsV|dkrdS|r|dj}ytj||}Wn4tjk rr}|jtdt|dSX| r| rtj||g|djr|j td|j qn|S|dkr?t |j }||kr|j tdqR|dkr)|j tdqR|j tdn|j td dS( NiRsnot updating: %s supdating bookmark %s is3(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) s((run 'hg update' to get a working copy) ( R{RRRiRjRRRzRRR(RR( RaRbtmodheadst optupdateRet movemarkfromRRztcurrentbranchheads((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyt postincomingys* "    s^pullRs3update to new branch head if changesets were pulleds,run even when remote repository is unrelatedRsbookmark to pulltBOOKMARKs9[-u] [-f] [-r REV]... [-e CMD] [--remotecmd CMD] [SOURCE]cKsntj|j||jd\}}tj|||}|jtdtj|tj ||||jd\}}|j d}|jdr|sg}nxN|dD]?} | |krtj td| n|j || qWn|rey&g|D]} |j | ^q}Wqetjk ratd} tj | qeXn|j|d|d |jd } tj|||||rt|jj|j |}n||_z%t||| |jd |} Wd |`X|jdrj|j}xA|dD]5} |jtd | ||| j|| bookmark %s does not exist on the local or remote repository! isupdating bookmark %s failed! (R_R&RRRTRRURRRiR.RWRVRZRRRRR*RtpushR`RRRR(RaRbRRdRKR0R_ReRdRlRstsubsRRtresulttrbRR}((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRsT- ! '1      trecovercCs|jrtj|SdS(s6roll back an interrupted transaction Recover from an interrupted commit or pull. This command tries to fix the repository status after an interrupted operation. It should only be necessary when Mercurial suggests it. Returns 0 if successful, 1 if nothing to recover or verify fails. i(R!Rtverify(RaRb((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyR!Cs  s ^remove|rmsrecord delete for missing filess2remove (and delete) file even if added or modifiedcOs#d}|jd|jd}}| rK| rKtjtdntj|d||}|jd|dt}|d|d|d|d f\} } } } |d} x|j D]}||j ks|| j krqnt j j|j|rjt j j|j|rG|jtd |j|qj|jtd |j|nd}qW|r| | | | }n|r| }x| | | D],}|jtd |j|d}qWnx| | }x4| D],}|jtd |j|d}qWx4| D],}|jtd|j|d}q%WxPt|D]B}|js|j| rb|jtd|j|qbqbW|j}z]|sx?|D]4}|| krqntj|j|dtqWn|dj|Wd|jX|S(sremove the specified files on the next commit Schedule the indicated files for removal from the current branch. This command schedules the files to be removed at the next commit. To undo a remove before that, see :hg:`revert`. To undo added files, see :hg:`forget`. .. container:: verbose -A/--after can be used to remove only files that have already been deleted, -f/--force can be used to force deletion, and -Af can be used to remove files from the next revision without deleting them from the working directory. The following table details the behavior of remove for different file states (columns) and option combinations (rows). The file states are Added [A], Clean [C], Modified [M] and Missing [!] (as reported by :hg:`status`). The actions are Warn, Remove (from branch) and Delete (from disk): ======= == == == == A C M ! ======= == == == == none W RD W R -f R RD RD R -A W W W R -Af R R R R ======= == == == == Note that remove never deletes files in Added [A] state from the working directory, not even if option --force is specified. Returns 0 on success, 1 if any warnings encountered. iRR sno files specifiedR[Riiis"not removing %s: no tracked files s#not removing %s: file is untracked s#not removing %s: file still exists s<not removing %s: file is modified (use -f to force removal) sCnot removing %s: file has been marked for add (use forget to undo) s removing %s R6N(R_RiRjRRZR[R\RRRRRRR}RRRRR*RRRRARR-R(RaRbRcRdRRR R-RRtmodifiedRtdeletedRtwctxRpRR((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyR<SsZ+. !##        '   # srename|move|mvs)record a rename that has already occurreds[OPTION]... SOURCE... DESTcOsA|jt}z tj||||dtSWd|jXdS(s?rename files; equivalent of copy + remove Mark dest as copies of sources; mark sources for deletion. If dest is a directory, copies are put in that directory. If dest is a file, there can only be one source. 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 at the next commit. To undo a rename before that, see :hg:`revert`. Returns 0 on success, 1 if errors are encountered. RN(RR`R]RRR(RaRbRcRdR((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRs tresolvesselect all unresolved filesRs!list state of files needing mergeRsmark files as resolvedtunmarksmark files as unresolveds no-statusshide status prefixcOspgdjD]}|j|^q \}}}}} |rI|sU|sU|rm|rmtjtdn|r|rtjtdn|p|p|p|p|stjtdntj|} tj|d||} d} xj| D]b} | | r|rr| r.|j d| q[|j d| | j | fdd id d 6d d 6| | q^|r| j | d q^|r| j | d q^|d}|j d}|j| }tj||dzA|jdd|jdd| j| ||r!d} nWd|jddd| jXtj|d|dqqW| j| S(sredo 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 [--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. Note that 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. Returns 0 on success, 1 if any files fail a resolve attempt. sall mark unmark list no_statusstoo many options specifieds can't specify --all and patternssAno files or directories specified; use --all to remerge all filesis%s s%s %s R%sresolve.t unresolvedR6tresolvedRlis.resolveRaRRQR iNs.orig(RR_RiRjRR?t mergestateRZR[R\RtupperRRRtcopyfileRR&RR(RaRbRcRdRgRCRR'RtnostatustmsR-RRpR%tmctxRG((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyR&sF/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[OPTION]... [-r REV] [NAME]...c Os|jdrV|jdr6tjtdntj|||d|d3      "$ sshowconfig|debugconfigt untrusteds$show untrusted configuration optionss[-u] [NAME]...c Osx%tjD]}|jd|q Wt|jd}|rg|D]}d|krJ|^qJ}g|D]}d|kro|^qo}t|dks|r|rtjtdqnx|j d|D] \} } } t | j dd} | d| } |rx|D]}|| krg|jd|j | | ||j d | | fq|| kr|jd|j | | ||j | dqqWq|jd|j | | ||j d | | fqWd S( sshow combined config settings from all hgrc files With no arguments, print names and values of all config items. With one argument of the form section.name, print just the value of that config item. With multiple arguments, print names and values of all config items with matching section names. With --debug, the source (filename and line number) is printed for each config item. Returns 0 on success. sread config from: %s RZRisonly one config item permitteds s\ns%s: s%s=%s N(RZtrcpathRRR_RRiRjRt walkconfigRzRt configsourceR( RaRbRRdRpRZRtsectionsRRRRtsectname((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyt showconfig5s0%%"      s ^status|stsshow status of all filesR#sshow only modified filesR$s%show only deleted (but tracked) filessshow only files without changestunknowns%show only unknown (not tracked) filestignoredsshow only ignored filessshow source of copied filessshow difference from revisions$list the changed files of a revisioncOs|jd}|jd}|rH|rHtd}tj|nR|rtj||dj}||jj}ntj ||\}}|r|j pd} |jdrdpd} i} dj } g| D]} |j| r| ^q}|jd r=||j r3| d d gp6| 7}n|sc|j rV| d p]| d }n|j ||tj||||d |kd |kd|k|jd}t| d|}|jd s|jdr|jd rtj||||} n|jd|}d| }|jd }x|D]\}}}||krBd|}x|D]}|j|j|dd|d||jd||j|| d||| krn|jdd| |j| || ddqnqnWqBqBW|jdS(sshow changed files in the working directory Show status of files in the repository. If names are given, only files that match are shown. Files that are clean or ignored or the source of a copy/move operation, are not listed unless -c/--clean, -i/--ignored, -C/--copies or -A/--all are given. Unless options described with "show only ..." are given, the options -mardu are used. Option -q/--quiet hides untracked (unknown and ignored) files unless explicitly requested with -u/--unknown or -i/--ignored. .. note:: status may appear to disagree with diff if permissions have changed or a merge has occurred. The standard diff format does not report permission changes and diff only reports changes relative to one merge parent. If one revision is given, it is used as the base revision. If two revisions are given, the differences between them are shown. The --change option can also be used as a shortcut to list the changed files of a revision from its first parent. The codes used to show the status of files are:: M = modified A = added R = removed C = clean ! = missing (deleted by non-hg command, but still tracked) ? = not tracked I = ignored = origin of the previous file listed as A (added) .. container:: verbose Examples: - show changes in the working directory relative to a changeset:: hg status --rev 9353 - show all changes including copies in an existing changeset:: hg status --copies --change 9353 - get a NUL separated list of added files, suitable for xargs:: hg status -an0 Returns 0 on success. RmR#s2cannot specify --rev and --change at the same timeR RHRJs s4modified added removed deleted unknown ignored cleanRCiRiRbRaRVsMAR!?ICRt no_statusRs%ssstatus.s%s R%R}Rs %ss status.copiedN(R_RRiRjRZRR\R{RR%RRRRR[RRt pathcopiesRRRRRR(RaRbRcRdR_R#R'R(R)R RRRvRRRDt changestatesRRtshowcharRRRR%Rp((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRcsLG   (' ".     % &s ^summary|sumR scheck for push and pulls [--remote]c/Ks. |dH}|j}|dj}g}x"|D]}|jtd|jt|fdd|j|jdj|j dd|j r|j |j n|jdkrt |s|jtdq|jtd n|jd |j r3|jd|j jdjd dd q3q3W|j}|j|} td |} |d kr|j| ddn|j| dd|rp|j} |jtddd| dHk r2| |kr|jd| dd|j| q2|jd| ddnx%|D]} |jd| ddq9W|jd ddnt|jdtd } |jj} gg}}x|| jD]n\}}|| dkr| dj||j|n |j||| dkr| dj|qqW| jd|| jd|tj|}| jg|D]}||dkrc|^qcg|jD]!}|j|j r|^q}| j||j!tdd|j!tdd|j!tdd |j!td!d"|j!td#d"|j!td$d%|j!td&d'|j!td(d)|j!td*d+|j!td,dg }g}x=t"| |D],\}}|r|j|t |qqWd-j|}t#}t |dkr|td.7}n||djkrE|td/7}n|dj$r||j|d0tkr|td17}nt| dp| dp| dp| dp| dp| d2s|td37}t}n|| kr|td47}n|r|jtd5|jn|jtd5|jdgt |}|j%}x4g| D]}|j|^q`D]}d||d \}(}|d})t)j-|||dH\}!}"||(krf t)j,|i|(} |j/d;t0j1|(n||(ks |dHk r ||)kr dH}$n|!r g|!D]}#|j.|#^q }!n|j2j3t4j7|| d?|!d@|$}*|j2j6|*j8}+|+r% |jtdAt |+ndB| j9dCkr |j9dB},| j9dB}-t:|-t:|,}.t |.dkr |jtdDt |.nt:|,t:|-}.t |.dkr |jtdEt |.q n|r |jtdFd-j|q* |jtdGndHS(IsNsummarize working directory state This generates a brief summary of the working directory state, including parents, branch, commit status, 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. isparent: %d:%s R%slog.changeset changeset.%sRxslog.tagis (empty repository)s (no revision checked out)s s log.summarys branch: %s RLs log.branchs bookmarks:s log.bookmarks *sbookmarks.currents [%s]RaiiiiiR6s %d modifiedsstatus.modifieds%d addeds status.addeds %d removedsstatus.removeds %d renameds status.copieds %d copieds %d deletedsstatus.deleteds %d unknownsstatus.unknowns %d ignoredsstatus.ignoreds %d unresolvedsresolve.unresolveds %d subreposs, s (merge)s (new branch)R2s (head closed)i s (clean)s (new branch head)s commit: %s supdate: (current) s#update: %d new changesets (update) s3update: %d new changesets, %d branch heads (merge) R Rmscomparing with %s R4s1 or more incomings default-pushRMt commonincs %d outgoingRRs%d incoming bookmarkss%d outgoing bookmarkss remote: %s sremote: (synced) N(;R\RR{RRRmRzR9RRRRRR|RR8RRRR(R<RRRRR+RRgR?R*RRRR%RR`R6RRRR_RRURTRVRWRRRiR.Rat pushbufferRXRt popbufferRYtmissingRR(/RaRbRdRRtpnodeR"R=RRR-RRRsRRR3RRR.RpRRRPR0t cleanworkdirRRR"RGRuR0tsbranchRdR_ReRmRgt_commonRt_rheadsRtdbranchRcRgtlmarkstrmarksR*((s6/sys/lib/python2.7/site-packages/mercurial/commands.pytsummarys"   ("    *        01 <    )2& /    %  !  $ %      ##R<s force tagRsmake the tag localsrevision to tagR<s remove a tagsedit commit messagesuse as commit messages8[-f] [-l] [-m TEXT] [-d DATE] [-u USER] [-r REV] NAME...c Os d}}z|j}|j}d}g|f|D]}|j^q9}t|tt|krtjtdnx?|D]7} t j || d| stjtdqqW|j dr|j drtjtdn|j dr|d}n|j d} |j dr|j d rNd pQd } x|D]} |j | stjtd | n|j | | kr[| d krtjtd | qtjtd | q[q[Wt }| s_ddj|} q_nQ|j ds_x?|D]4} | |jkr$tjtd| q$q$Wn|j d s|jj\} } | t krtjtdn|j}|j d r|r| |krtjtdqnt j||j}| s0ddj|t|f} n|j d}|rWtj|}n|j dr|j| |j} n|j d rt j||jtkrtjtdn|j||| |j d |j d|Wdt||XdS(s2add 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, or tip if no revision is checked out. 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 uniqueR<s/tag names cannot consist entirely of whitespaceRmR<s#--rev and --remove are incompatibleR.Rtglobalstag '%s' does not existstag '%s' is not a global tagstag '%s' is not a local tagsRemoved tag %ss, R s)tag '%s' already exists (use -f to force)suncommitted merges&not at a branch head (use -f to force)sAdded tag %s for changeset %sR4R0scannot tag null revisionR7N(R\RRRRRRiRjRRZRR_ttagtypeRRRRRRRR{RRR0RxRmRR<R(RaRbtname1tnamesRdRRtrev_RPR"R.t expectedtypeRRRRlR4((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyR<sn*   &        "2c Ks9|jd|}|jr!tp$t}d}xt|jD]\}}||}d} d}|j|dkrd} d}n|j|jdd|d| d d t j |d } |j |j d | |j j||d| |j |jo|d d|d| |jdq@W|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. Returns 0 on success. RR s tags.normalRs tags.localR<s%sR%Rxis %5d:%ssrev idRs %ss N(RRRRR5RRuRRRRRRRRmRtplainR( RaRbRdRR:RuRPR"thnR%R((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyR s&     Rs [-p] [-g]cKs4tj|||}|j|d|jdS(sshow the tip revision 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. Returns 0 on success. RN(R]RRR(RaRbRdR((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyR)stunbundles6update to new branch head if changesets were unbundleds [-u] FILE...c Os|f|}|j}|d}zRxK|D]C}tj||}tj||} |j| dd|} q-WWd|jXtj||j |j t ||| |j ddS(sapply one or more changegroup files Apply one or more compressed changegroup files generated by the bundle command. Returns 0 on success, 1 if an update has unresolved files. RR|sbundle:NR(RRRRPRtaddchangegroupRRtupdatecurrentbookmarkR{RRR_R\( RaRbtfname1tfnamesRdRtwcR^RpRR((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyR|@s    ! s^update|up|checkout|cos'discard uncommitted changes (no backup)tchecks0update across branches if no uncommitted changess[-c] [-C] [-d DATE] [[-r] REV]c Csw|r$|r$tjtdn|d ks<|dkrE|}nd }|d kr|j}tj|r|dj}q|r|jtd||}qn|} t j |||j }|r|rtjtdn|r2|d k rtjtdnt j |||}n|r|d } | jdtdtd trxtjtd n|d kr||d jj }ntj||d ||n|rtj||} ntj||} | r;|r;tj||g|djrs|jtd |jqsn8| |jkr]tj|| n| rstj|n| S( 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 current 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, 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 following rules apply when the working directory contains uncommitted changes: 1. If neither -c/--check nor -C/--clean 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 -c/--check option, the update is aborted and the uncommitted changes are preserved. 3. 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:`update --clean .`. 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. s please specify just one revisionR Rsupdating to active bookmark %s s-cannot specify both -c/--check and -C/--cleans'you can't specify a revision and a dateRRRjsuncommitted local changessupdating bookmark %s N(RiRjRR\R(Rt iscurrentR{RRZRRmR]R0RR`RRR?t _checkunknownRRRR&R)t unsetcurrent( RaRbR{RmRR4RRtcurmarktbrevRsR((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyRZsL9          " R"cCs 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 http://mercurial.selenic.com/wiki/RepositoryCorruption for more information about recovery from corruption of the repository. Returns 0 on success, 1 if errors are encountered. (RR"(RaRb((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyR"scCs4|jtdtj|jtddS(s(output version and copyright informations'Mercurial Distributed SCM (version %s) s(see http://mercurial.selenic.com for more information) Copyright (C) 2005-2012 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. N(RRRiRR(Ra((s6/sys/lib/python2.7/site-packages/mercurial/commands.pytversion_s sclone init version help debugcommands debugcomplete debugdate debuginstall debugfsinfo debugpushkey debugwireargs debugknown debuggetbundle debugbundleseidentify paths serve showconfig debugancestor debugdag debugdata debugindex debugindexdot debugrevlogs^add addremove annotate cat commit diff grep forget log parents remove resolve status debugwalk(R{RRRRRRRti18nRRRRiRRdR:RRZRiRRRRR>R RRRXRRPR]RRTRHt hgweb.serverRURR?RRR:RRRRR/RRRRRRRRRR\RR`Rt dryrunoptsRtwalkoptst commitoptst commitopts2t templateoptstlogoptsRt diffwsoptst diffopts2t mergetooloptstsimilarityoptst subrepooptsR^RfRRRRRRR0R@RfRtRRRRRRRRRRR RR9R?RFRLRQR`RbR|RRRRRRRRRRRRRRRR*R,R-R.RGR4RRRRRRR1RRcRRRRRqRR!R<RR&RR1RRVR`RRsR<RRR|RR"Rtnorepot optionalrepot inferrepo(((s6/sys/lib/python2.7/site-packages/mercurial/commands.pyts(HT<00 $0H                             1    "  RzAd p       6 9     ! @     lRy5! *1  7      @!  !  ! )!T! ! -@!!!    4!OP !J!#       B   ~   -&G :  m (! (+!L    A     Z _5tZqC ()       !l,/f*!d    ! e