HEX
Server: Apache
System: Linux p102.lithium.hosting 4.18.0-553.141.1.el8_10.x86_64 #1 SMP Fri Jul 10 17:48:02 UTC 2026 x86_64
User: bvzmoamr (9955)
PHP: 8.1.34
Disabled: syslog
Upload Files
File: //proc/thread-self/root/proc/self/root/lib64/python2.7/site-packages/mercurial/debugcommands.pyc
�
1�3\c@@s�ddlmZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlmZddlmZmZmZmZmZmZddlmZmZmZmZmZm 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/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZEmFZFmGZHmIZImJZJmKZKddlLmMZMmNZNmOZOmPZPddlQmRZSe,jTZTe6jU�ZUeUd	ged
�deV�d��ZWeUd
gd�d��ZXeUdddeYed�fddeYed�fddeYed�fged��eYeZeZeZd��Z[eYdd�Z\dd�Z]dd�Z^d�Z_eYd �Z`eUd!d"d#eYed$�fd%d&ged'�fd%d(eYed)�fged�d*eV�eYeYd+��ZaeUd,ged-�d*eV�d.��ZbeUd/gd%�d0��ZceUd1d%d2eYed3�fgd4�d5��Zdd6�Zed7�ZfeUd8gd�d9��ZgeUd:d;d<eYed=�fd>d?eYed@�fd%dAeYedB�fdCdDeYedE�fgedF�deV�eYdG��ZheUdHejiedI��eYdJ��ZjeUdKdLdMeYedN�fgedO�d*eVdeV�eYdP��ZkeUdQejiejledR�deV�eYdS��ZmeUdTd%dUeYedV�fd%dWeVedX�fd%dYeYedZ�fged[��d\��ZneUd]d%d^eYed_�fd%d`eYeda�fd%dbgdcfgejoedd��dedf��Zpdgdh>ZqeUdiddjd%edk�fgdeV�eYdl��ZreUdmejlgdeV�dn��ZseUdodpdbd%edq�edr�fd%dseZedt�fdCdueYedv�fdwdxgedy�edz�fged{��d|��ZteUd}gejl�d~��ZueUdged��d*eV�d�d���ZveUd�d�d�ged��ed��fd�d�ged��ed��fd;d�d�ed��ed��fged��d*eV�eYeYd���ZweUd�gd��d���ZxeUd�ejiejledR��eYd���ZyeUd�ejiedR�deV�eYd���ZzeUd�g�d���Z{eUd�gejld%d*eV�d���Z|eUd�ged��d*eV�d���Z}eUd�ged���d���Z~eUd�d�d�eYed��fd�d�eYed��fdCd�eYed��fd�d�eYed��fged[��d���ZeUd�d%d�eZed��fd"d�d%ed��ed��fgd%�eYd���Z�eUd�gd%�d���Z�eUd�ged���d���Z�eUd�d%d�ded��fd%d�eZed��fdpdbged��fd%d�eZed��fd%d�eZed��fd%d�ged��fgej�ejled���eYd���Z�eUd�d�d�eYed��fdd�eYed��fd"d�eYed��fdpd�eYed��fged���d���Z�eUd�ged-�d*eV�d���Z�eUd�dpdbd%ed��edr�fd%d�eYed��fgej�ej�ed��d�eV�d���Z�eUd�ged��d*eV�d���Z�eUd�ged���eYd���Z�eUd�dpdbd%ed��edr�fd%d�eYed��fged���d���Z�eUd�gd%�d���Z�eUd�dpdbd%ed��edr�fged���d���Z�eUd�ejid�d�eZed��fgedR�deV�eYd���Z�eUd�ejid�d�ded��ed��fged��deV�eYd���Z�eUd�d%d�eYed��fd%d�eVed��fdCdeYed�fdwdxgedy�edz�fd%deZed�fd%deZed�fgd�d��Z�eUdd%d	eZed
�fd%dd%ed�fd%d
d%ed�fgd%�d��Z�eUdged��eYd��Z�eUdgddeV�eYd��Z�eUddpdbd%ed�edr�fged��eYd��Z�eUdd%deZed�fged��d��Z�eUddpdbged �edr�fd!d"ged#�ed$�fged%�deV�d&��Z�eUd'dwd(d%ed)�ed*�fged+�d*eV�d%d,��Z�eUd-dwd(d%ed)�ed*�fged+�d*eV�d%d.��Z�eUd/g�d0��Z�eUd1dd�ged2�edz�fd%d3eZed4�fg�eZeYd5��Z�eUd6ej�ed7�d�eV�d8��Z�eUd9gedr��d:��Z�eUd;d%d<d%d<fd%d=d%d=fd%d>d%d>fgejoed?�d*eV�d@��Z�dA�Z�eUdBd%dCeZedD�fd%dEd%edF�fd%dGeZedH�fd%dIeZedJ�fgejoed��deV�eYdK��Z�dS(Li(tabsolute_importNi(t_(tbinthextnullhextnullidtnullrevtshort(-tbundle2tchangegrouptcmdutiltcolortcontextt	dagparsertencodingterrortexchanget
extensionst	filemergetfilesetlangt	formatterthgthttppeert	localrepotlockt
logcmdutiltmergetobsoletetobsutiltphasestpolicytpvectpycompatt	registrartrepairtrevlogtrevsett
revsetlangtscmutiltsetdiscoverytsimplemergetsshpeertsslutiltstreamclonet	templatert
treediscoverytupgradeturltutiltvfstwireprotoframingtwireprotoservertwireprotov2peer(tcborutiltdateutiltprocutilt
stringutil(tdeltast
debugancestors[INDEX] REV1 REV2toptionalrepoc	G@st|�dkrT|\}}}tjtjtj�dt�|�}|j}nft|�dkr�|s�tj	t
d���n|\}}|j}|j}ntj	t
d���|j||�||��}|j
d|j|�t|�f�dS(s<find the ancestor revision of two revisions in a given indexitauditis5there is no Mercurial repository here (.hg not found)s&either two or three arguments requireds%d:%s
N(tlenR#tvfsmodR1RtgetcwdtFalsetlookupRtAbortRt	changelogtancestortwritetrevR(	tuitrepotargstindextrev1trev2trRAta((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR:as'	tdebugapplystreamclonebundletFILEcC@s8tj||�}tj|||�}|j|�dS(s apply a stream clone bundle fileN(RtopenpathRt
readbundletapply(RGRHtfnametftgen((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyROtst
debugbuilddagtmsmergeable-files!add single file mergeable changestosoverwritten-files"add single file all revs overwritetnsnew-filesadd new file at each revs[OPTION]... [TEXT]c'@s�|d%kr1|jtd��|jj�}n|j}t|�dkrdtjtd���nd}x6t	j
|�D]%\}}	|dkrz|d7}qzqzW|r�d}
gtjd||
�D]}d|^q�}|j
d�ng}
|jtd	�d
td�d|�}|�_|j��L|j��9|jd
��#d}d}g}d}|j|�x�t	j
|�D]�\}}	|dkr�|jdtj|	��|	\}}g}i�d%}|rd}||d}t|�dkr�||d}|j|�}g|||fD]}||j�^q(\}}}tj|||�}g|j�D]}|j�^qo}|j
d�n.|dkr�||j�jd�}n|}|||
cd|7<dj|�} |j
|�| �|<n|r0d}|j
|�d|�|<n|r�d|}|j
|�d|�|<t|�dkr�|s�||d}nxD|D]9}|jd�r�|j
|�||j��|<q�q�Wq�n�fd�}!t|�dks�|ddkrd%d%g}"nFt|�dkr7||dd%g}"ng|D]}#||#^q>}"tj||"d|||!d|dfdddi|d6�}$|j |$�}%|j
|%�|}n{|dkr|	\}}&|jd |&�|
j
d!t!|jj"|��|&f�n&|d"kr2|jd#|	�|	}n|j|�qW|
rh|j#j$d$dj|
��nWd%QXWd%QXWd%QXWd%QXd%S(&sbuilds a repo with a given DAG from scratch in the current empty repo

    The description of the DAG is read from stdin if not given on the
    command line.

    Elements:

     - "+n" is a linear run of n nodes based on the current default parent
     - "." is a single node based on the current default parent
     - "$" resets the default parent to null (implied at the start);
           otherwise the default parent is always the last node created
     - "<p" sets the default parent to the backref p
     - "*p" is a fork at parent p, which is a backref
     - "*p1/p2" is a merge of parents p1 and p2, which are backrefs
     - "/p2" is a merge of the preceding node and p2
     - ":tag" defines a local tag for the preceding node
     - "@branch" sets the named branch for subsequent nodes
     - "#...\n" is a comment up to the end of the line

    Whitespace between the above elements is ignored.

    A backref is either

     - a number n, which references the node curr-n, where curr is the current
       node, or
     - the name of a local tag you placed earlier using ":tag", or
     - empty to denote the default parent.

    All string valued-elements are either strictly alphanumeric, or must
    be enclosed in double quotes ("..."), with "\" as escape character.
    sreading DAG from stdin
isrepository is not emptyRZiis%dttbuildingtunitt	revisionsttotaltbuilddagi����tdefaultsnode %s
tmfs
s r%itofsr%i
snf%itnfc@s*|�kr&tj|||�|�SdS(N(Rt
memfilectxtNone(RHtcxtpath(tfilecontent(s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pytfctxfn�ssr%itdatetuserRWtextratbranchtlstag %s
s%s %s
RNs
branch %s
t	localtagsN(%RftstatusRtfintreadRCR=RRBR
tparsedagR txrangetappendtmakeprogresstwlockRttransactiontupdatetnotetbytestrRDtdataR(t
Merge3Texttmerge_lineststriptsplittjoint
startswithRtmemctxt	commitctxRtnodeR1RE('RGRHttexttmergeable_filetoverwritten_filetnew_filetclR_ttypeR}tlinesperrevtitinitialmergedlinesttagstprogresstattatbranchtnodeidstidtpstfilestp2tfntp1tpatxtbasetlocaltothertm3Rotmlt
mergedtextRjtparstpRgtnodeidtname((Ris=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyRW{s�)	*	


	,%






!"
	,	c@sd|�|r��jd�����fd�}�j�}|d��j�}|d�x�t�ji�D]}|d}||�quWn�t�tj�r�tj	t
d���n�j�}xL�j�D]>}|\}	}
}}}
}}�jd�t|	�f�q�WdS(	Nt s3%sformat: id, p1, p2, cset, delta base, len(delta)
c	@s��jd�|f�xy�j�D]k}|\}}}}}}}�jd�t|�t|�t|�t|�t|�t|�f�q$WdS(Ns
%s%s
s%s%s %s %s %s %s %d
(REt	deltaiterRR=(	tnamedt	deltadataR�R�R�tcst	deltabasetdeltatflags(RVt
indent_stringRG(s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyt
showchunkss	RCtmanifesttfilenamesuse debugbundle2 for this files%s%s
(
REtchangelogheadertmanifestheadertitert
filelogheadert
isinstanceRt
unbundle20RRBRR�R(RGRVtalltindenttoptsR�t	chunkdataRTR�R�R�R�R�R�R�R�((RVR�RGs=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyt_debugchangegroups$
	


c
K@s"tj|�}|j�}d|}ytj|�\}}WnEtjk
r�}d}	|	||jt|�f;}	|j	|	�n�Xd}	|	||t|�f;}	|j	|	�|j
d|�}
xMt|�D]?}tj
d|�}|
j�|
j|�tj|
|�q�W|
j�dS(s/display version and markers contained in 'data'R�s%%sunsupported version: %s (%d bytes)
s%sversion: %d (%d bytes)
t
debugobsoleteN(R tbyteskwargsRsRt_readmarkersRtUnknownVersiontversionR=RERtsortedRtmarkerRft	startitemtplainR
t
showmarkertend(
RGtpartR�R�R}R�R�tmarkerstexctmsgtfmt	rawmarkerRX((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyt_debugobsmarkers,s&



cC@swd|}tj|�}xWtjD]L}xC||D]7}|j|�|jdt|�tj|f�q4Wq#WdS(s/display version and markers contained in 'data'R�s%s %s
N(Rtbinarydecodet	allphasesRERt
phasenames(RGR}R�R�theadsbyphasetphasethead((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyt_debugphaseheadsCs

c@sXt�ttjtjf�rEddj�fd�t��D��Stj	t
���S(Ns{%s}s, c3@s#|]}d|�|fVqdS(s%s: %sN((t.0tk(tthing(s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pys	<genexpr>Os(R�tdictR0tsortdicttcollectionstOrderedDictR�R�R R|trepr(R�((R�s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyt
_quasireprLs$c		K@s�t|tj�s*tjtd���n|jdt|j��|j	dg�}x'|j
�D]}|r�|j|kr�qcnd}|j||jt|j�|jf�|jdkr|jj	dd�}t
j||d�}|jst||d	|d
d|�qn|jdkrK|jsKt||d
d|�qKn|jd
krc|js|t||d
d�q|qcqcWdS(slists the contents of a bundle2snot a bundle2 filesStream params: %s
t	part_types%s -- %s (mandatory: %r)
R	R�t01tUNR�R�it
obsmarkerssphase-headsN(R�RR�RRBRRER�tparamstgett	iterpartsR�t	mandatoryR	tgetunbundlertquietR�R�R�(	RGRVR�R�t	parttypesR�R�R�tcg((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyt
_debugbundle2Rs()	"		tdebugbundleRNR�sshow all detailsR[s	part-typesshow only the named part typetspecs"print the bundlespec of the bundletnorepoc
K@s�tj||���}|rBtj||�}|jd|�dStj|||�}t|tj�rt	||d||�St
||d||�WdQXdS(slists the contents of a bundles%s
NR�(RRQRt
getbundlespecRERRR�RR�R�R�(RGt
bundlepathR�R�R�RURV((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�istdebugcapabilitiestPATHc
K@s�tj|�}tj|||�}|j�}|jd�x%t|�D]}|jd|�qJWtj|�}|r�|jd�xVt|j	��D]?\}}|jd|�x|D]}	|jd|	�q�Wq�WndS(s'lists the capabilities of a remote peersMain capabilities:
s  %s
sBundle2 capabilities:
s    %s
N(
R R�RtpeertcapabilitiesRER�Rtbundle2capst	iteritems(
RGRhR�R�tcapstctb2capstkeytvaluestv((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�|s


tdebugcheckstatec
C@s�|jj�\}}||j�}||j�}d}x�|jD]�}|j|}|dkr�||kr�|jtd�||f�|d7}n|dkr�||kr�|jtd�||f�|d7}n|dkrE||krE||krE|jtd�||f�|d7}qEqEWxQ|D]I}|j|}|d	kr5|jtd
�||f�|d7}q5q5W|r�td�}	|	j|	��ndS(
s0validate the correctness of the current dirstateitnrs%%s in state %s, but not in manifest1
iRNs&%s in state %s, but also in manifest1
RXs+%s in state %s, but not in either manifest
tnrms'%s in manifest1, but listed as state %ss8.hg/dirstate inconsistent with current parent's manifestN(tdirstatetparentsR�twarnRRB(
RGRHtparent1tparent2tm1tm2terrorsRUtstateR((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR��s0


$

t
debugcolortstylesshow all configured styless
hg debugcolorcK@sD|jdtj|j��|jd�r6t|�St|�SdS(s&show available color, effects or stylescolor mode: %s
RN(RER8tpprintt
_colormodeR�t_debugdisplaystylet_debugdisplaycolor(RGRHR�((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR
�s
cC@s|j�}|jj�x*tj|�j�D]}||j|<q/W|jr�xf|jd�D]R\}}|jd�r�|d|j|<q_|jd�r_|d|j|<q_q_Wn|j	t
d��t|jj�dd��}x+|D]#\}}|j	d	|d
|�q�WdS(NRscolor.is	terminfo.i	savailable colors:
R�cS@sd|dk|d|dfS(NRii((R�((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyt<lambda>�R[s%s
tlabel(
tcopyt_stylestclearRt_activeeffectstkeyst_terminfoparamstconfigitemsR�RERR�titems(RGteffectR�R�Rt	colornameR((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�s
	c@s��jtd���js dStd��jD��}x�t�jj��D]�\}}�jd|d|�|r��jd��jdtd|t|����jdj�fd	�|j�D���n�jd
�qOWdS(Nsavailable style:
cs@s|]}t|�VqdS(N(R=(R�ts((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pys	<genexpr>�ss%sRs: R�is, c3@s!|]}�j||�VqdS(N(R(R�te(RG(s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pys	<genexpr>�ss
(	RERRtmaxR�RR=R�R�(RGtwidthRteffects((RGs=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�s	"
$/tdebugcreatestreamclonebundlecC@swtj|�r%|jtd��ntj|�\}}tj|||�|jtd�dj	t
|���dS(s�create a stream clone bundle file

    Stream bundles are special bundles that are essentially archives of
    revlog files. They are commonly used for cloning very quickly.
    s=(warning: stream clone bundle will contain secret revisions)
sbundle requirements: %s
s, N(Rt	hassecretRRR+tgeneratebundlev1R	twritechunksRER�R�(RGRHRTtrequirementsRV((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR!�s
	tdebugdagttR�suse tags as labelstbtbranchessannotate with branch namestdotssuse dots for runsRtspacessseparate elements by spacessPTION]... [FILE [REV]...]c@s�|jd�}|jd�}|rvtjtjtj�dt�|��td��D�����fd�}n�|r|j�|jd��|jd���r�i�xE|j	�j
�D].\}}	�j�j|	�g�j
|�q�Wn����fd�}ntjtd	���xXtj|�d
|dtdtd
|d|dd�D] }
|j|
�|jd�q^WdS(sformat the changelog or an index DAG as a concise textual description

    If you pass a revlog index, the revlog's DAG is emitted. If you list
    revision numbers, they get labeled in the output as rN.

    Otherwise, the changelog DAG of the current repo is emitted.
    R+R*R<cs@s|]}t|�VqdS(N(tint(R�RM((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pys	<genexpr>�sc3@scx\�D]T}d|td��j|�D��ffV|�krd|d|ffVqqWdS(NRZcs@s!|]}|dkr|VqdS(i����N((R�R�((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pys	<genexpr>�sRosr%i(tlistt
parentrevs(RM(trevstrlog(s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pytevents�s
*R�R)c3@s�d}x��D]�}�r\�j�j|��dd}||kr\d|fV|}q\nd|td��j|�D��ffV�r
�j|�}|r�x"|D]}d||ffVq�Wq�q
q
WdS(NRaiRnRNRZcs@s!|]}|dkr|VqdS(i����N((R�R�((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pys	<genexpr>sRo(RsR�R-R.R�(R(RMtnewbtlsRo(R)R�tlabelsR�(s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR1s
 *
sneed repo for changelog dagt	addspacest
wraplabelstwrapannotationst
wrapnonlineartusedotstmaxlinewidthiFs
N(R�R#R>R1RR?R@tsetRCR�Rt
setdefaultRFRvRRBRR
tdagtextlinestTrueRE(RGRHtfile_R/R�R+R*R1RoRZtline((R)R�R4R/R0R�s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR&�s4		)

t	debugdatas-c|-m|FILE REVcK@stj|�}|jd�s<|jd�s<|jd�rs|dk	rctjdtd���nd|}}n'|dkr�tjdtd���ntj|d||�}y)|j	|j
|j|�dt��Wn*t
k
rtjtd�|��nXdS(	s)dump the contents of a data file revisionRCR�tdirRAsinvalid argumentstrawsinvalid revision identifier %sN(R R�R�RfRtCommandErrorRR
topenstorageREtrevisionRAR>tKeyErrorRB(RGRHR?RFR�RM((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyRA's-)
t	debugdateRtextendedstry extended date formatss[-e] DATE [RANGE]cK@s�|dr"tj|tj�}ntj|�}|jd|�|jdtj|��|r�tj|�}|jd||d��ndS(sparse and display a dateRIsinternal: %d %d
s
standard: %s
s
match: %s
iN(R6t	parsedateR0textendeddateformatsREtdatestrt	matchdate(RGRktrangeR�tdRX((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyRH7s
tdebugdeltachains
-c|-m|FILEc (@sZtj|�}tj|d||���j��j}�j}�jtj	@�t
�dt�}���fd�}|jd|�}|j
d�|r�|j
d�n|j
d�i}	x��D]�}
||
�\}}}
}}|d}|	j|t|	�d�}||�}||
�}|||}||}y|d	}Wntk
rfd
}nX|dkr�t|�t|�}n|}|dkr�t|�t|�}n|}|j�|jdd|
|t|�||
|||||||d
|
d|dt|�d|d|
d|d|d|d|d|d|d|�|r;d}d}d}xutj�|�D]a}|d7}||d
�||d
�}|||d�}||7}||krz|}qzqzW|r�t|�t|�}nd}|jdd||||d|d|d|d|�n|j
d�q�W|j�dS( sdump information about delta chains in a revlog

    Output can be templatized. Available template keywords are:

    :``rev``:       revision number
    :``chainid``:   delta chain identifier (numbered by unique base)
    :``chainlen``:  delta chain length to this revision
    :``prevrev``:   previous revision in delta chain
    :``deltatype``: role of delta / how it was computed
    :``compsize``:  compressed size of revision
    :``uncompsize``: uncompressed size of revision
    :``chainsize``: total size of compressed revisions in chain
    :``chainratio``: total chain size divided by uncompressed revision size
                    (new delta chains typically start at ratio 2.00)
    :``lindist``:   linear distance from base revision in delta chain to end
                    of this revision
    :``extradist``: total size of revisions not part of this delta chain from
                    base of delta chain to end of this revision; a measurement
                    of how much extra data we need to read/seek across to read
                    the delta chain for this revision
    :``extraratio``: extradist divided by chainsize; another representation of
                    how much unrelated data is needed to load this delta chain

    If the repository is configured to use the sparse read, additional keywords
    are available:

    :``readsize``:     total size of data read from the disk for a revision
                       (sum of the sizes of all the blocks)
    :``largestblock``: size of the largest block of data read from the disk
    :``readdensity``:  density of useful bytes in the data read from the disk
    :``srchunks``:  in how many data hunks the whole revision would be read

    The sparse read can be enabled with experimental.sparse-read = True
    RPt_withsparsereadc@s�|}|d}|d}d}�r�|d|dkrGd}q�|d|dkrdd}q�|d|dkr�d	}q�|d|kr�d
}q�d}n|d|kr�d
}nd	}�j|�d}x&|D]}�|}||d7}q�W|||||fS(NiiiiiR�iR�tprevR�R�(t_deltachain(RFRtcompsizet
uncompsizet	chainsizet	deltatypetchaintiterrev(tgeneraldeltaRJRM(s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pytrevinfovs,


						

ss    rev  chain# chainlen     prev   delta       size    rawsize  chainsize     ratio   lindist extradist extraratios)   readsize largestblk rddensity srchunkss
iii����i����slrev chainid chainlen prevrev deltatype compsize uncompsize chainsize chainratio lindist extradist extraratios7%7d %7d %8d %8d %7s %10d %10d %10d %9.5f %9d %9d %10.5fRFtchainidtchainlentprevrevRWRTRURVt
chainratiotlindistt	extradistt
extraratios*readsize largestblock readdensity srchunkss %10d %10d %9.5f %8dtreadsizetlargestblocktreaddensitytsrchunksN(R R�R
t
openrevlogRJtstarttlengthR�R#tFLAG_GENERALDELTAtgetattrR@RR�R<R=t
IndexErrortfloatR�REt	deltautilt
slicechunkR�( RGRHR?R�RhRitwithsparsereadR[R�t
chainbasesRFtcomptuncompRWRXRVt	chainbaseR\t	basestarttrevstartt
lineardistRaR^R_RbRcRdRft	revschunktblkendtblksizeRe((RZRJRMs=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyRPGs�'			







	



	sdebugdirstate|debugstatetnodatess+do not display the saved mtime (DEPRECATED)tdatessdisplay the saved mtimetdatesortssort by saved mtimes[OPTION]...cK@s{|d}|jd�dk	r)t}n|jd�}d}|rPd�}nd}x�t|jjj�d|�D]�\}}|ddkr�d	}n=|r�d
}n.tjdtj	|d��}t
j|�}|dd
@r�d}	nd|dd@tj
@}	|jd|d|	|d||f�quWx@|jj�D]/}
|jtd�|jj|
�|
f�qDWdS(s)show the contents of the current dirstateR|R{R}R[cS@s|dd|dfS(Niii((R�((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�R[R�ii����sunset               sset                 s%Y-%m-%d %H:%M:%S ii tlnks%3oi�s%c %s %10d %s%s
iiscopy: %s -> %s
N(R�RfR>R�Rt_mapR�ttimetstrftimet	localtimeRt
strtolocalR0tumaskREtcopiesRtcopied(RGRHR�R{R}ttimestrtkeyfuncR?tenttmodeRU((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyt
debugstate�s,	+				,tdebugdiscoverytoldsuse old-style discoverytnonheadss/use old-style discovery with non-heads includedRFs&restrict discovery to this set of revss[--rev REV] [OTHER]Rac
@s�tj���tj�j|��\}}tj��|�}�jtd�tj	|��t
jd�|���fd�}tj�||dd�\}}�d}	||	|�dS(s2runs the changeset discovery protocol in isolationscomparing with %s
i#0c@s��jd�r�tj|d�s9tj|j��}ntj�|dt�\}}}t	|�}�jd�sA�j
ddjtd�|D�����j
j��jd|�}�fd	�|D�}qAnhd}|rtj�|�}g|D]}�|j�^q�}ntj��|d
|�\}}	}t	|�}t	|�}
t	�j��}�j
ddjtd�|D����||kr��j
d
�n|
|kr��j
d�ndS(NR�R)tforceR�sunpruned common: %s
R�cs@s|]}t|�VqdS(N(R(R�RZ((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pys	<genexpr>ssheads(::%ln)c@sh|]}�|��qS(((R�RM(tclnode(s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pys	<setcomp>!s	tancestorsofscommon heads: %s
cs@s|]}t|�VqdS(N(R(R�RZ((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pys	<genexpr>-sslocal is subset
sremote is subset
(R�R0tsafehasattrRtlocallegacypeerR�R-tfindcommonincomingR>R;RER�R�RCR�R/RfR&trevrangeR'tfindcommonheadstheads(t
pushedrevstremoteheadstremotetcommont_inthdstnodesR/RMtanytrheadstlheads(R�RHRG(R�s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pytdoits6	!&	!R/RFN(R R�Rtparseurlt
expandpathR�RqRR0thidepasswordtrandomtseedt
addbranchrevsRf(
RGRHt	remoteurlR�R)R�R�t
remoterevst	_checkoutt	localrevs((R�RHRGs=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�s	 
 !
ii
t
debugdownloadtoutputRhcK@s�tj|||�}|}|r6t|dt�}nz<|jt�}x&|rp|j|�|jt�}qKWWd|r�|j�nXdS(s9download a resource using Mercurial logic and config
    twbN(turlmodtopent
_chunksizeRsREtclose(RGRHR/R�R�tfhtdestR}((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�9s	
tdebugextensionsc
	K@s5tj|�}tj|�}tj�}|jd|�}x�t|dtjd��D]�\}}tj	|�}tj
|j�}	|r�g}
nt|dd�j
�}
t|dd�}|j�|js�|jr�|jdd|�nl|jdd	|�|s||
kr%|jd
�n7|
sA|jtd��n|
d}|jd
|�|j|jon|	dtd�|	p�d�|jr�|jtd�ddg|�n|jd|�|j|jo�|
dtd�|j|
dd��|j|jo
|dtd�|pd�qXW|j�dS(s(show information about active extensionsR�R�it
testedwithR[tbuglinkR�s%s
s%ss
s
 (untested!)
i����s (%s!)
tsources  location: %s
s  bundled: %s
tnotyestbundleds  tested with: %s
tvers  bug reporting: %s
N(R R�RR0R�RR�toperatort
itemgettertismoduleinternaltfsencodet__file__RkR�RfR�R�tverboseRER�Rt	condwriteR}t
formatlistR�(
RGRHR�textsthgverR�textnametextmodt
isinternalt	extsourcet
exttestedwitht
extbuglinktlasttestedversion((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�Os@(	

	$	tdebugfilesetRMs#apply the filespec on this revisiontREVs	all-filess3test files from all revisions and working directorysshow-matchers(print internal representation of matcherR�s
show-stages$print parsed tree at the given stagetNAMEs+[-r REV] [--all-files] [OPTION]... FILESPECc	K@s"ddlm}|jtj|�}tj||jd�d�}dtj	fdt
jfdt
jfg}t
d�|D��}t
�}|jr�|dr�|jd�n|dd	gkr�|j|�nNx:|dD].}	|	|kr�tjtd
�|	��q�q�W|j|d�t
j|�}
xr|D]j\}	}||
�}
|	|kr8|dsr|	dkr�|jd|	�n|jt
j|
�d�q8q8Wt
�}|d
r�x>|D]3}
||
}|j|j��|j|j�q�Wn|d
s|j�dkrp|d}|j|jjtj|�dt|j�dtdt��|j|j�n#|j|j��|j|j�|j|�}|ds�|ddkr�|jr�|jdt j!|�d�nx7t"|�D])}||�s	q�n|jd|�q�WdS(s'parse and apply a fileset specificationi(tfilesetRFtparsedtanalyzedt	optimizedcs@s|]\}}|VqdS(N((R�RZRU((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pys	<genexpr>�st
show_stageR�sinvalid stage name: %ss* %s:
s
t	all_filestsubrepostunknowntignoredtshow_matchers* matcher:
s%s
N(#R[R�tsymbolsR R�R&t	revsingleR�RftidentityRtanalyzetoptimizeR;R�taddRzRRBRtparseREtprettyformatR�tsubstateRFRtwalktmatchallR-R>tmatchfilesetR8t
prettyreprR�(RGRHtexprR�R�tctxtstagest
stagenamest
showalwaysRZttreeRUR�RMR�twctxRX((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�}sZ	  	



#tdebugformatc@s%tj|�}td�tjD���ttd�����fd�}|jd|�}|j�rvd�}n	tj}|j	d�|j	d�td��|j	d�|j
r�|j	d�n|j	d	�x:tjD]/}|j�|j|�}|j
|�}||kr-d
}	d}
n*||jkrKd}	d
}
nd}	d}
|jd||j�|jd|	�|jdd||�d|
�|j|kr�d}nd}|j|j
dd||�d|�|j|j
dd||j�dd�|j	d	�q�W|j�dS(s�display format information about the current repository

    Use --verbose to get extra information about current config value and
    Mercurial default.cs@s|]}t|j�VqdS(N(R=R�(R�tfv((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pys	<genexpr>�ssformat-variantc@sdd�t|�S(Ns%s:R�(R=(R�(tmaxvariantlength(s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pytmakeformatname�sR�cS@s(tj|d�r|S|r dSdSdS(NR�R�R�(R0R�(tvalue((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pytformatvalue�s
R�s repos config defaults
s!formatvariant.name.mismatchconfigs!formatvariant.repo.mismatchconfigs"formatvariant.name.mismatchdefaults"formatvariant.repo.mismatchdefaultsformatvariant.name.uptodatesformatvariant.repo.uptodateR�RRHs %3ssformatvariant.config.specialsformatvariant.config.defaulttconfigs %6sRas %7ssformatvariant.defaultN(R R�RR.tallformatvariantR=RtisplainR�R�R�R�tfromrepot
fromconfigRaRER�R�R�(RGRHR�R�R�R�R�t	repovaluetconfigvaluet	namelabelt	repolabeltconfiglabel((R�s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR��sN	

	

			!tdebugfsinfos[PATH]t.cC@s5|jd|�|jdtj|�p,d�|jdtj|�rOdpRd�|jdtj|�prd�|jdtj|�r�dp�d�|jd	tj|�r�dp�d�d}yCtjd
dd|��%}tj	|j
�r�dpd}Wd
QXWntk
rnX|jd|�d
S(s2show information detected about current filesystems	path: %s
smounted on: %s
s	(unknown)s	exec: %s
R�R�sfstype: %s
ssymlink: %s
s
hardlink: %s
tprefixs.debugfsinfoRBNscase-sensitive: %s
(RER0tgetfsmountpointt	checkexect	getfstypet	checklinkt
checknlinkR t
namedtempfiletfscasesensitiveR�tOSError(RGRht
casesensitiveRU((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�s & &&(
tdebuggetbundletHR�sid of head nodetIDtCR�sid of common nodeR�tbzip2sbundle compression type to usetTYPEsREPO FILE [-H|-C ID]...cK@sItj|�}tj|||�}|jd�sEtjd��ni}|rwg|D]}t|�^qX|d<n|r�g|D]}t|�^q�|d<nd|d<|j	d|�}	|j
dd�j�}
id	d
6dd6dd
6dd6}|j
|
�}
|
tj
kr/tjtd���ntj||	||
�dS(s�retrieves a bundle from a repo

    Every ID must be a full-length hex node id string. Saves the bundle to the
    given file.
    t	getbundles.getbundle() not supported by target repositoryR�R�t
bundlecapstdebugR�RtHG10UNtnonetHG10BZtHG10GZtgziptHG20Rs)unknown bundle type specified with --typeN(R R�RR�tcapableRRBRRfRR�tlowerRtbundletypesRtwritebundle(RGtrepopathR�R�R�R�RHRIRtbundlet
bundletypetbtypes((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyRs(&&


tdebugignores[FILE]cO@s�|jj}|s/|jdtj|��nptj|dd|�}xT|j�D]F}t	j
|�}d}d}	|dkr�||�r�|}|jj|�}	q�xBt	j|�D].}
||
�r�|
}|jj|
�}	Pq�q�Wn|r{||kr#|jt
d�|j|��n&|jt
d�|j|�|f�|	\}}}
|jt
d�|||
f�qU|jt
d�|j|��qUWdS(	sdisplay the combined ignore pattern and information about ignored files

    With no argument display the combined ignore pattern.

    Given space separated file names, shows if the given file is ignored and
    if so, show the ignore rule (file and line number) that matched it.
    s%s
tpatsRs%s is ignored
s.%s is ignored because of containing folder %s
s#(ignore rule in %s, line %d: '%s')
s%s is not ignored
N(Rt_ignoreRER tbytereprR&tmatchRfR�R0tnormpatht_ignorefileandlinetfinddirsRtuipath(RGRHR�R�tignoreRXRURdR�t
ignoredataR�t
ignorefiletlinenoR@((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR#2s4	#t
debugindexcK@s�tj|�}tj|d||�}|jr9t}nt}d}x*|D]"}t||j|���}PqLW|j	d|�}|j
ddj|�dj|�f�x�|D]�}	|j|	�}
|j|
�}|j
�|jdd|	�|jdd	|j|	��|jd
d||
��|jdd||d��|jd
d||d��|j
d�q�W|j�dS(s'dump index data for a storage primitiveR0is   rev linkrev %s %s p2
R�R�RFs%6d tlinkrevs%7d R�s%s iR�s%sis
N(R R�R
REt	debugflagRRR=R�RR�tljustRR�RER1R�(RGRHR?R�tstoretshortfntidlenR�R�RFR�R((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR0\s0		
	

t
debugindexdotcK@s�tj|�}tj|d||�}|jd�x�|D]}|j|�}|j|�}|jd|j|d�|f�|dtkr;|jd|j|d�|f�q;q;W|jd�dS(s(dump an index DAG as a graphviz dot fileR7sdigraph G {
s
	%d -> %d
iis}
N(	R R�R
RERER�RRFR(RGRHR?R�RMR�R�tpp((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR7�s

$+tdebugindexstatscC@s�|jjtd�|jj}tj|d�sItjtd���nx=t	|j
�j��D]#\}}|jd||f�qbWdS(s)show stats related to the changelog indexitstatss+debugindexstats only works with native codes%s: %s
N(
RCtshortestRRJR0R�RRBRR�R:RRE(RGRHRJR�R�((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR9�s%tdebuginstallcK@sptj|�}d�}d}|jd|�}|j�|jdtd�tj�dT}ytj	tj
tj��Wn,tk
r�}tj
|�}|d7}nX|j|dtd�|�|jd	td
�tj�|jdtd�d
tjd �|jdtd�tjjtjtj���ttj�}tjr]|jd�n|jdtd�|jt|�dddddd��d|kr�|jtd��nd|kr�|jtd��ntj �}|jdtd�|j!d�d�|jd td!�dj"|j!d�d��|jd"td#�t#j#�|jd$td%�tjjtjt���t#j#dUkr1dT}yNdd(l$m%}	m&}
m'}m(}t)|
�t)|�t)|	�t)|�fWn,t*k
r}tj
|�}|d7}nX|j|d)d*|�ntj+j,j-�}
|jd+td,�|jtd-�|
D��dd.dddd/��|jd0td1�|jtd2�|
D��dd.dddd/��tj+j.tj/�}|jd3td4�|jg|D]}|j0�r�|j1�^q�dd.dddd/��d5}tj2rQd6}n|jtd7�|�|j3d8t4tj2��t5j6�}|jd9d:d;j"|��|j|d<td=��|r~t5j7d>�}|r<dT}yt5j5j8|�Wn(t*k
r"}tj
|�}dT}nX|j|d?d*|�ndT}|j|d@tdA�|�|j|dBtdC�dD�n|s�|d7}n|j|d<tdE��|j9�}tj:|�}t;j<|�d}|jdFtdG�|�t;j=|�}|j|o|dHkdItdJ�|o9|dHko9|�|j|oS|dHkdKtdL�|oi|�|r�|dHkr�|d7}ndT}dT}y|j>�}Wn/t?j@k
r�}tj
|�}|d7}nX|j|dMtdN�|�|j|dOtdP�|�|j|d<tdQ��|sF|j3dR|�n|j|dRtdS�|�|jA�|S(Vs;test Mercurial installation

    Returns 0 on success.
    cS@sEtjdd�\}}tj|d�}|j|�|j�|S(NRshg-debuginstall-R�(R tmkstemptostfdopenRER�(tcontentstfdR�RU((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyt	writetemp�s


iR<Rschecking encoding (%s)...
it
encodingerrors. %s
 (check that your locale is properly set)
t	pythonexes checking Python executable (%s)
t	pythonverschecking Python version (%s)
s%d.%d.%dit	pythonlibschecking Python lib (%s)...
tsnitpythonsecuritys&checking Python security support (%s)
R�tprotocoltfmts%stsept,stls1.2sT  TLS 1.2 not supported by Python install; network connections lack modern security
sV  SNI not supported by Python install; may have connectivity issues with some servers
R�s checking Mercurial version (%s)
t+t
hgverextras%checking Mercurial custom build (%s)
thgmodulepolicyschecking module policy (%s)
t	hgmoduless#checking installed modules (%s)...
R�tallow(tbase85tbdifftmpatchtosutiltextensionserrors %s
tcompenginess-checking registered compression engines (%s)
cs@s|]}|j�VqdS(N(R�(R�R((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pys	<genexpr>�st
compengines, tcompenginesavails,checking available compression engines (%s)
cs@s'|]}|j�r|j�VqdS(N(t	availableR�(R�R((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pys	<genexpr>�stcompenginesservers>checking available compression engines for wire protocol (%s)
tmissingRZs"checking "re2" regexp engine (%s)
tre2ttemplatedirsschecking templates (%s)...
R�R[s no template directories found
smap-cmdline.defaulttdefaulttemplateerrortdefaulttemplateschecking default template (%s)
tdefaulttemplatenotfounds template '%s' not found
Ras5 (templates seem to have been installed incorrectly)
teditorschecking commit editor... (%s)
tvit
vinotfoundsf No commit editor set and can't find %s in PATH
 (specify a commit editor in your configuration file)
teditornotfoundsV Can't find editor '%s' in PATH
 (specify a commit editor in your configuration file)
tusernameschecking username (%s)
t
usernameerrorsJchecking username...
 %s
 (specify a username in your configuration file)
sno problems detected
tproblemss1%d problems detected, please check your install!
N(R�RQ(BR R�RR�RERRRftcodecsRAtsysstrtLookupErrorR8tforcebytestrR�t
sysexecutabletsystversion_infoR>RhtdirnameR�R�R;R*tsupportedprotocolsthassniR�R�R�R�R0R�R�R�RtcextRRRSRTRURBt	ExceptionRWt_enginesR�tsupportedwireenginest
SERVERROLEtwireprotosupportR�t_re2R}tboolR,t
templatepathsttemplatepathtfrommapfilet	geteditorR�R7t
shellsplittfindexeRfRRBR�(RGR�RBRhR�terrtinsttsecurityR�RRRSRTRURWtwirecompenginesRR]R�RXRbt	editorbintcmdpathRf((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR<�s�	

	
",		




		


	
t
debugknowns
REPO ID...cO@s�tj|�}tj|||�}|jd�sEtjd��n|jg|D]}t|�^qR�}|j	ddj
g|D]}|r�dp�d^q���dS(s�test 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(R R�RR�RRRBR�RRER�(RGRtidsR�RHRR�RU((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�Gs(tdebuglabelcompletesLABEL...cG@st|||�dS(sEbackwards compatibility with old bash completion scripts (DEPRECATED)N(tdebugnamecomplete(RGRHRI((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�Ust
debuglockstLs
force-locksfree the store lock (DANGEROUS)tWsforce-wlocks'free the working state lock (DANGEROUS)sset-locks set the store lock until stoppedtSs	set-wlocks(set the working state lock until stoppedc@s�|jd�r"|jjd�n|jd�rD|jjd�n|jd�sb|jd�rfdSg}z�|jd�r�y|j|jt��Wq�tjk
r�tj	t
d���q�Xn|jd�ry|j|jt��Wqtjk
rtj	t
d	���qXnt|�rB�j
t
d
��dSWdt|�Xtj��d}��fd�}|||jd|j�7}|||jd|j�7}|S(
s�show or modify state of locks

    By default, this command will show which locks are held. This
    includes the user and process holding the lock, the amount of time
    the lock has been held, and the machine name where the process is
    running if it's not local.

    Locks protect the integrity of Mercurial's data, so should be
    treated with care. System crashes or other interruptions may cause
    locks to not be properly released, though Mercurial will usually
    detect and remove such stale locks automatically.

    However, detecting stale locks may not always be possible (for
    instance, on a shared filesystem). Removing locks may also be
    blocked by filesystem permissions.

    Setting a lock will prevent other commands from changing the data.
    The command will wait until an interruption (SIGINT, SIGTERM, ...) occurs.
    The set locks are removed when the command exits.

    Returns 0 if no locks are held.

    t
force_lockRtforce_wlockRxit	set_wlockswlock is already heldtset_lockslock is already helds&ready to release the lock (y)? $$ &YesNc@sVy|t�}Wntjk
r,d}nX|r@|j�n�y�|j|�}�|tj}tj	|j
�}|j|�}d|kr�|jd�\}}	|t
j�kr�d|p�d|	f}q�d|p�d|	|f}n�jd|d||f�dSWn+tk
r<}
|
jtjkr=�q=nX�jd|d�dS(	Nt:suser %s, process %sRfsuser %s, process %s, host %ss%-6s %s (%ds)
is
%-6s free
i(R@RtLockHeldRftreleasetlstattstattST_MTIMER0Rftst_uidtreadlockR�tsockettgethostnameRER
terrnotENOENT(R1R�tmethodRotsttageRltlockerthosttpidR(tnowRG(s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pytreport�s0


(R�tsvfstunlinkR1RvRxR@RR�RBRRR=tpromptchoiceR�R�(RGRHR�tlockstheldR�((R�RGs=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�Zs8!tdebugmanifestfulltextcacheRsclear the cacheR�s(add the given manifest node to the cachetNODEc

K@s�|j���|jjd�}y
|j}Wn%tk
rS|jtd��dSX|jd�rp|j�n|r�y|j|j	|�}Wn+t
jk
r�}t
j|dd��nX|j
�nt|�s�|jtd��n�|jtd�t|�f�d	}xc|D][}	|j|	�}
t|
�}||d
7}|jtd�t|	�tj|�f�qW|jjd�j}|jtd
�tj|�tj|�f�WdQXdS(s@show, clear or amend the contents of the manifest fulltext cacheR[sOCurrent revlog implementation doesn't appear to have a manifest fulltext cache
NRthintsCheck your manifest node idsCache emptysFCache contains %d manifest entries, in order of most to least recent:
iisid: %s, size %s
tmanifestfulltextcaches%Total cache data size %s, on-disk %s
(Rtmanifestlogt
getstoraget_fulltextcachetAttributeErrorRRR�RRARRkRBRsR=RERR0t	bytecountt_openerR�tst_size(
RGRHR�R�RMtcacheR�Rt	totalsizeR�R}tsizetondisk((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR��s@


	


	
!	tdebugmergestatec@sd������fd�}tj|�}|j��|j��d��fd�}�jd|��jd|��r��r��jd�ny�s��jd�|d�nY|j���r��jd	�|d
�n-�jd�|d��jr|d
�ndS(
spprint merge state

    Use --verbose to print out information about whether v1 or v2 merge state
    was chosen.cS@s|tkrdS|SdS(Ntnull(R(th((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyt_hashornull�sc@s#�jd|�|dkr&�}n�}x�|D]�\}}|dkr_�jd|�q3|dkr�jd|�q3|dkr�|jdd�\}}�jd	||f�q3|d
kr�|jd�}|dd!\}}}	}
}}}
|dkrd
}|d}n|dd!\}}�jd|||�|	�f��jd|
|f��jd|�|�f��jd|
�|�f�q3|dkrK|jdd�\}}|jd�}d}g}xC|t|�kr'|jd||||df�|d7}q�W�jd|dj|�f�q3|dkr�|jdd�}g|D]}t|�dkrp|^qp}�jd��jd|d��jd|d�t|�dkr�jd|d�qq3�jd||jdd�f�q3WdS(Ns* version %d records
iR�s
local: %s
tOs
other: %s
RXssmerge driver: %s (state "%s")
tFDCiisnot stored in v1 formati	s1file: %s (record type "%s", state "%s", hash %s)
s  local path: %s (flags "%s")
s  ancestor path: %s (node %s)
s  other path: %s (node %s)
RUs%s = %sisfile extras: %s (%s)
s, Roslabels:
s  local: %s
s  other: %s
s  base:  %s
sunrecognized entry: %s	%s
s	(RER�R=RvR�treplace(R�trecordstrtypetrecordtdrivertmdstateRMRUR	thashtlfiletafiletanodetofiletonodeR�R�t	rawextrastextrasR�textrastringsR4Ro(R�RGt	v1recordst	v2records(s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pytprintrecords�s^		"
			#	+
	tLOmlc@s;�j|d�}|dkr-d|dfSd|fSdS(Nii����i(tfind(RMtidx(torder(s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�6sR�sno merge state found
sno version 2 merge state
is!v1 and v2 states match: using v2
is$v1 and v2 states mismatch: using v1
N(	tmergemodt
mergestatet_readrecordsv1t_readrecordsv2tsortRER{t
_v1v2matchR�(RGRHRIR�tmsR�((R�R�RGR�R�s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR��s*	:





	R�sNAME...c@s�t�}xB|jj�D]1\}}|dkr|j|j|��qqW|jd�|j�j�D��t�}|s�dg}nx+|D]#�|j�fd�|D��q�W|jdjt	|���|jd�dS(s:complete "names" - tags, open branch names, bookmark namesR)cs@s'|]\}}}}|s|VqdS(N((R�ttagR�ttiptclosed((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pys	<genexpr>WsR[c3@s$|]}|j��r|VqdS(N(R�(R�RZ(RN(s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pys	<genexpr>]ss
N(
R;tnamesR�Rzt	listnamest	branchmaptiterbranchesRER�R�(RGRHRIR�R�tnstcompletions((RNs=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�Ms		
!R�R�smarkers flagsrecord-parentss+record parent information for the precursorsdisplay markers relevant to REVt	exclusives0restrict display to markers only relevant to REVRJsdisplay index of the markertdeletes#delete markers specified by indicess[OBSOLETED [REPLACEMENT ...]]c@s5tj|�}d��|jd�r�g}xg|jd�D]V}y|jt|��Wq=tk
r�tjtd�|dtd���q=Xq=W|j	�r�tjtd���n|j
��1tj|j
|�}|jtd�|�WdQXdS|dk	r�|d	r&tjd
��ni}tj|dpE|j��|d<t�fd�|D��}	|j
�}
z<|jd
�}zy�|jd�}|r�tj|�}nd}�|�}
d}|dr+|
|j�kr�tjd��n|j�|
j�}td�|D��}n|j
j||
|	|dd|d|d|d|�|j�Wn5tk
r�}tjtd�tj|���nXWd|j�XWd|
j�Xnm|d	rBtj||d	�}g|D]}||j�^q�}t t!j"|d|d|d��}|j#dd��nt!j"|�}|}d�}|jd	�r�|jd�r�t!j"|�}t$|���fd�}n|j%d
|�}xgt&|�D]Y\}}||�s�q�n|j'�|jd�r|nd}t(j)||d|�q�W|j*�dS(sccreate arbitrary obsolete marker

    With no arguments, displays the list of obsolescence markers.cS@s_y8t|�}t|�tt�kr3t��n|SWn tk
