-=[ Mr. Bumblebee ]=-
_Indonesia_

Path : /usr/lib/python2.7/dist-packages/mercurial/
File Upload :
Current File : //usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyc


l\c	@s5ddlmZmZmZmZddlmZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZ dZ!e"dZ#e$dZ%dZ&dZ'd	Z(e"ddd
Z*dZ+ddddddZ,dddddd
dddZ-dZ.e"dZ/ddddde"dZ0dZ1dde"ddZ2de"dde"dZ3de4fdYZ5de5fdYZ6dZ7e"dZ8dZ9dZ:dd d!Z;d"e<fd#YZ=d$Z>d%Z?d&Z@d'ZAd(ZBd)ZCd*ZDddd+ZEd,ZFd-ZGd.ZHd/ZId0ZJd1ZKdd2ZLd3ZMd4ZNd5ZOddd6ZPd7ZQd8ZRdid9ZSd:ZTd;ZUd<ZVejWZXejWZYejWZZd=e$e"ed>ed?fd@e$e"edAedBfgZ[e"dCZ\dDZ]dS(Ei(thextnullidtnullrevtshort(t_NcCs|jdjdS(Nt^t|(tlstriptsplit(tcmd((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytparsealiasessc
Csi}i}||kr$|g}n|j}x|D]}t|}d}||krd|}n3|sx*|D]}	|	j|rq|	}PqqqqWn|dk	r7|djds|jdr|||f||<q|||f||<q7q7W|r
|r
|}n|S(s
    Return cmd -> (aliases, command table entry)
    for each matching command.
    Return debug commands (or their aliases) only if no normal command matches.
    itdebugN(tkeysR
tNonet
startswith(
R	ttabletstricttchoicetdebugchoiceRtetaliasestfoundta((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytfindpossibles,
	
"
	cCst|||}||kr&||St|dkrc|j}|jtj||n|rw|jdStj|dS(s9Return (aliases, command table entry) for command string.iiN(RtlenRtsortterrortAmbiguousCommandtvaluestUnknownCommand(R	RRRtclist((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytfindcmd9s
cCsUxNtjjtjj|dsP|tjj|}}||krdSqW|S(Ns.hg(tostpathtisdirtjointdirnameR
(tptoldp((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytfindrepoJs
$cCs|jjtkr-tjtdn|jd \}}}}|sa|sa|sa|rytjtdn|d}xHt|j	D]7}|j
|jrtjtd|qqWdS(Nsoutstanding uncommitted mergeisuncommitted changess!uncommitted changes in subrepo %s(tdirstatetp2RtutiltAbortRtstatusR
tsortedtsubstatetsubtdirty(trepotmodifiedtaddedtremovedtdeletedtctxts((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyt
bailifchangedRs
cCs|jd}|jd}|rB|rBtjtdn|r|ry@|dkrp|jj}ndjtj|j}Wqt	k
r}tjtd||j
fqXn|S(s3 get the log message according to -m and -l option tmessagetlogfiles6options --message and --logfile are mutually exclusivet-s
s"can't read commit message '%s': %s(tgetR*R+RtfintreadR#treadfilet
splitlinestIOErrortstrerror(tuitoptsR9R:tinst((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyt
logmessage]s
"cs*|ssr"fdStSdS(sget appropriate commit message editor according to '--edit' option

    'finishdesc' is a function to be called with edited commit message
    (= 'description' of the new changeset) just after editing, but
    before checking empty-ness. It should return actual text to be
    stored into history. This allows to change description before
    storing.

    'extramsg' is a extra message to be shown in the editor instead of
    'Leave message empty to abort commit' line. 'HG: ' prefix and EOL
    is automatically added.

    'getcommiteditor' returns 'commitforceeditor' regardless of
    'edit', if one of 'finishdesc' or 'extramsg' is specified, because
    they are specific for usage in MQ.
    cst|||ddS(Nt
finishdesctextramsg(tcommitforceeditor(trtcR7(RHRG(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyt<lambda>sN(tcommiteditor(teditRGRHRD((RHRGs5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytgetcommiteditorpscCs|jd}|ruyt|}Wn&tk
rMtjtdnX|dkr{tjtdq{nd}|S(s0get the log limit according to option -l/--limittlimits limit must be a positive integerislimit must be positiveN(R<tintt
ValueErrorR*R+RR
(RDRP((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytloglimits
cs%ifdd6fdd6fdd6fdd6}id	d
6fdd6}	yr|	j|nrfd
|	d<ndk	rfd|	d<ndk	rfd|	d<ndk	rdk	rfd|	d<ndk	rafd|	d<fd|	d<fd|	d<ng}
t|}d}xa||kr||}
|
d
kr|d7}||}
|	|
}
n|
j|
|d7}q|Wdj|
SWn3tk
r }tjtd|j	dnXdS(Ncs
tS(N(R((tnode(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRLstHcstjjS(N(tstrt	changelogtrev((RTR1(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRLstRcs
tS(N(R((RT(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRLsthcstjddtS(Ns[^\w]R(treR/RV((tdesc(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRLstmcSsdS(Nt%((((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRLsR^cstjjjS(N(R R!tbasenametroot((R1(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRLstbcs%tjjjp!dS(Ni(RVRWRXtzfill((RTR1trevwidth(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRLsRJcs
tS(N(RV((ttotal(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRLstNcs
tS(N(RV((tseqno(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRLstncstjttS(N(RVRbR((RfRd(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRLscstjjS(N(R R!R_((tpathname(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRLsR7cstjjpdS(Nt.(R R!R$((Rh(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRLstdcsS(N(((Rh(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRLsR%iits-invalid format spec '%%%s' in output filename(
tupdateR
RtappendR#tKeyErrorR*R+Rtargs(R1tpatRTR\RdRfRcRht
node_expandertexpandertnewnametpatlentiRKRE((R\RTRhR1RcRfRds5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytmakefilenamesL




twbc
	Cs7|dk}
|s|dkr|
r1|jjp:|jj}tj|drntjtj|j|Sdt	fdY}||Sntj|dr|
r|Stj|drd|kr|St
||||||||	}
|dk	r*|j|
|}|d	kr*d
||
<q*nt
|
|S(NRJtrbR;tfilenotwrappedfileobjcBs#eZdZdZdZRS(cSsdS(N(R
(tx((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRLscSs
||_dS(N(tf(tselfR|((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyt__init__scSs'|dkr|jSt|j|SdS(Ntclose(tnooptgetattrR|(R}tattr((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyt__getattr__s(t__name__t
__module__RR~R(((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRzs		twriteR>Rwtab(RJsrb(RCtfoutR=R*tsafehasattrR tfdopentdupRytobjectRvR
R<topen(R1RpRTR\RdRfRctmodetmodemapRhtwritabletfpRztfn((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytmakefileobjs"

!c	Csw|d}|d}d}|r5|r5td}n9|sA|rn|rVtd}qn|sntd}qnn|rtj|nd}|r|r|jj}q|r|j}q|r|j|}t|r|}qqn|ss|st	j
|tdntjj
|sAtjtd|ntjtjtjdt|d	 d
}n|S(s:opens the changelog, manifest, a filelog or a given revlogRWtmanifests:cannot specify --changelog and --manifest at the same times6cannot specify filename with --changelog or --manifests=cannot specify --changelog or --manifest without a repositorysinvalid argumentssrevlog '%s' not foundtauditis.iN(R
RR*R+t
unfilteredRWRtfileRRtCommandErrorR R!tisfiletrevlogtscmutiltopenertgetcwdtFalse(	R1R	tfile_RDtcltmftmsgRJtfilelog((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyt
openrevlogs<

c	sjijdjdd	fd}	f	d}fd}fd}tj|}|stjtdnt|dkrtjtd	n|j	}	t
jj|	o(t
jj
|	st|dksVtj|d
rntjtdntj|	rtjtd|	qn|}
r|}
ng}xE|D]=}||}
|
sqn|j|
||	|
|
fqW|stjtd
nd
}xV|D]N\}}
x?|
D]7\}}}||||||r=|d7}q=q=Wq*W|rjtdn|d
kS(Ntaftertdry_runcsg}rdpd}tjd|gdt}xj|D]}j|}|j|}|j|}||kr|r|dkrjt	d|n|rJ|dkrJjt	d|qJqJn|j
|||fqJW|S(Nt?s?rtglobbeds&%s: not copying - file is not managed
RJs2%s: not copying - file has been marked for remove
(RtmatchR
tTruetwalkR(treltexacttwarnRRm(Rptsrcst	badstatesR]tabststateRR(RRDR1RC(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytwalkpats "
c
stjj|}d|krY|jdd\}}jj|d|}nj|}j|}j|}	j|}
tj	|j
|}|dk	rjt
d|j|j|fdStjj|}t}
|r~||kr~jj|jj|kr~sljt
d|dSt}t}
q~nr|sr|
dkrdsjt
d|dSnr|s-rjt
d||fnjt
d	||fdSns-y|r:tj|ntjj|pOd
}tjj|sttj|n|
r|d}tj|	|tj||ntj|	|t}Wq-tk
r)}|jtjkrjt
d|t}q*jt
d
||jftSq-Xnjs=|rrcjt
d||fqjt
d||fn||<tj ||ddrrr|r|
rtj!j|nj"|gndS(Nt/is*%s: not overwriting - %s collides with %s
s%s: can't copy - same file
tmntforces"%s: not overwriting - file exists
s+%s: not recording move - %s does not exist
s+%s: not recording copy - %s does not exist
Ris	~hgrenames%s: deleted in working copy
s%s: cannot copy - %s
smoving %s to %s
scopying %s to %s
tdryruntcwd(#tpathutilt	canonpathR`trsplitR(t	normalizetpathtotwjoinRt
checkportableR<R
RRR R!tlexistsRRtunlinkR$R"tmakedirstrenameR*tcopyfileRAterrnotENOENTRBtverboseR,tdirstatecopyt
unlinkpathtforget(tabssrctrelsrctotargetRt	abstargettabspathtabsnamet	reltargetttargettsrcRtprevsrctexiststsamefilet	targetdirttmpt	srcexistsRE(	RRRRDRR1ttargetsRCtwctx(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyR,s



	  


cstjj|rtjj|}tj|}r^ttjj	|dnt|rttj
7nfd}n'rfd}nfd}|S(Nics tjjtj|S(N(R R!R#R*t	localpath(R%(tdesttstriplen(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRLscs(tjjtjjtj|S(N(R R!R#R_R*R(R%(R(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRLscsS(N((R%(R(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRLs(R R!R"RRR`R*RRRtsep(RpRRtabspfxtres(Rt
destdirexistsR1(RRs5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyttargetpathfnscsutj|r!fd}nPtjj|}t|tddkrJfd}tj|}t|rttj	7ntj
jtj
jtj
j
|dr5|}ttj
j
|d}|r|ttj	7}n|||kr5|q5nfd}n'rbfd}nfd}|S(Ncs(tjjtjjtj|S(N(R R!R#R_R*R(R%(R(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRLsics`d}xSD]K}tjjtj|d|}tjj|r
|d7}q
q
W|S(Nii(R R!R#R*RR(RtscoreR7tt(RR(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytevalpaths
&ics tjjtj|S(N(R R!R#R*R(R%(RR(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRLscs(tjjtjjtj|S(N(R R!R#R_R*R(R%(R(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRLscsS(N((R%(R(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRLs(tmatchmodtpatkindRRR`RR*RR RR!R"R#R(RpRRRRRRt	striplen1(RRR1(RRRs5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyttargetpathafterfns* 1s"no source or destination specifiedisno destination specifiedis@with multiple sources, destination must be an existing directorys!destination %s is not a directorysno files to copys(consider using --after)
(RR<R
Rt
expandpatsR*R+RRtpopR R!R"tislinkRRtendswithsepRmR(RCR1tpatsRDRRRRRRttfntcopylistRpRterrorst
targetpathRRR((
RRRRRDRR1RRCRs5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytcopy
sP
'\)%%	
#csfd}drdrtjdd\}tj|z|sotjtjd}n|jdx`t	dt
|D]I}	||	jdr||	=Pq||	jd	r||	|	d
5PqqWfd}
tj||
}|dkr(tj
td
n||WdytjWn+tk
rt}|jtjkruqunXX|r||SdSn|r|nds|tjndrdytjWntk
rnXtjtjtjjtjjtjtjtj}
|
}|rktj|tjtjBtjB}ntj|
dtj|dtj|d
|
dkrtj|
n|r|dkrtj|qn|r|SdS(sRun a command as a service.csWdrSrdpd}td|}|jt|d|jndS(Ntpid_fileRtws
(RRRVR(tpidRR(t	appendpidRD(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytwritepids

tdaemontdaemon_pipefdstprefixshg-service-is--daemon-pipefds=%ss--cwd=s--cwdicstjjS(N(R R!R((tlockpath(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytcondfnsischild process failed to startN(iii(iii( ttempfiletmkstempR RR*thgcmdtsystargvRmtxrangeRRtrundetachedR+RRtOSErrorRRtgetpidtsetsidtAttributeErrort
hidewindowtstdouttflushtstderrRtdevnulltO_RDWRtO_CREATtO_APPENDtdup2(RDtparentfntinitfntrunfnR:trunargsRRtlockfdRuRRRtnullfdt	logfilefd((RRRDs5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytservicesn










&c
Csmtj||\}}}	}
}}}
}t|}|jd}|d}t|jdped}|s~ddtfStd}t}zt||}|r|}n|r|j	}nd}|j
d|t|dkr|j|t
n|jdrU|s |
r8tjtd	n||
}
||pNt
}n|ry?||
}
||}|
|dkr|d}
|t
}nWn tjk
r|\}
}nX|jt
kr|jtd
qn|\}
}d}|r|
|dkr&|||
jn||dkrU|j|
j|jn|jdss|jdr|jj|pdn|jd
t}t}y3tj|||d|d|ddd|dWnCtjk
r}|s
tjt|n|r t}q nXt|}|jdrT|r|j|qq|jdsi|rrd}ntj||pg}|j||jdp|	|jdp|
d|d|d|}n |jds|jdr|pd}n|
j}tj }zt}y)tj!|||
||||ddWn+tjk
ry}tjt|nXt"j#||
j|jf||jdp|	|jdp|
|||dt}|j}Wd|j$X|jdr+t%||kr+tjtdn|rJtdt&|}n|||fSWdt'j(|XdS(sUtility function used by commands.import to import a single patch

    This function is explicitly defined here to help the evolve extension to
    wrap this part of the import logic.

    The API is currently a bit ugly because it a simple code translation from
    the import command. Feel free to make it better.

    :hunk: a patch (as a binary string)
    :parents: nodes that will be parent of the created commit
    :opts: the full dict of option passed to the import command
    :msgs: list to save commit message to.
           (used in case we need to save it when failing)
    :updatefunc: a function that update a repo to a given node
                 updatefunc(<repo>, <node>)
    tbypasststript
similarityisapplied to working directorysmessage:
%s
iRsnot a Mercurial patchs\warning: import the patch as a normal revision
(use --exact to import the patch as a merge)
t
import_branchtdefaulttpartialtfilesteolmodegY@t	no_committusertdateRteditorRNs%patch is damaged or loses informations
created %s()tpatchtextractROR<tfloatR
RRRFRRRRmRR*R+Rt	RepoErrorRTRt
setparentsR(t	setbranchtsett
PatchErrorRVRtlistRt
matchfilestcommittbrancht	filestoret	patchrepotcontextt
makememctxRRRR R(RCR1thunktparentsRDtmsgst
updatefuncttmpnameR9R$R%R2tnodeidtp1R)R&RlRtsimRtrejectstcmdline_messageRgR R!RR]tstoretmemctx((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyttryimportone9s*

	



	
		!shg-%h.patchc	st|tg|D]}tt|^qifd}x.t|D] \}}|||d|qkWdS(s export changesets as hg patches.cs|}|j}g|jD]}|r#|j^q#}|j}r`|jn|rp|dpst}t}	rtdkr|jjj	d}