rZtjd��nXdS(Ns>changeset references must be full hexadecimal node identifiers(RR=Rt	TypeErrorRRB(RRZ((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pytparsenodeidss
R�sinvalid index value: %rR�suse integers for indicess6cannot delete obsmarkers in the middle of transaction.s deleted %i obsolescence markers
NRFs+cannot select revision when creating markerRlc3@s|]}�|�VqdS(N((R�tsucc(R�(s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pys	<genexpr>�sR�Rktrecord_parentss2cannot used --record-parents on unknown changesetscs@s|]}|j�VqdS(N(R�(R�R�((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pys	<genexpr>�sR�RtmetadataRGsbad obsmarker input: %sR�R�R�cS@s|jS(N(t_data(R�((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�R[cS@stS(N(R>(RX((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�R[RJc@s
|�kS(N((RX(t	markerset(s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�R[(+R R�R�RvR,t
ValueErrorRRBRtcurrenttransactionRR"tdeleteobsmarkerstobsstoreRERfRt	fromlocalRfttupleRyR6RJt
unfilteredRtcreateR�R|R�R&R�R�R-Rt
getmarkersR�R;Rt	enumerateR�R
R�R�(RGRHt	precursort
successorsR�tindicesR�RZR�tsuccsRottrRktprecRR�R/RMR�R�t
markerstoitert
isrelevantR�R�RXtind((R�R�s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�as�	



#


#	
tdebugpathcompleteRUtfullscomplete an entire pathtnormalsshow only normal filestaddedsshow only added filestremovedsshow only removed filessFILESPEC...c@s!��fd�}d}�dr/|d7}n�drF|d7}n�dr]|d7}n�j��|s{d	g}nt�t�}}xC|D];}|||p�d
�\}	}
|j|	�|j|
�q�W|j|�|jdj��fd�t|�D���|jd�d
S(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.c@s��j}tjjtjjtj�|��}�jtj	}|�jkri|j
|�riggfStjj|�r�|d7}n|t|�}tj	dk}|r�|j
tj	d�}nt|�}�d}t�t�}}	|	j|j}
}x�|j�D]�\}}
|j
|�r|
d|kr|rW|j
dtj	�}n|rm||�qn|jtj	|�}|dkr�|
|| �q�||�qqW||	fS(Nt/Ri(RR>RhR(R�RR?trootR tossepR�tisdirR=R�R;R�R�R�(Rht
acceptableRR�trootdirtfixpathstspeclent	fullpathsR�tdirstadddirtaddfileRUR�R(R�RH(s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pytcomplete�s6	'



R[RtnmR	RNR
RMRtnmars
c3@s!|]}�j|��VqdS(N(tpathto(R�R�(tcwdRH(s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pys	<genexpr>sN(R?R;RzRER�R�(RGRHtspecsR�RRR�RR�RURO((RR�RHs=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�s&








/t	debugpeercC@s�itd	6}|j|���tj|i|�}|j�dk	}|j�}|jtd�|j	��|jtd�|r�td�n	td��|jtd�|r�td�n	td��WdQXdS(
s+establish a connection to a peer repositorytdevelsdebug.peer-requestsurl: %s
s
local: %s
R�R�s
pushable: %s
N(Rsdebug.peer-request(
R>tconfigoverrideRR�R�RftcanpushRERR/(RGRht	overridesR�R�R ((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyRs
/tdebugpickmergetools check for files in this revisiontchangedeletes!emulate merging change and deletes[PATTERN]...t	inferrepocO@s�tj|�}i}|drN|d|d<|jdtj|d��n|j|d��Ztjjd�}|dk	r�|jdtj|��n|j	dd�}|r�|jd	tj|��nt
j||jd
��}t
j|||�}|d}	x�|j
|�D]�}
||
}zV|jsJ|jdt�ntj|||
|j�d
|j�k|	�\}}
Wd|js�|j�nX|jd|
|f�qWWdQXdS(sfexamine which merge tool is chosen for specified file

    As described in :hg:`help merge-tools`, Mercurial examines
    configurations below in this order to decide which merge tool is
    chosen for specified file.

    1. ``--tool`` option
    2. ``HGMERGE`` environment variable
    3. configurations in ``merge-patterns`` section
    4. configuration of ``ui.merge``
    5. configurations in ``merge-tools`` section
    6. ``hgmerge`` tool (for historical reason only)
    7. default tool for fallback (``:merge`` or ``:prompt``)

    This command writes out examination result in the style below::

        FILE = MERGETOOL

    By default, all files known in the first parent context of the
    working directory are examined. Use file patterns and/or -I/-X
    options to limit target files. -r/--rev is also useful to examine
    files in another context without actual updating to it.

    With --debug, this command shows warning messages while matching
    against ``merge-patterns`` and so on, too. It is recommended to
    use this option with explicit file patterns and/or -I/-X options,
    because this option increases amount of output per file according
    to configurations in hgrc.

    With -v/--verbose, this command shows configurations below at
    first (only if specified).

    - ``--tool`` option
    - ``HGMERGE`` environment variable
    - configuration of ``ui.merge``

    If merge tool is chosen before matching against
    ``merge-patterns``, this command can't show any helpful
    information, even with --debug. In such case, information above is
    useful to know why a merge tool is chosen.
    ttoolRGt
forcemergeswith --tool %r
tdebugmergepatternstHGMERGEswith HGMERGE=%r
Rswith ui.merge=%r
RFR#RRoNs%s = %s
(RGR&(R R�R{R|RRtenvironR�RfR�R&R�R'R�R2t
pushbufferR>Rt	_picktooltisbinaryR�t	popbufferRE(RGRHR$R�R!thgmergetuimergeR�RXR#RhtfctxR%ttoolpath((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR"*s60
!

			tdebugpushkeysREPO NAMESPACE [KEY OLD NEW]c
	O@s�tj|i|�}|r�|\}}}|j��;}	|	jdi|d6|d6|d6|d6�j�}
WdQX|jtj|
�d�|
SxRt|j	|�j
��D]5\}}|jdtj
|�tj
|�f�q�WdS(	s�access 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.
    tpushkeyt	namespaceR�R�tnewNs
s%s	%s
(RR�tcommandexecutortcallcommandtresultRqR R|R�tlistkeysR�RER8t	escapestr(
RGRR4tkeyinfoR�ttargetR�R�R5RRMR�R�((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR2ys
(t	debugpvecsA Bc	C@s7tj||�}tj||�}tj|�}tj|�}||krWd}n=||krld}n(||kr�d}n||Br�d}n|jtd�|�|jtd�|�|jtd�|j|jf�|jtd�t|j|j�tj|j	|j	�|j
|�|f�dS(	Nt=t>t<t|sa: %s
sb: %s
sdepth(a): %d depth(b): %d
s.delta: %d hdist: %d distance: %d relation: %s
(R&R�RtctxpvecRERt_depthtabst_hammingt_vectdistance(	RGRHRNR(tcatcbR�tpbtrel((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR=�s$			
	#(s&debugrebuilddirstate|debugrebuildstatesrevision to rebuild totminimalsEonly rebuild files that are inconsistent with the working copy parents[-r REV]c@s�tj||�}|j���|j�d}|jd�r�t|j�j��}t��}||}||}	t�fd�|	D��}
||
B}n�j	|j
�|j�|�WdQXdS(s�rebuild the dirstate as it would look like for the given revision

    If no revision is specified the first current parent will be used.

    The dirstate will be set to the files of the given revision.
    The actual working directory content or existing dirstate
    information such as adds or removes is not considered.

    ``minimal`` will only rebuild the dirstate status for files that claim to be
    tracked but are not in the parent manifest, or that exist in the parent
    manifest but are not in the dirstate. It will not change adds, removes, or
    modified files that are in the working copy parent.

    One use of this command is to make the next :hg:`status` invocation
    check the actual file content.
    RLc3@s%|]}�|dkr|VqdS(RNN((R�RU(R(s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pys	<genexpr>�sN(R&R�RxRRfR�R;R�RtrebuildR�(RGRHRFR�R�tchangedfilest
manifestfilest
dirstatefilestmanifestonlytdsonlyt
dsnotadded((Rs=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pytdebugrebuilddirstate�s
	


tdebugrebuildfncachecC@stj||�dS(srebuild the fncache fileN(R"trebuildfncache(RGRH((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyRU�stdebugrenamesrevision to debugs
[-r REV] FILEcO@s�tj|�}tj||jd��}tj||f||�}x�|j|�D]�}||}|j�j|j	��}	|j
|�}
|	r�|jtd�|
|	dt
|	d�f�qV|jtd�|
�qVWdS(sdump rename informationRFs%s renamed from %s:%s
iis%s not renamed
N(R R�R&R�R�R'R�tfilelogtrenamedtfilenodeRKRERR(RGRHtfile1R$R�R�RXRDR0RYRK((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyRW�s
1tdebugrevlogROtdumpsdump index datacE@sL
tj|�}tj|d||�}|jd�r�t|�}|jd�d}t�}xUtj|�D]D}|j	|�}	|	dkr�|}	n|j
|�}
|j|�}|j|�\}}
|j
|�}||}|t|j|��8}|j|�y||j|�}Wntk
r:d}nX|jd|||
|j|�|j|�|j|	�|j|
�|j|�|j|
�|||t|�|f�qnWdS|j}|d@}g}t}|tj@r�|jd�n|tj@rt}|jd	�n|s+d
g}nd}d}d}d}d}d}tjd��}d}d}d}d}d}d} g}!g}"g}#d9ddg}$d9ddg}%d9ddg}&tjd��}'d9ddg}(i})i}*d
�}+t|�}x>tj|�D]-}|j|�\}}
|j	|�},|dkre|+|j
|�|$�n|
tkr~|d7}n|j|�}-|,tkr'|!jd�|"j|j|��|#j|-�|-dkr�|d7}|d7}q�|d7}|dcd7<|+|-|%�|+|-|'d�ns|!j|!|,d�|"|,}.|j|�}/|"j|.�|#j|/|.|-�|-dkr�|d7}|d7}n|j|�r�|+|-|&�|d7}|j|�}0||0cd7<|+|-|'|0�n�|+|-|(�|,|dkrO|d7}|,|kr3|d7}q�|,|
kr�| d7} q�nK|,|krh|d7}n2|,|
kr�|d7}n|,tkr�|d7}nt j!|d�r�|j"||�d}1n|j#j"||�d}1|1r�t$|1dd!�}2nd}2|2|)kr#d|)|2<d|*|2<n|)|2cd7<|*|2c|-7<qWx7|$|%|&|(fD]#}-|-dd9krZd|-d<qZqZW||||}3||| }4|$d}5|$dc|:<|%d}6|%dc|:<|&d}7i}8|dkr|&dc|:<nx8|'D]0}0|'|0d|8|0<|'|0dc||0:<qW|(d}9|3dkrh|(dc|3:<n|6|7|9}:t%|!�|};t&|!�}<t&|#�}=d}>|:r�|5|:}>nd�d��fd�}?d�fd�}@d�}A|jd|�|jddj'|��|jd�|@|:�}B|?|:�}C|jd|C|�|jd|B|A||��|jd|B|A|||��|jd|C|�|jd|B|A||��|jd|B|A|||��|jd |B|A|||��|jd!|B|A|||��x:t(|�D],}0|jd"|0|B|A||0|��q8	W|jd#|B|A|3|��|jd$|C|:�|jd!|B|A|6|7|:��x:t(|�D],}0|jd"|0|B|A|8|0|:��q�	W|jd#|B|A|9|:��d%�}D|jd�|jd&|C|�xEt(|)�D]7}2|j|D|2��|j|B|A|)|2|��qP
W|jd'|C|:�xEt(|)�D]7}2|j|D|2��|j|B|A|*|2|:��q�
W|jd�|?t&|;|<|=|>��}B|jd(|B|;�|jd)|B|<�|jd*|B|=�|jd+|B|>�|dkr�|jd�|jd,t)|$��n|jd-t)|%��|jd.t)|&��xHt(|'�D]:}0|0dkr�q�n|jd/|0ft)|'|0��q�W|jd0t)|(��|3dkrH
|jd�|@|3�}B|@|3d1�}C|jd2|B|A||3��|dkr�|jd3|C|A||��|jd4|C|A| |��|jd5|C|A|4|��n|rH
|jd6|B|A||3��|jd7|B|A||3��|jd8|B|A||3��qH
nd9S(:s'show data and statistics about a revlogR\R]se# rev p1rev p2rev start   end deltastart base   p1   p2 rawsize totalsize compression heads chainlen
ii����s:%5d %5d %5d %5d %5d %10d %4d %4d %4d %7d %9d %11d %5d %8d
i��tinlineRZs(none)cS@sdS(Ni((((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR'R[cS@s
dddgS(Ni(Rf(((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR>R[cS@s^|ddks ||dkr-||d<n||dkrJ||d<n|dc|7<dS(Niii(Rf(R�Ro((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pytaddsizeCs
 

it_getsegmentforrevstemptyis%%%dd
s%%%dd %s(%%5.2f%%%%)
c@s�tt|��S(N(R=tstr(R(tbasedfmtstr(s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pytdfmtstr�sc@s�tt|��d|fS(NR�(R=Rb(Rtpadding(tbasepcfmtstr(s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pytpcfmtstr�scS@s,|r|dt|�|fS|dfSdS(NidgY@(Rm(R�R_((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pytpcfmt�ssformat : %d
sflags  : %s
s, s
srevisions     : s    merges    : s    normal    : s    empty     : s                   text  : s                   delta : s    snapshot  : s      lvl-%-3d :       s    deltas    : srevision size : cS@sR|dkrd|S|tjtj�kr@dt|�|fSdt|�SdS(NRas
    %s     : s    0x%s (%s)  : s    0x%s      : (R R|tstringt
ascii_lettersR(t	chunktype((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pytfmtchunktype�s
schunks        : schunks size   : savg chain length  : smax chain length  : smax chain reach   : scompression ratio : s4uncompressed data size (min/max/avg) : %d / %d / %d
s4full revision size (min/max/avg)     : %d / %d / %d
s4inter-snapshot size (min/max/avg)    : %d / %d / %d
s5    level-%-3d (min/max/avg)          : %d / %d / %d
s4delta size (min/max/avg)             : %d / %d / %d
isdeltas against prev  : s    where prev = p1  : s    where prev = p2  : s    other            : sdeltas against p1    : sdeltas against p2    : sdeltas against other : N(*R R�R
RgR�R=RER;RutdeltaparentRtR]R.trawsizeR�R�tZeroDivisionErrorRhR�R@R#tFLAG_INLINE_DATARvRjR>R�tdefaultdictRfRRit
issnapshott
snapshotdepthR0R�R`t_revlogtbytestsumRR�R�R�(ERGRHR?R�RMtnumrevsttsR�RFtdbasetcbasetclenR�R�trstcompressionR�tformatR�tgdeltat	nummergestnumemptytnumemptytextt
numemptydeltatnumfulltnumsemitnumsnapdepthtnumprevtnump1tnump2tnumothert	nump1prevt	nump2prevtchainlengthsRqt
chainspanstdatasizetfullsizetsemisizet
snapsizedeptht	deltasizetchunktypecountstchunktypesizesR_R�R�tbaseaddrtrevaddrtdepthtsegmentRkt	numdeltastnumoprevttotalrawsizet	fulltotalt	semitotalt	snaptotalt
deltatotalR�tavgchainlentmaxchainlentmaxchainspant	compratioRdRgRhRJtfmt2Rl((RcRfs=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR\�s�
		



	!!	


	


























	
"		"
	
	
""

					
		tdebugrevlogindexR~s
revlog formattFORMATs[-f FORMAT] -c|-m|FILEc
K@sXtj|�}tj|d||�}|jdd�}|dkratjtd�|��n|jrst	}nt
}d}x*|D]"}t||j|���}Pq�W|dkr|j
r�|jddj|�d	j|�f�qh|jd
dj|�d	j|�f�nO|dkrh|j
rK|jddj|��qh|jddj|��nx�|D]�}|j|�}	|dkrpy|j|	�}
Wntk
r�ttg}
nX|j
r*|jd
||j|�|j|�|j|�||	�||
d�||
d�f�qP|jd||j|�||	�||
d�||
d�f�qo|dkro|j|�}|j
r�|jd||j|�|j|�|j|�|j|�|j|�|d|d||	�f	�qP|jd||j|�|j|�|j|�|d|d||	�f�qoqoWdS(s#dump the contents of a revlog indexR�R~iisunknown format %dis*   rev    offset  length linkrev %s %s p2
R�R�s   rev linkrev %s %s p2
s?   rev flag   offset   length     size   link     p1     p2 %s
s-   rev flag     size   link     p1     p2 %s
s% 6d % 9d % 7d % 7d %s %s %s
s% 6d % 7d %s %s %s
s+% 6d %04x % 8d % 8d % 8d % 6d % 6d % 6d %s
s!% 6d %04x % 8d % 6d % 6d % 6d %s
N(ii(R R�R
RgR�RRBRR2RRR=R�R�RER3trjustRRtRRhRiR1R.R�Rn(RGRHR?R�RMR~R5R6R�R�R8tpr((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�	s`		
			#			

		'.	%		3.	5tdebugrevspecR�s/print parsed tree after optimizing (DEPRECATED)s	show-revss(print list of result revisions (default)sshow-sets+print internal representation of result setsno-optimizeds"evaluate tree without optimizationsverify-optimizedsverify optimized resulttREVSPECc@s�tj|�}�jd��dd�fd��fd�fdtjfdtjfdtjfg}|d	r�|d
 }n|dr�|d	r�tjt	d���nt
d
�|D��}t
�}t
�}�jr%|dr%|jd�|j
ddg�|dr%|jd�q%n|drQ|drQtjt	d���n|ddgkrt|j
|�nNx:|dD].}||krtjt	d�|��qqW|j
|d�i}	d+}
tj|dtj|��}x�|D]�\}}||�|	|<}||ks7||kr�||
kr�|dsM|dkra�jd|�n�jtj|�d�|}
q�q�W|drbtj|	d�|�}
tj|	d�|�}|ds�|dd+kr!�jr!�jdtj|
�d��jdtj|�d�nt|
�}
t|�}|
|krIdS�jddd��jddd�tjd+|
|�}x�|j�D]�\}}}}}|d-kr�x/|
||!D]}�jd!|dd"�q�Wn|d.kr"x/|||!D]}�jd$|dd%�q�Wn|d&kr�x)|
||!D]}�jd'|�q<Wq�q�Wd(Stj|�}||�}|ds�|dd+kr��jr��jd)tj|�d�n|d*s�d+Sx|D]}�jd,|�q�Wd+S(/s�parse and apply a revision specification

    Use -p/--show-stage option to print the parsed tree at the given stages.
    Use -p all to print tree at every stage.

    Use --no-show-revs option with -s or -p to print only the set
    representation or the parsed tree respectively.

    Use --verify-optimized to compare the optimized result with the unoptimized
    one. Returns 1 if the optimized result differs.
    trevsetaliasR�cS@s|S(N((R�((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyRn	R[texpandedc@stj|��j�S(N(R%t
expandaliasesR(R�(taliasesRG(s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyRo	stconcatenatedR�R�tno_optimizedi����tverify_optimizeds1cannot use --verify-optimized with --no-optimizedcs@s|]\}}|VqdS(N((R�RZRU((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pys	<genexpr>z	sR�R�s'cannot use --optimize with --show-stageR�sinvalid stage name: %sRAs* %s:
s
tshow_sets* analyzed set:
s* optimized set:
is
--- analyzed
Rsdiff.file_as+++ optimized
sdiff.file_bR�R�s-%s
sdiff.deletedtinserts+%s
s
diff.insertedtequals %s
is* set:
t	show_revsNs%d
(R�R�(R�R�(R R�RR%t
foldconcatR�R�RRBRR;R�R�RzRfR�R$tlookupfnRER�tmakematcherR8R�R-tdifflibtSequenceMatchertget_opcodes(RGRHR�R�R�R�R�tshowchangedRZttreebystagetprintedtreeR�RUtarevstbrevstsmR�talotahitblotbhiR�tfuncR/((R�RGs=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�T	s�

		

 $

#"#

t
debugservetsshstdios*run an SSH server bound to process handlestlogiofds$file descriptor to log server I/O tot	logiofilesfile to log server I/O tocK@s)tj|�}|ds1tjtd���nd
}|drc|drctjtd���n|dr�y#tjt|d�dd�}Wqt	k
r�}|j
t
jkr��ntjt|d�dd�}qXn#|drt|ddd�}nt
j||d	|�}|j�d
S(s�run a server with advanced settings

    This command is similar to :hg:`serve`. It exists partially as a
    workaround to the fact that ``hg serve --stdio`` must have specific
    arguments for security reasons.
    R�s&only --sshstdio is currently supportedR�R�s)cannot use both --logiofd and --logiofiletabiR�tlogfhN(R R�RRBRRfR>R?R,R
R�tESPIPER�R3t	sshservert
serve_forever(RGRHR�R�RR((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR��	s"

#&
tdebugsetparentssREV1 [REV2]cC@sZtj||�j�}tj||d�j�}|j��|j||�WdQXdS(sDmanually set the parents of the current working directory

    This is useful for writing repository conversion tools, but should
    be used with care. For example, neither the working directory nor the
    dirstate is updated, so file status may be incorrect after running this
    command.

    Returns 0 on success.
    R�N(R&R�R�Rxt
setparents(RGRHRKRLtnode1tnode2((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR��	s
tdebugssls[SOURCE]cK@stjs!tjtd���n|sN|sEtjtd���nd}ntj|j|��\}}tj	|�}d}idd6dd6}|j|kr�y)|jt
|jp�||j�f}Wqtk
r�tjtd���qXntjtd	���d
dlm}tjtj�dtjd
tjdd�}	z�|	j|�|	jt�}
|jtd�|j�|j|
dt�}|s�|jtd��|j|
�s�|jtd��q|jtd��n|jtd��Wd|	j�XdS(stest a secure connection to a server

    This builds the certificate chain for the server on Windows, installing the
    missing intermediates and trusted root via Windows Update if necessary.  It
    does nothing on other platforms.

    If SOURCE is omitted, the 'default' path will be used.  If a URL is given,
    that server is used. See :hg:`help urls` for more information.

    If the update succeeds, retry the original operation.  Otherwise, the cause
    of the SSL error is likely another issue.
    s6certificate chain building is only possible on Windowss>there is no Mercurial repository here, and no server specifiedRai�thttpsitsshsmalformed port number in URLs,only https and ssh connections are supportedi(twin32tssl_versiont	cert_reqstca_certss&checking the certificate chain for %s
tbuilds-certificate chain is incomplete, updating... sfailed.
sdone.
s$full certificate chain is available
N(R t	iswindowsRRBRRR�R�R0R/RftschemeR�R,tportR�R[R�tssltwrap_socketR�tPROTOCOL_TLSt	CERT_NONEtconnecttgetpeercertR>RqtcheckcertificatechainR@R�(RGRHR�R�R)R/taddrtdefaultportR�RtcertR((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR��	s>		)

tdebugsubsrevision to checks[-r REV] [REV]cC@sztj||d�}x^t|jj��D]G\}}|jd|�|jd|d�|jd|d�q+WdS(Nspath %s
s
 source   %s
is
 revision %s
i(R&R�RfR�R�RRE(RGRHRFR�R�R�((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�0
s
"tdebugsuccessorssetstclosests#return closest successors sets onlys[REV]cO@s�i}t}t}x�tj||�D]�}||}|jd||��x�tj||j�d|dd|�D]u}	|	r�|jd�|j||	d��x5|	dD]&}
|jd�|j||
��q�Wn|jd�quWq%Wd	S(
s}show 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 unless closests
    successors set is set.

    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::

        <rev1>
            <successors-1A>
        <rev2>
            <successors-2A>
            <successors-2B1> <successors-2B2> <successors-2B3>

    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).
    s%s
R�R�s    iiR�s
N(RuRR&R�RERtsuccessorssetsR�(RGRHR/R�R�tctx2strtnode2strRFR�tsuccssetR�((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�;
s $




t
debugtemplatesapply template on changesetstDtdefinesdefine template keywords	KEY=VALUEs&[-r REV]... [-D KEY=VALUE]... TEMPLATEcK@s�d}|drM|dkr4tjtd���ntj||d�}ni}x�|dD]}yLd�|jdd�D�\}}|s�|dkr�t�n|||<Wq^tk
r�tjtd�|��q^Xq^W|j	ra|j
d	�}	tj|�}
|j
tj|
�d
�tj|
|	�}||
kra|j
dtj|�d
�qan|dkrtj||�}tj||d|�}
|j	r�|
j�\}}|jd
djt|���|jddjt|���n|j|
j|��n�tj|||�}|j	r�|jj�\}}|jd
djt|���|jddjt|���nx+|D]#}|j||tj|��q�W|j�dS(s�parse and apply a template

    If -r/--rev is given, the template is processed as a log template and
    applied to the given changesets. Otherwise, it is processed as a generic
    template.

    Use --verbose to print the parsed tree.
    RFs5there is no Mercurial repository here (.hg not found)R�cs@s|]}|j�VqdS(N(R�(R�R((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pys	<genexpr>�
sR>iRGs malformed keyword definition: %st
templatealiass
s* expanded:
t	resourcess* keywords: %s
s, s* functions: %s
N(RfRt	RepoErrorRR&R�R�R�RBR�RR,R�R{R�R�Rttemplateresourcest
maketemplatertsymbolsuseddefaultRER�R�t
renderdefaultRR'tshowR t	strkwargsR�(RGRHttmplR�R/tpropsROR�R�R�R�tnewtreettresR'tkwdstfuncst	displayerRM((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�p
sJ
"	
!	"	 #	 #
!tdebuguigetpasstpromptsprompt texttTEXTs	[-p TEXT]cC@s$|j|�}|jd|�dS(sshow prompt to type passwordsrespose: %s
N(tgetpassRE(RGRRM((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�
st
debuguipromptcC@s$|j|�}|jd|�dS(sshow plain prompts
response: %s
N(RRE(RGRRM((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�
stdebugupdatecachescO@s:|j��(|j��|jdt�WdQXWdQXdS(s'warm all known caches in the repositoryRN(RxRtupdatecachesR>(RGRHR$R�((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR	�
s

tdebugupgradereposextra optimization to performtrunsperforms an upgradecC@stj||d|d|�S(s^upgrade a repository to use different features

    If no arguments are specified, the repository is evaluated for upgrade
    and a list of problems and potential optimizations is printed.

    With ``--run``, a repository upgrade is performed. Behavior of the upgrade
    can be influenced via additional arguments. More details will be provided
    by the command output when run without ``--run``.

    During the upgrade, the repository will be locked and no writes will be
    allowed.

    At the end of the upgrade, the repository may not be readable while new
    repository data is swapped in. This window will be as long as it takes to
    rename some directories inside the ``.hg`` directory. On most machines, this
    should complete almost instantaneously and the chances of a consumer being
    unable to access the repository should be low.
    RR�(R.tupgraderepo(RGRHRR�((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�
st	debugwalks[OPTION]... [FILE]...c
O@sctj|�}tj|d||�}|jrP|jdtj|�d�nt	|dj
|��}|ssdSd�}|jdd�r�tjdkr�d�}nd	t
g|D]}t|�^q��t
g|D]}t|j|��^q��f}x\|D]T}||||j|��|j|�r:d
p=df}	|jd|	j��qWdS(
s&show how files match on given patternss* matcher:
s
NcS@s|S(N((R�((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�
R[RGtslashRcS@s
tj|�S(N(R0R((R�((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�
R[sf  %%-%ds  %%-%ds  %%stexactR[s%s
(R R�R&R'RfR�RER8R�R-R�t
configboolR
RR=RKRtrstrip(
RGRHR$R�RXRRURDRJR@((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�
s 		!"2
7tdebugwhyunstablecC@s�x�tj|tj||��D]h}d}|jd�r^djd�|dD��d}n|jd|d||d|df�qWd	S(
s$explain instabilities of a changesetR[tdivergentnodesR�cs@s+|]!}d|j�|j�fVqdS(s%s (%s)N(Rtphasestr(R�R�((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pys	<genexpr>�
ss%s: %s%s %s
tinstabilitytreasonR�N(RtwhyunstableR&R�R�R�RE(RGRHRFtentrytdnodes((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�
s%t
debugwireargstthreetfourtfivesREPO [OPTIONS]... [ONE [TWO]]cO@s�tj|�}tj|||�}xtjD]}||d=q.Wi}x-|j�D]\}}|rV|||<qVqVWtj|�}|j||�}	|j||�}
|j	d|	�|	|
kr�|j
d|
�ndS(Nis%s
(R R�RR�R
t
remoteoptsR�R�RRER(RGRtvalsR�RHtoptRIR�R�tres1tres2((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR�
scc@sd}g}d}x�|D]�}|j�}|s7qn|jd�rLqn|jd�s�|ro||fVn|}g}d}qn|s�tjtd���nt|�t|j��}||kr�|r�|dc|j�7<q|j|�|}qW|r||fVndS(Nit#R�sindented line outside of blocki����(	RfRR�RRBRR=tlstripRv(R�tactiveactiont
blocklinest
lastindentR@R�((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyt_parsewirelangblockss2


tdebugwireprototlocalsshs!start an SSH server for this repoR�s(construct a specific version of the peertnoreadstderrs%do not read from stderr of the remotetnologhandshakes,do not log I/O related to the peer handshakec+@s�
tj|�}|dr8|r8tjtd���n|drv|ddjkrvtjtd�d	td
���n|r�|dr�tjtd���n|j�r�|jtd��ntt|j	��}d/}d/}d/}d/}d/}	|dr�tj�d
|j
ddg}
tjtjtj|
�dtjdtjdtjdd�}|j}|j}|j}|js�|ddkr�tj||jddt�}tj||jddt�}tj||jddt�}nd}|d}|ddkrJ|jtd��tj||||||d/d|�}
q%|ddkr�|jtd��tj||||||d/d|�}
q%|ddkr�|jtd��d/}
q%|jtd��tj||||||d|�}
n(|rtj|�}|jd kr9tjtd!���n|j �\}}id"d#6}|jr�|j!i|d$6d%d&6itd6t"d'6d(6�n|j#r�t|d(d'<n|ddkr�t"|d)<nt$j%|||�}	|ddkr�|jtd*��|j&itdk6��K|d-r1|j'�nt(j||d.|	�}
|d-r`|j)�nWd/QXt*|
t(j+�s
tjtd0�d	td1���q
q%|ddkr�|jtd��d/}
q%|dr�tjtd2�|d��q%t(j||d.|	�}
ntjtd3���d/}x|D]\}}|dlkr�|shtjtd5���nd6j,d7�|D��}t-j.|�}|j|�|d4krG
|j/�qG
q2|d8kr�|s�tjtd9���n|j/�q2|j0d:�rL|
stjtd;���n|j1d<d=�d=}i}
x�|D]�}|j2�j1d<d=�}t3|�d=kr�|d}d6}n|\}}|j0d>�r�t-j4|d?�}nt-j.|�}||
|<q@W|d/k	r�|j5||
f�q2n|j6td@�|�dA|
kr�t7|
dAdB��r}|
dA=|
j8||tj9|
��\}}|j6tdC�t-j:|��|j6tdD�t-j:|��Wd/QXqG
|
j;��}|j<||
�j=�}Wd/QXt*|t>j?�r|j@�}|j6tdE�t-jA|dFtdGdH��qG
|j6tdE�t-jA|dFtdGdH��q2|dIkr�|d/k	r|tjtdJ���ng}q2|dKkr	|j6tdL�t3|��xItB|
jC|��D]2\}} |j6tdM�|t-j:| �f�q�Wd/}q2|j0dN�r�|	s0	tjtdO���n|j1d<dH�}!t3|!�dPkrl	tjtdQ���n|!d=\�}"i}#d/}$g}%x|D]�}|j2�}tDjEdR|�}&|&r�	tjF|&jGd=��}tjF|&jGdH��}||#|<q�	n|j0dS�rA
t7|j1d<d=�dB��}|jH�}$Wd/QXq�	|j0dT�ry
tIjJ|t3dT��}'|%j5|'�q�	tjtdU�|��q�	W||"}|%r�
d6j,dV�|%D��}$nt$jKjLtjF|�|$|#�}(�fdW�|(_My|	j7|(�}|jH�}$Wn2tjNjOk
rH}tP|dXdY���q2nX|jQjRdZ�})|)d[krG
|jtd\�t-jAtSjT|$�dFtdGdH��qG
q2|d]kr�|
jU�q2|d^kr|s�|r�tjtd_���n|jU�|jH�|jH�q2|d`krE|s8tjtda���n|jV�q2|dbkr||sotjtdc���n|jV�q2|j0dd�r�tW|j1d<d=�d=�}*|s�tjtde���n|jH|*�q2|j0df�r.
tW|j1d<d=�d=�}*|s
tjtdg���n|jH|*�q2tjtdh�|��q2W|d/k	ro
tjtdi���n|
r�
|
jU�n|r�
|jX�nd/S(ms�send wire protocol commands to a server

    This command can be used to issue wire protocol commands to remote
    peers and to debug the raw data being exchanged.

    ``--localssh`` will start an SSH server against the current repository
    and connect to that. By default, the connection will perform a handshake
    and establish an appropriate peer instance.

    ``--peer`` can be used to bypass the handshake protocol and construct a
    peer instance using the specified class type. Valid values are ``raw``,
    ``http2``, ``ssh1``, and ``ssh2``. ``raw`` instances only allow sending
    raw data payloads and don't support higher-level command actions.

    ``--noreadstderr`` can be used to disable automatic reading from stderr
    of the peer (for SSH connections only). Disabling automatic reading of
    stderr is useful for making output more deterministic.

    Commands are issued via a mini language which is specified via stdin.
    The language consists of individual actions to perform. An action is
    defined by a block. A block is defined as a line with no leading
    space followed by 0 or more lines with leading space. Blocks are
    effectively a high-level command with additional metadata.

    Lines beginning with ``#`` are ignored.

    The following sections denote available actions.

    raw
    ---

    Send raw data to the server.

    The block payload contains the raw data to send as one atomic send
    operation. The data may not actually be delivered in a single system
    call: it depends on the abilities of the transport being used.

    Each line in the block is de-indented and concatenated. Then, that
    value is evaluated as a Python b'' literal. This allows the use of
    backslash escaping, etc.

    raw+
    ----

    Behaves like ``raw`` except flushes output afterwards.

    command <X>
    -----------

    Send a request to run a named command, whose name follows the ``command``
    string.

    Arguments to the command are defined as lines in this block. The format of
    each line is ``<key> <value>``. e.g.::

       command listkeys
           namespace bookmarks

    If the value begins with ``eval:``, it will be interpreted as a Python
    literal expression. Otherwise values are interpreted as Python b'' literals.
    This allows sending complex types and encoding special byte sequences via
    backslash escaping.

    The following arguments have special meaning:

    ``PUSHFILE``
        When defined, the *push* mechanism of the peer will be used instead
        of the static request-response mechanism and the content of the
        file specified in the value of this argument will be sent as the
        command payload.

        This can be used to submit a local bundle file to the remote.

    batchbegin
    ----------

    Instruct the peer to begin a batched send.

    All ``command`` blocks are queued for execution until the next
    ``batchsubmit`` block.

    batchsubmit
    -----------

    Submit previously queued ``command`` blocks as a batch request.

    This action MUST be paired with a ``batchbegin`` action.

    httprequest <method> <path>
    ---------------------------

    (HTTP peer only)

    Send an HTTP request to the peer.

    The HTTP request line follows the ``httprequest`` action. e.g. ``GET /foo``.

    Arguments of the form ``<key>: <value>`` are interpreted as HTTP request
    headers to add to the request. e.g. ``Accept: foo``.

    The following arguments are special:

    ``BODYFILE``
        The content of the file defined as the value to this argument will be
        transferred verbatim as the HTTP request body.

    ``frame <type> <flags> <payload>``
        Send a unified protocol frame as part of the request body.

        All frames will be collected and sent as the body to the HTTP
        request.

    close
    -----

    Close the connection to the server.

    flush
    -----

    Flush data written to the server.

    readavailable
    -------------

    Close the write end of the connection and read all available data from
    the server.

    If the connection to the server encompasses multiple pipes, we poll both
    pipes and read available data.

    readline
    --------

    Read a line of output from the server. If there are multiple output
    pipes, reads only the main pipe.

    ereadline
    ---------

    Like ``readline``, but read from the stderr pipe, if available.

    read <X>
    --------

    ``read()`` N bytes from the server's main output pipe.

    eread <X>
    ---------

    ``read()`` N bytes from the server's stderr pipe, if available.

    Specifying Unified Frame-Based Protocol Frames
    ----------------------------------------------

    It is possible to emit a *Unified Frame-Based Protocol* by using special
    syntax.

    A frame is composed as a type, flags, and payload. These can be parsed
    from a string of the form:

       <request-id> <stream-id> <stream-flags> <type> <flags> <payload>

    ``request-id`` and ``stream-id`` are integers defining the request and
    stream identifiers.

    ``type`` can be an integer value for the frame type or the string name
    of the type. The strings are defined in ``wireprotoframing.py``. e.g.
    ``command-name``.

    ``stream-flags`` and ``flags`` are a ``|`` delimited list of flag
    components. Each component (and there can be just one) can be an integer
    or a flag name for stream flags or frame flags, respectively. Values are
    resolved to integers and then bitwise OR'd together.

    ``payload`` represents the raw frame payload. If it begins with
    ``cbor:``, the following string is evaluated as Python code and the
    resulting object is fed into a CBOR encoder. Otherwise it is interpreted
    as a Python byte string literal.
    R+s --localssh requires a repositoryR�RCthttp2tssh1tssh2sinvalid value for --peerR�s*valid values are "raw", "ssh1", and "ssh2"s/cannot specify --localssh with an explicit paths (waiting for commands on stdin)
s-RR�s
--sshstdiotstdintstdouttstderrtbufsizeiR�tlogdataRYRsssh://localserverR,s.creating ssh peer for wire protocol version 1
tautoreadstderrs.creating ssh peer for wire protocol version 2
susing raw connection to peer
s)creating ssh peer from handshake results
thttps*only http:// paths are currently supportedsMercurial debugwireprotot	useragentt	loggingfhRtloggingnametlogdataapistloggingoptst
sendaccepts/creating http peer for wire protocol version 2
texperimentalshttppeer.advertise-v2R-topenerNs;could not instantiate HTTP peer for wire protocol version 2sRthe server may not have the feature enabled or is not allowing this client versions'--peer %s not supported with HTTP peerss$unsupported connection configurationsraw+s!cannot call raw/raw+ on this peerR[cs@s|]}|j�VqdS(N(R%(R�Ro((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pys	<genexpr>�stflushscannot call flush on this peertcommands6cannot send commands unless peer instance is availableR�iseval:issending %s command
tPUSHFILEtrbsresult: %s
sremote output: %s
s
response: %s
tbprefixR�it
batchbeginsnested batchbegin not allowedtbatchsubmits#sending batch with %d sub-commands
sresponse #%d: %s
shttprequest s+cannot use httprequest without an HTTP peerisDinvalid httprequest: expected format is "httprequest <method> <path>s^([a-zA-Z0-9_-]+): (.*)$s	BODYFILE sframe s#unknown argument to httprequest: %scs@s|]}t|�VqdS(N(Ru(R�RU((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pys	<genexpr>
sc@s
tj��S(N(R Rj((R�(s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR
R[RscS@sdS(N(Rf(((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR
R[sContent-Typesapplication/mercurial-cbors	cbor> %s
R�t
readavailables(readavailable not available on this peertreadlines#readline not available on this peert	ereadlines$ereadline not available on this peersread sread not available on this peerseread s eread not available on this peersunknown action: %ssunclosed "batchbegin" request(RCR.R/R0(R>shttppeer.advertise-v2(RCsraw+(YR R�RRBRtinteractiveRER-R)RrRfR7thgcmdRt
subprocesstPopentrapplyttonativestrtPIPER1R2R3R�R0tmakeloggingfileobjectR>R)t	sshv1peert	sshv2peertmakepeerR/R�tauthinfoRzR@R2R�R?RR*RR-R�t
httpv2peerR�R8tunescapestrR@R�R�R%R=tevalpythonliteralRvRqR�t	_callpushR�R:R6R7R8R4tcommandresponsetobjectsRR�t_submitbatchtreR'tstrurltgroupRsR2tmakeframefromhumanstringturlreqtrequestt
get_methodturlerrturlerrorRktheadersR�R5t	decodeallR�RHR,tkill(+RGRHRhR�tblockstprocR1R2R3R?RIR/R6R�tuRUt
openerargstbatchedcommandstactiontlinesR}RAR@tfieldsR�R�R�tresR�RtvalR�tchunkRbthttppathRftbodytframesRXtframetreqtcttcount((R�s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyR*9s��
		
								
			
	


	




	   	"	


!






(�t
__future__RRiR�R�R�R�R>R�R]R�R�R�RiRLRnR�ti18nRR�RRRRRRR[RR	R
RRR
RRRRRRRRRRRtlockmodRRR�RRRRRR R!R"R#R$R%R&R'R(R)R*R+R,R-R.R/R�R0R1R>R2R3R4tutilsR5R6R7R8trevlogutilsR9RnR�RAR>R:RORfR@RWR�R�R�R�R�R�R�R�R
RRR!R&tdebugrevlogoptsRARHt
formatteroptsRPR�RR�R�R�R�R�R�RRR#R0R7R9R<R�R�R�R�R�R�tcommitopts2R�RRtwalkoptst
mergetooloptsR"R2R=RTRURWR\R�R�R�R�R�R�R�R�RRR	RRRRR)R*(((s=/usr/lib64/python2.7/site-packages/mercurial/debugcommands.pyt<module>s�.�/"	'�		
			8
�	.
$.			;=!*"

(�'!		Z*c!	�j<'DJ'!!�)"=		]!=	3!5!!!	)