|
d}t
|d|dd|dddd	krt}	qnrItj
krItjd
rIjjdjns^jj}nfd}|d
|d|j|d|j|dtj|j|r|dkr|d|n|dt||dt|t|dkr4|dt|dn||jj|dx9tj||dD]\}
}||
d|qpW|	rjndS(Nis
R\RdRfRcRRwRtnames%s
csj|dS(N(R(R7tkw(R(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRss# HG changeset patch
s
# User %s
s
# Date %d %d
s
#      %s
Rs# Branch %s
s
# Node ID %s
s
# Parent  %s
is

RDtlabel(RTR8R2treverseRRRtdescriptiontrstripRRRRRR*RRCtnoteRDRR$R%tdatestrRR'tdiffuiR(RXRfRR6RTR%R8R2tprevtshouldcloset
desc_linesR\RtchunkRF(tfilemodeRDR1Rct
switch_parentttemplateRd(Rs5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytsinglesJ
+

	'

(iN(RtmaxRVt	enumerate(	R1trevsRSRRRRDRXRTRf((RQRDR1RcRRRSRds5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytexports+!/Rkcsd
kr|j}nfd}|r|jdd}d}|js`|j}ntj||||||d|	}
xtjtj	|
d|d|j
D]\}}||d|qWnExBtj||||||d|	D]\}}||d|qW|
r||}||}xtj
||D]\}}|}y$|d
k	rv|j|d	}nWntk
rd
}nXtj||}|j||||d
|d|dd|	qAWnd
S(sshow diff or diffstat.csj|dS(N(R(R7RE(R(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRsR5iiPRtwidthtgitRFitchangeststatRN(R
RRtplaint	termwidthR'tdifft
diffstatuiR*t	iterlinesRZRLRtitersubreposR.RnRt
narrowmatcher(RCR1tdiffoptstnode1tnode2RR[R\RRtlistsubreposRRYtchunksRPRFtctx1tctx2tsubpathR/t	tempnode2tsubmatch((Rs5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytdiffordiffstats<	



tchangeset_printercBsSeZdZdZdZdZdddZdZdZ	dZ
RS(	s9show changeset information when templating not requested.cCsU||_||_||_||_||_i|_i|_d|_d|_	dS(N(
RCR1tbufferedR'RdtheaderR7R
t
lastheadertfooter(R}RCR1R'RdRp((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyR~(s								cCs||jkrT|j|}||jkrG||_|jj|n|j|=n||jkr|jj|j||j|=dSdS(Nii(RqRrRCRR7(R}RXRZ((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyR3s
	

cCs#|jr|jj|jndS(N(RsRCR(R}((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyR@s	cKsk|jrQ|jj|j|||||jjdt|j|j<n|j||||dS(Ntlabeled(RpRCt
pushbuffert_showt	popbufferRR7RX(R}R6tcopiestmatchfntprops((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytshowDs
	
%cCsO|j}|j}|jjrN|jjd|t|fdddS|jj}tj	|j
}|jjrtpt}	g|j
||D]!}
|
|	|j|
f^q}|jjtd||	|fdd|j|j}|dkr2|jjtd|dd	nx:|jj|D]&}
|jjtd
|
ddqEWx:|jj|D]&}|jjtd|dd
qW|jjr|jr|jjtdt|jddnxI|D]A}d|j|dj}|jjtd|d|qW|jjr|j}|jjtd|jjj|t|fddn|jjtd|jdd|jjtd|dd|jjr}|jj|j|d|d }xttdtdtdg|D]>\}}|r8|jjd|dj|fddq8q8WnJ|jr|jjr|jjtd dj|jdd!n|r"|jjr"g|D]}d"|^q}|jjtd#dj|dd$n|j}|r|jjrxRt|jD];\}}|jjtd%||j d&fdd'qSWn|j!j"}|r+|jjr|jjtd(dd)|jj|dd)|jjd*q+|jjtd+|j#ddd,n|jjd-|j$||dS(.s(show a single changeset or file revisions%d:%s
RFslog.nodeNschangeset:   %d:%s
slog.changeset changeset.%sRsbranch:      %s
s
log.branchsbookmark:    %s
slog.bookmarkstag:         %s
slog.tagsphase:       %s
s	log.phaseslog.parent changeset.%sisparent:      %d:%s
smanifest:    %d:%s
sui.debug log.manifestsuser:        %s
slog.usersdate:        %s
slog.dateisfiles:sfiles+:sfiles-:s	%-12s %s
t sui.debug log.filessfiles:       %s
sui.note log.filess%s (%s)scopies:      %s
sui.note log.copiessextra:       %s=%s
t
string_escapesui.debug log.extras
description:
sui.note log.descriptions

ssummary:     %s
slog.summarys
(%RTRXRCtquietRRR1RWR*RKR%t	debugflagRt_meaningful_parentrevsRtphasestrR2t
nodebookmarkstnodetagstphasetmanifestnodeRR$R,R8tzipR#R!RtextraR-titemstencodeRHRR@t	showpatch(R}R6RxRyRzt
changenodeRXtlogR%thexfuncR%R8R2tbookmarkttagtparentRFtmnodeR!tkeytvalueRKRRH((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRvLs7%
%

"
&		"(
"

c
Cs|s|j}n|r|jjd}|jjd}tj|j|j}|jjj|d}|rt|j|j|||d|dtn|r|r|jj	dnt|j|j|||d|dt
n|jj	dndS(NR\R'iRs
(R'RdR<RCR1RWR8RnRRR(R}RTRyR\R_RdRM((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRs cCs]|j|}|jjrY|dtkrY|d|dkrIg}qY|dg}n|S(sReturn list of meaningful (or all if debug) parentrevs for rev.

        For merges (two non-nullrev revisions) both parents are meaningful.
        Otherwise the first parent revision is considered meaningful if it
        is not the preceding revision.
        ii(t
parentrevsRCRR(R}RRXR8((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRs	N(RRt__doc__R~RRR
R{RvRR(((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRo%s		
		i	tchangeset_templatercBs)eZdZdZdZdZRS(sformat changeset information.c
Cstj|||||||jr.dp4d}idd6dd6dd6d	d
6}	|	d|	d<tj|i|d6d
|	|_|r||jjd<ni|_dS(NcSs|S(N((R{((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRLscSs|d S(Ni((R{((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRLss{rev}:{node|formatnode} Rs{rev}:{node|formatnode}Rs{name} ({source})t	file_copys{key}={value|stringescape}Rtfilecopyt
formatnodetcachet	changeset(RoR~Rt	templaterRR(
R}RCR1R'RdttmpltmapfileRpRtdefaulttempl((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyR~s
cCsk|j}t|dkr"|S|jjrC|d|jdgS|dj|jdkrggS|S(sHReturn list of meaningful (or all if debug) parentrevs for rev.
        iitnull(R8RRCRR1RX(R}R6R8((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRs cstjfd}|j}|jtj||d<j|d<||d<j|d<i|d6|d<j|d<tdfj
jd	fj
jd
fj
j
dfg}idd
6dd6dd6}xc|D][\}}	xL|D]D}
|	rd|
|	fp|
}|r|jkr|||
<qqWqWy|d
rtjj|d
|}jr|j|j<qj|kr|_j
j|qn|d}
j
jtjj|
|j|j||dr9js9tjj|d|_q9nWn}tk
r}td}tj|jj|jdfn9tk
r}tjdjj|jdfnXdS(s(show a single changeset or file revisioncsZ|d}gj|D]*}d|jfd|jfg^q}d||S(NR6RXRTR(RRXR(RoR6R%R8(R}tshowlist(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytshowparentss
=R8ttemplR6R1RxtrevcacheRRR~RRkRqRsRs%s_%ss%s: no key named '%s'is%s: %sN(t
templatekwRRRltkeywordsRR1RRR
RCRR~RRt	stringifyRpRqRXRrRRRTRsRnRR*R+RRotSyntaxError(R}R6RxRyRzRt	tmplmodesttypesRtpostfixttypetcurRZRRER((R}Rs5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRvsP	




	

		
%
	)(RRRR~RRv(((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRs		cCs|r|r|jdd}|rlytj|}Wn&tk
ratj|dt}nX|dfStj|jddd}n|r|r|}tj	j
|dstjd|ptj|}|r|}qnd|fS|sdSd|kr|dfStj	j
|dsqtjd|pItj|}|rqtj	j|rqd|fSn|jd	|}|rytj|}Wn&tk
rtj|dt}nX|dfS|d
kr|j
tdtjtjtdnd
|ks(d|krtj	j|rtj	j|jdrkdtj	j|fSt|j}|dfS|dfS(sF
    Find the template matching the given template spec or style.
    RCtlogtemplatetquotedtstyleRkismap-cmdline.t{t	templatesR/savailable styles: %s
sspecify a templateRs\smap-N(NN(tconfigRtparsestringRRR
R*t
expandpathR R!RttemplatepathRRRt	stylelistR+R_RtrealpathRR>(RCRRRtmapnameR((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytgettemplate<sT

!





*
c	Csd}|jds$|jdr6tj|}nt||jd|jd\}}|r|rt|||||Sy"t|||||||}Wn)tk
r}tj	|j
dnX|S(sYshow one changeset using template or regular display.

    Display format will be the first non-empty hit of:
    1. option 'template'
    2. option 'style'
    3. [ui] setting 'logtemplate'
    4. [ui] setting 'style'
    If all of these values are either the unset or the empty string,
    regular display via changeset_printer() is done.
    R'R\RSRiN(R
R<RtmatchallRRoRRR*R+Ro(	RCR1RDRpR'RRRRE((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytshow_changeset|s*"cCs|jt|jx4|jD]&}|jd|jt|q&W|jd|jd|jddjdt|jjD|jddS(	sdutility function to display obsolescence marker in a readable way

    To be used by debug function.R|s %X is{%s}s, css|]}d|VqdS(s%r: %rN((t.0R((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pys	<genexpr>ss
N(	RRtprecnodet	succnodest_dataR#R-tmetadataR(RCtmarkertrepl((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyt
showmarkers
!cstj|tj|}ifd}xpt||idd6|D]R}|j}|krS|jtd|tj	|ft
|SqSWtjtddS(s;Find the tipmost changeset that matches the given date speccs3|j}|dr/||j<ndS(Ni(R%RX(R6tfnsRj(tdftresults(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytprepsRXsfound revision %s from %s
s revision matching date not foundN(R*t	matchdateRRtwalkchangerevsR
RXR,RRKRVR+(RCR1R%R]RR6RX((RRs5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytfinddates#iiccs/x(tr*|V||kr|d9}qqWdS(Ni(R(t
windowsizet	sizelimit((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytincreasingwindowss	t
FileWalkErrorcBseZRS((RR(((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRscst}gt|t|}fd}fd}x]|D]R\}	}
j|	}t|s|
dkr_rtjtd|	nt	dqq_n|
dkrt|d}n|j
|
}t|j|g}
x|||D]\}}}sI||krqqqqn(||
kr[qn|rq|
j|n|j
|gj|	|j||rj|qqWq_W|S(sWalks the file history for the matched files.

    Returns the changeset revs that are involved in the file history.

    Throws FileWalkError if the file history can't be walked using
    filelogs alone.
    c	st}g}xtd|dD]}|j|}|krMq&n||kr]Png}x<|j|D]+}|tkrs|j|j|qsqsW|j|}|j||o|j|fq&Wt|S(s
        Only files, no patterns.  Check the history of each file.

        Examines filelog entries within minrev, maxrev linkrev range
        Returns an iterator yielding (linkrev, parentlinkrevs, copied)
        tuples in backwards order
        ii(	RRtlinkrevRRRmRTtrenamedtreversed(	Rtlasttcl_countRWtjRtparentlinkrevsR%Rg(tfollowtminrevR1(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyt
filerevgens c3sd}xejD]W}rc||krKtjtd|n|||jfVq|dfVqWxD]}|VqyWdS(NRis/cannot follow file not in parent revision: "%s"(R!R*R+RtfilenodeR
(tpctxtfilenamet
filename_node(RxRRR1(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyt	iterfiless


s$cannot follow nonexistent file: "%s"sCannot walk via filelogiN(R-tminRURRR
R*R+RRRXRRlt
setdefaultRmtadd(R1RRRWtfncachetwantedtmaxrevRRRRTRRt	ancestorsRXtflparentlinkrevstcopied((RxRRRR1s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytwalkfilerevss>	
	
c	sjdpjdjdrKtjjdn1rcjdntjjsgSt	jpj	ojd}ij
|rj	r	n|rhj	rhyt	Wqhtk
rdt
}x;j	D]%}|dksU|jkr4Pq4q4WgSqhXn|rrtjtdndtffd	Y}|	nd
tffdYxjddD]v}|j}}td
d}	x=t||	ddD]%}
|j|
r9	|
g	q9q9WqW	f	d}|S(szIterate over files and the revs in which they changed.

    Callers most commonly need to iterate backwards over the history
    in which they are interested. Doing so has awful (quadratic-looking)
    performance, so we use iterators in a "windowed" way.

    We walk a window of revisions in the desired order.  Within the
    window, we first walk forwards to gather data, then in the desired
    order (usually backwards) to display it.

    This function returns an iterator yielding contexts. Before
    yielding each context, the iterator will first call the prepare
    function on each context in the window in forward order.Rtfollow_firstRXsreverse(:.)R4Ris5can only follow copies/renames for explicit filenamest
lazywantedsetcs5eZfdZfdZdZRS(cst|_t|_dS(N(R-RW(R}(RW(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyR~hscs||jkrtS||jkr&tS|jj||}t|j}|r{||<|jj|tStSdS(N(R-RRWRtdiscardtfilterR!R(R}RR6tmatches(tchangeRR(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyt__contains__ns
cSs$|jj||jj|dS(N(RWRR-(R}R((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyR}s(RRR~RR((RRRRW(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRgstfollowfiltercs#eZedZfdZRS(cSs"t|_t|_||_dS(N(RtstartrevR-trootst	onlyfirst(R}R((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyR~s	csfd}jtkr.|_tS|jkrjs\jjjnx||D])}|jkrijj|tSqiWn^jsjj|jn|jkrjj|jj||tStS(Ncs@jr jj|dd!Stdjj|SdS(NiicSs
|tkS(N(R(R{((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRLs(RRWRR(RX(R1R}(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytrealparentss		(RRRRRRltremoveR(R}RXRR(R1(R}s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRs$			(RRRR~R((R1(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRstpruneiiic	3sfr@jr@djd
fd}n
fd}t	}t}xtD]}g}x[t|D]M}y,|j}||r|j|nWqtk
rt	}PqXqWx`t
|D]R}j|}||s'fd}|}n|qWx|D]}|Vq?W|rkPqkqkWdS(NRRcsj|o|kS(N(R(RX(tffR(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytwantscs
|kS(N((RX(R(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRsc3s/x(jD]}|r
|Vq
q
WdS(N(R!(R|(R6R(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyt
fns_generators(R!R<titerRRRtnextRmt
StopIterationRR-(	Rtitt
stopiterationRtnrevsRuRXRR(	RRRRRRDtprepareRWR(R6Rs5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytiterates6
	
((R<RtrevrangeRWtrevsettspansetRGR-tanypatsR!t	changectxRRRRAR*R+RRRXRRR(R1RRDRtslowpathR!RRXRtstopR{R((
RRRRRRDRR1RWRs5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyR$sN
	'		
%'	'%csMitgdfdfd}|S(NRics|xuD]m}xd|f|jdfD]?}x6|D].}j|jtj|jq>Wq1WqWdS(Ntfollowfirst(RRRR-RR!(RRuRK(tfcacheR!R	R(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytpopulates
*
cs:dstd<ntjj|gS(Ni(RRR0R<(RX(R
tfcachereadyRR1(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytfilematchers


(R(R1R!R	R
((R
RR!R	RRR1s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyt_makefollowlogfilematchers	
cCsdS(sDhook for extensions to override the filematcher for non-follow casesN(R
(R1RRD((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyt_makenofollowlogfilematcherscsid=d6d>d6d?d6d@d6dAd
6dBd6dCd6dDd6dEd6dFd6dGd6dHd6dId6dJd6dKd 6}t|}|jd!p|jd"}|jd"rd#pd$}t|}|j}y||jk}	Wntk
rt}	nX|jdg|jd%g|d<g|dD]}
|j|
^q-|d<|d<}tj	|||\}j
pjo|jd&}|skxjD]t}
|r|
|krtj
td'|
n|j|
}|s|rtj
td(|
nt}qqW|rkx<jD]%}|d)ksW||jkr6Pq6q6Wt}qkn|r?|rtj
td*nd+d,g}x|D]}|jd-|qWx+|jd.gD]}|jd/|qWx+|jd0gD]}|jd1|qWd2jd3|D}||d<nf|rdL}dMdNf}|rztj|||<qt||||	|<nt||d<d<}|jd4s|jd5r*|rjrt|j|}q*t|||}|d<kr*fd6}q*ng}x|jD]\}}|sUq=n||krgq=n||\}d7kr|jq=t|tsi|d86}n'd9|jfd:|Dd;}|j|q=W|rd9dj|d;}nd<}||fS(OsKReturn (expr, filematcher) where expr is a revset string built
    from log options and file patterns or None. If --stat or --patch
    are not passed filematcher is None. Otherwise it is a callable
    taking a revision number and returning a match objects filtering
    the files to be detailed when displaying the revision.
    snot merge()t	no_mergessmerge()tonly_mergessancestors(%(val)s)t
_ancestorss_firstancestors(%(val)s)t_fancestorssdescendants(%(val)s)t_descendantss_firstdescendants(%(val)s)t
_fdescendantss_matchfiles(%(val)s)t_matchfiless
date(%(val)r)R%sbranch(%(val)r)s or R2sfilelog(%(val)r)t_patslogsfollow(%(val)r)t_patsfollows_followfirst(%(val)r)t_patsfollowfirstskeyword(%(val)r)tkeywords#not (%(val)r or ancestors(%(val)r))s and Rs
user(%(val)r)R$RRiitonly_branchR4s/cannot follow file not in parent revision: "%s"s$cannot follow nonexistent file: "%s"Ris5can only follow copies/renames for explicit filenamessr:s	d:relpathsp:tincludesi:texcludesx:t,css|]}d|VqdS(s%rN((RR%((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pys	<genexpr>VsR'R\csS(N((RX(R(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRLpss%(val)tvalt(c3s |]}i|d6VqdS(RN((Rtv(trevop(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pys	<genexpr>st)N(snot merge()N(smerge()N(sancestors(%(val)s)N(s_firstancestors(%(val)s)N(sdescendants(%(val)s)N(s_firstdescendants(%(val)s)N(s_matchfiles(%(val)s)N(s
date(%(val)r)N(sbranch(%(val)r)s or (sfilelog(%(val)r)s or (sfollow(%(val)r)s or (s_followfirst(%(val)r)s or (skeyword(%(val)r)s or (s#not (%(val)r or ancestors(%(val)r))s and (s
user(%(val)r)s or (RR(RR(RR(R
tdictR<RRRRtlookupbranchRtmatchandpatsRR!R*R+RRRRARmR#R/RVtalwaysRRt	iteritemst
isinstance(R1RRDRWt
opt2revsetRR	RRtfollowdescendantsRaRRR|RR!t	matchargsR%tfpatstfnopatsR
texprtopRtandorR((RR"s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyt_makelogrevsets


&*
'



	'c
Cst|sgddfSt|}|jdp@|jd}t}|jdrwtj||d}t}nC|rt|dkr|jd}nt	j
|}|j|st	jddfSt
||||\}}|r|jdtn|rN|jt	j|j|}	|	||}|jdtn|dk	rt	j}
x7t|D])\}}||krPn|
j|qsW|
}n|||fS(sReturn (revs, expr, filematcher) where revs is an iterable of
    revision numbers, expr is a revset string built from log options
    and file patterns or None, and used to filter 'revs'. If --stat or
    --patch are not passed filematcher is None. Otherwise it is a
    callable taking a revision number and returning a match objects
    filtering the files to be detailed when displaying the revision.
    RRRXisreverse(:.)RGN(RR
RSR<RRRRRWRRRGtbasesetR2RRRCRVRm(
R1RRDRPRtpossiblyunsortedRWR/R
tmatchertlimitedrevstidxRX((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytgetgraphlogrevss<
	

	cCst|}|jdp'|jd}|jdrRtj||d}n1|rj|jd}ntj|}|j|stjgddfSt
||||\}}|r%|jds|jntj|j|}|||}|jds%|j
dtq%n|dk	rd}	tjg}
t|}xF|	|kry|
j|jWntk
rPnX|	d7}	qUW|
}n|||fS(	sReturn (revs, expr, filematcher) where revs is an iterable of
    revision numbers, expr is a revset string built from log options
    and file patterns or None, and used to filter 'revs'. If --stat or
    --patch are not passed filematcher is None. Otherwise it is a
    callable taking a revision number and returning a match objects
    filtering the files to be detailed when displaying the revision.
    RRRXsreverse(:.)RGiiN(RSR<RRRWRRRGR3R
R2RRCRRRRmRR(R1RRDRPRRWR/R
R5tcountR6R((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyt
getlogrevss<


	c	Csgtj}}x|D]\}	}
}}d}
|j|krMd}
n|jrbd}
nd}|r|jrg}xL|jD];}|||j}|r|j||dfqqWnd}|dk	r||j}n|j|d|d||j	j
|	jd}|ds>|d=n|j|	||
|
|||	|}x6|D].\}
}
}}tj
|||
|
||qmWqW|jdS(	Ntot@R{iRxRys
i(tgraphmodt
asciistateRTtobsoleteR
RXR!RmR{R7RRRtasciiR(RCtdagt	displayerRtedgefnt
getrenamedR
tseenRRXRR6R8tcharRxRRt
revmatchfntlinestedgestcoldata((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytdisplaygraphs4		!


$c
Ost|||\}}}tj||}d}|jdrd}	|jdrtj||jdjd}	ntj	|d|	}nt
|||dt}
g|djD]}|j
^q}t|||
|tj||dS(NRxRXitendrevRp(R8R=t	dagwalkerR
R<RRRURtgetrenamedfnRRR8RTRKt
asciiedges(
RCR1RRDRWR/R
trevdagRDRLRBR6R((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytgraphlogs()cCsVxOdgD]D}||kr
||r
tjtd|jddq
q
WdS(Ntnewest_firsts+-G/--graph option is incompatible with --%sRR;(R*R+Rtreplace(RRDR0((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytcheckunsupportedgraphflagsscCs?t|}|j|dk	r/|| }ntj||S(N(RSRGR
R=tnodes(R1RURDRP((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyt	graphrevss


c	s(fd}gjfd_g}|d}	d}
tj|\}}|sj|rtj|||j}
nx|jD]}
j|
}|s|r|
|jkr|
r|
|
n|j|
|j	s|r"|j
tdj||
q"qqWxt
|	jD]}|	j|}yitj|}|rj|j||||tn%j|j||||tWq6tjk
r|j
td||q6Xq6W|s$|	j|}jfd|DnS(Ncstjj|S(N(R R!R#(R|(R(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRL&scsj|p||S(N(Rm(R{ty(tbadtoldbad(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRL)ss
adding %s
s#skipping missing subrepository: %s
c3s'|]}|jkr|VqdS(N(R!(RR|(R(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pys	<genexpr>Is(RXR
RtcheckportabilityalerttcasecollisionauditorR(RRRmRR,RRR-R.R/RRctextendRRRRtLookupError(RCR1RRRgRtexplicitonlyR#tnamesRtccatabortRR|RRkR/Rmtrejected((RXRRYRs5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyR%sD	


0
 csfd}gjfd_|d}g}|jddt}t|d|d|d|d}	|rg|	D]}
j|
r|
^q}	nxt|jD]}|j|}ytj	|}
|j
||
\}}jg|D]}
|d	|
^q|jg|D]}
|d	|
^q>Wqtj
k
r|jtd
||qXqW|sLxjD]}
|
|jkrtjjj||
r|
|krEtjjj||
r2|jtdj||
nj|
qEqqWnxP|	D]H}
|jsrj|
rS|jtdj||
qSqSW|j
|	}jfd
|D|j|	|fS(Ncstjj|S(N(R R!R#(R|(R(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRLMscsj|p||S(N(Rm(R{RW(RXRY(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRLPsRtcleaniiiiRs#skipping missing subrepository: %s
s+not removing %s: file is already untracked
sremoving %s
c3s'|]}|jkr|VqdS(N(R!(RR|(R(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pys	<genexpr>rs(RXR
R,RR-RR.R/RRcRR\RR]RR!R(R R!R"RRRRmR(RCR1RRR^R#RtforgotR7RR|RkR/Rmtsubbadt	subforgotRb((RXRRYRs5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRLsF	
(+(,1!
-
csd}fd}t|jdkr|jr|jd}j}	jd}
|	j|
|dr||dSn|jfd}||_x'j|D]}||d}qW|_xtj	D]}
j
|
}yItj|
|}|j
||tjj|jsTd}nWqtjk
r|jtdtjj|
qXqW|S(Nicstjdjdtjj|}|j}jdrjj||}n|j||j	dS(NtoutputRhtdecode(
RR<RTR R!R#tdatat
wwritedataRR(R!RRi(R6RDRR1(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRys
ics8x$jD]}|j|r
dSq
W||dS(N(R.R(R!RRk(RXR6(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytbadfnss#skipping missing subrepository: %s
(RR!RRt
_changesettfindRXRR-R.R/RRctcatR R!R#t_pathRtRepoLookupErrorR,R(RCR1R6R5RRDterrRRRtmfnodeRkRRkR/Rm((RXR6RDRR1s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRnvs6%	

		

	!	
cCsi}|dk	r/tj||||}nxitj||||jD]G\}}||krnqPn|j|dkrP|jj||qPqPWdS(s+reproduce copies from fromrev to rev in the dirstate

    If skiprev is specified, it's a revision that should be used to
    filter copy records. Any copies that occur between fromrev and
    skiprev will not be duplicated, even if they appear in the set of
    copies between fromrev and rev.
    tnmaN(R
Rxt
pathcopiesR(R(R(R1RXtfromrevtskiprevRtdstR((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytduplicatecopiess-cCs|jd}|r+tj||d<nt||}|jdr_tj|||n||||tj|d|||S(s5commit the specified files or all outstanding changesR%t	addremoveN(R<R*t	parsedateRFRRyRR
(RCR1t
commitfuncRRDR%R9((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyR1sc s|jtdjd}}}	zJ|j}|j}|jd}
zt||}|jdt	|_
|j}z3d|_d|d<t|||||}
Wd||_t
|_
X||
|jj|jjtjdkr\tg|jd D]}|D]}|^qAq7}ntj}|
r|jtdfj}j}tj|jjfd	}g|D]}||s|^q}fd
}nb|jtdffd}|jdp^j}|jd
pyj}t|}|stdt
}j}n|j}j|d<tj|dj j!j gd|d|d|d|d
|d|d|}t"j#|j}|
r|jkr|jkr|jkr|jkrj S|j$j%ddt&j'}zP|jdrd}nj(}|j$j)dd|d|j*|}	Wd|j$j)dd|dX|	j kr|j+|	t,|j-j }|r|j.}x|D]}|	||<qbW|j/qnt0j1r|	j kr||	}|ffg}|
r|j2dfnt0j3||n|
j4Wd|
j5Xt0j1rz|	j krz|
rA|jtdn|jtdt6j7||j ddnWd|	dkr|j8j9nt:j5||X|	S(Nsamending changeset %s
tamendR:stemporary amend commit for %sR9iiscopying changeset %s to %s
cs|jkroj|}|jkrhj|}|j|og|j|jkStSn|jkSdS(N(RtfilectxtcmptflagsR(R|RRa(tbaseR6(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRscsyf|}|j}tj||j|jdd|kdd|kdj|}|SWntk
rtnXdS(NRtltisexecR{R(RR5t
memfilectxR!RiR<RnRA(R1tctx_R!tfctxRtmctx(RR6(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyt	filectxfn#s
	
cs/yj|SWntk
r*tnXdS(N(R}RnRA(R1RR!(told(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyR3s
R$R%RNtamend_sourceR8ttextR!RRR&tphasess
new-committsecrets$stripping intermediate changeset %s
sstripping amended changeset %s
ttopicsamend-backup((;RJRR=R
twlocktlockttransactionRFRRt	callhookst_bookmarkcurrentR1RRlRRR8R-R,R!R$R%RxRtR<RORHRRR5RBRTR)RWt	stripdescRCRRtdraftRt	setconfigt	commitctxR+RRt
_bookmarksRR?t_enabledRmt
createmarkersRtreleasetrepairRR(t
invalidatetlockmod( RCR1R{RRRRDRRtnewidttrR9tcurrentbookmarkRTtstRR!R$R%RR|RR&t	pureextratnewtnewdesctphtcommitphasetbmstmarkstbmtobs((RRR6Rs5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyR|s
				

 %
	
		

&cCs&|jr|jSt|||S(N(RHRI(R1R6tsubs((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRMs
c	Cs|std}n|jjdddj}|rTt|||||}nt||||}tj}tj|j	|jj
||j|j}t
jdd|}tj||r||}n|jstjtdn|S(Ns$Leave message empty to abort commit.tcommittemplateRRks(?m)^HG:.*(
|$)sempty commit message(RRCRRtbuildcommittemplatetbuildcommittextR RtchdirR`RNR$RR[R/R*R+(	R1R6RRGRHRt
committexttolddirR((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRIs $
c	Cs|j}t||d\}}y"t||di||t}Wn)tk
rn}tj|jdnX|s~d}n|j	|j
|d||jS(NiRkRH(RCRR
RRRR*R+RoRuR{Rw(	R1R6RRHRRCRRRE((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRs	"	
c
Csg}|j|j|j}}}|jrN|j|jn|jd|jd|jtd|jd||jd|jtd|j|jr|jtdn|jr|jtd|jnt	j
|r0|jtd|jn|jg|D]}td	|^q=|jg|D]}	td
|	^qg|jg|D]}	td|	^q|jg|D]}	td|	^q|r|r|r|jtd
n|jddj
|S(NRksBHG: Enter commit message.  Lines beginning with 'HG:' are removed.sHG: %ssHG: --sHG: user: %ssHG: branch mergesHG: branch '%s'sHG: bookmark '%s'sHG: subrepo %ssHG: added %ssHG: changed %ssHG: removed %ssHG: no files changeds
(R2R3R4RHRmRR$R)R2t	bookmarkst	iscurrentRR\R#(
R1R6RRHtedittextR2R3R4R7R|((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRs0&


 ****
c	Csa||}|j}|jdr|r||krg|D]0}|j|kr?|j|kr?|^q?r|jjtdn|jdsxL|D]A}|jr|j|kr|jjtd|qqWn|jjr(|jj	tdt
||jfn5|jjr]|jj	tdt
||fndS(NR|screated new head
tclose_branchs reopening closed branch head %d
scommitted changeset %d:%s
(
R8R<RTR2RCR,RtclosesbranchRRRQRR(	R1RTR2tbheadsRDR6R8R{RJ((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytcommitstatuss
">
$/c	sX|\}}j}j}	||kr9|}n||krN|	}
nd}
ij}ztjd|d_x9jD](jj	f<qW	fd}tj||_xHjD]7krjj	f<qqWt
fdjD}
tjj
d|dd }tt|\}}}}j}xq|D]i}jj|}|r|krj|dkr|j|j||tf|<qqWfd}igtd	fd
6gtdfd6g|fd
6gtdfd6}||d
tf|d
tff||d
tf|d
tff||dtfdtff||d
tf|d
tfff}xt
jD]\\|	j}j	fd}xb|D]R\}}}|krq~n|r||n|ddk	r||nPq~Wjkr#|r||dtq#r#	jtdq#q#n||krUr#	jtdq#q#n|
dkrt|j}
n|
kr|r|
|ks|
j|	jkr||d
tqq#||d
tq#WjdsEt|||
rEx7|
D],}j|j	j||qWqEnWd|j XdS(NcSstS(N(R(R{RW((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRL	scsu|krdS|jkr#dS|d}x!D]}|j|r4dSq4Wjdj||fdS(NRs%s: %s
(R.RRR(R!Rtpath_R|(R6R]R_RC(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRk	s

c3s!|]}|r|VqdS(N((RR7(R](s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pys	<genexpr>0	sReRiRJcs'j|dkrtdStdS(NRsforgetting %s
sremoving %s
(R(R(R(R1(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytremoveforgetA	s
s
reverting %s
treverts
adding %s
RRsundeleting %s
tundeletecs|dj|rjdrtjjrkrdjrd}jtd|fjdst	j
|qnjsr|d}t|t
s|}nj|ndS(Nit	no_backups%s.origs#saving current version of %s as %s
Ri(RmR<R R!RR
R~RJRR*RRR)t
basestringR,(txlisttdobackuptbaknameR(RR6RRDRR1RRC(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pythandlec	s'

isfile not managed: %s
sno changes needed to %s
R(!RTRR
RRRRXRRRR-R.R0R,tmapR-RR(RRRRRRRR<RRRt_performrevertR/RR(RCR1R6R8RRDRR)RTRtpmfRRkt
targetsubsR[R2R3R4R5RR|RRtactionst	disptabletmfentryRRthittmissR/((
RR6RR]R_RDRR1RRCs5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyRs			&	)
%
#
	%$


4csB|\}}j}fd}tjjdt}x|ddD]w}	j|	dkrjj|	qQn||	ytjj	|	Wnt
k
rnXjj|	qQWd	}
||kr|t
krjj}
qjj}
nx3|ddD]#}	||	|
r|
|	qqWx0|ddD] }	||	jj|	qMWjj}
||kr|t
krjj}
nx*|ddD]}	||	|
|	qWtj|}xT|dd|dd|ddD],}	|	|krjj||	|	qqWd	S(
sfunction that actually perform all the actions computed for revert

    This is an independent function to let extension to plug in and react to
    the imminent revert.

    Make sure you have the working directory locked when calling this function.
    cs-|}j||j|jdS(N(twwriteRiR(R|tfc(R6R1(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytcheckout	s
tcachedRiRRRRN(RTRtpathauditorR`RR(tdropR*RRRRR
RtnormallookuptnormalRRxRtR(R1R8R6RRR)RTRt
audit_pathR|RR((R6R1s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyR	sH




-cs"ddtttfd}|S(sReturns a function object to be used as a decorator for making commands.

    This function receives a command table as its argument. The table should
    be a dict.

    The returned function can be used as a decorator for adding commands
    to that command table. This function accepts multiple arguments to define
    a command.

    The first argument is the command name.

    The options argument is an iterable of tuples defining command arguments.
    See ``mercurial.fancyopts.fancyopts()`` for the format of each tuple.

    The synopsis argument defines a short, one line summary of how to use the
    command. This shows up in the help output.

    The norepo argument defines whether the command does not require a
    local repository. Most commands operate against a repository, thus the
    default is False.

    The optionalrepo argument defines whether the command optionally requires
    a local repository.

    The inferrepo argument defines whether to try to find a repository from the
    command line arguments. If True, arguments will be examined for potential
    repository locations. See ``findrepo()``. If a repository is found, it
    will be used.
    cs%fd}|S(Ncsr"|tf<n|tf<roddl}|jddjt7_nrddl}|jddjt7_nrddl}|jddjt7_n|S(Nis %sR|(R/tcommandstnorepoR#R
toptionalrepot	inferrepo(tfuncR(RRDRRtoptionstsynopsisR(s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyt	decorator	s%%%((RDRRRRRR(R(RRDRRRRs5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyR		s!(N(R
R(RR	((Rs5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytcommand	st
graftstatesgraft in progresss1use 'hg graft --continue' or 'hg update' to aborttupdatestateslast update was interrupteds,use 'hg update' to get a consistent checkoutcCs`xYtD]Q\}}}}}|r.|r.qn|jj|rtj|d|qqWdS(sLook for an unfinished multistep operation, like graft, and abort
    if found. It's probably good to check this right before
    bailifchanged().
    thintN(tunfinishedstatestvfsRR*R+(R1R1R|t	clearabletallowcommitRR((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytcheckunfinished4
s
cCsxNtD]F\}}}}}|r|jj|rtj|d|qqWxNtD]F\}}}}}|rX|jj|rXtj|j|qXqXWdS(s[Check for unfinished operations (as above), and clear the ones
    that are clearable.
    RN(RRRR*R+RR#(R1R|RRRR((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pytclearunfinished?
s(^RTRRRRti18nRR RRR[RR*RRR'RRRRxRRR5RR=RRR?RRWRRRR
RRRRR'R8RFR
RORSRvRRRRRCRXRnRRoRRRRRRt	ExceptionRRRRRR2R8R:RKRQRTRVRRRnRxR1R|RMRIRRRRRRthookst
outgoinghookstsummaryhookstsummaryremotehooksRRR(((s5/usr/lib/python2.7/dist-packages/mercurial/cmdutil.pyt<module>s"<`T	$				-	!	#L		:)e	@	
		b					3	0				'	*	5					.		9	;


Copyright © 2017 || Recoded By Mr.Bumblebee