Plan 9 from Bell Labs’s /usr/web/sources/contrib/jas/root/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyc

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


�8�c	@s/ddlmZmZmZmZddlmZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZ d�Z!e"d�Z#e$d�Z%d�Z&d�Z'd	�Z(d
�Z)dddddd�Z+ddddddidd
�Z,d�Z-e"d�Z.ddddde"d�Z/dde"dd�Z0de"dde"d�Z1de2fd��YZ3de3fd��YZ4e"d�Z5d�Z6ddd�Z7d�Z8d�Z9d �Z:d!�Z;ddd"�Z<d#�Z=d$�Z>d%�Z?d&�Z@d'�ZAd(�ZBd)�ZCd*�ZDd+�ZEd,�ZFdid-�ZGd.�ZHd/�ZIdS(0i�(thextnullidtnullrevtshort(t_NcCs|jd�jd�S(Nt^t|(tlstriptsplit(tcmd((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytparsealiasessc
Csi}i}||kr$|g}n|j�}x�|D]�}t|�}d}||krd|}n3|s�x*|D]}	|	j|�rq|	}PqqqqWn|dk	r7|djd�s�|jd�r�|||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/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytfindpossibles,
	
"
	cCs�t|||�}||kr&||St|�dkrc|j�}|j�tj||��n|rw|j�dStj|��dS(s9Return (aliases, command table entry) for command string.iiN(RtlenRtsortterrortAmbiguousCommandtvaluestUnknownCommand(R	RRRtclist((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytfindcmd9s
cCsUxNtjjtjj|d��sP|tjj|�}}||krdSqW|S(Ns.hg(tostpathtisdirtjointdirnameR
(tptoldp((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytfindrepoJs
$cCs�|jj�tkr-tjtd���n|j�d \}}}}|sa|sa|sa|rytjtd���n|d}xHt|j	�D]7}|j
|�j�r�tjtd�|��q�q�WdS(Nsoutstanding uncommitted mergeisoutstanding uncommitted changess!uncommitted changes in subrepo %s(tdirstatetp2RtutiltAbortRtstatusR
tsortedtsubstatetsubtdirty(trepotmodifiedtaddedtremovedtdeletedtctxts((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyt
bailifchangedRs
cCs�|jd�}|jd�}|rB|rBtjtd���n|r�|r�y@|dkrp|jj�}ndjtj|�j��}Wq�t	k
r�}tjtd�||j
f��q�Xn|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/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyt
logmessage]s
"cCs|jd�}|ruyt|�}Wn&tk
rMtjtd���nX|dkr{tjtd���q{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
(RDRG((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytloglimitps
cs%i�fd�d6��fd�d6�fd�d6�fd�d6}id	�d
6�fd�d6}	y��r�|	j|�n�r����fd
�|	d<n�dk	r��fd�|	d<n�dk	r�fd�|	d<n�dk	r�dk	r��fd�|	d<n�dk	ra�fd�|	d<�fd�|	d<�fd�|	d<ng}
t|�}d}xa||kr�||}
|
d
kr�|d7}||}
|	|
�}
n|
j|
�|d7}q|Wdj|
�SWn3tk
r }tjtd�|j	d��nXdS(Ncs
t��S(N(R((tnode(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyt<lambda>�stHcst�jj���S(N(tstrt	changelogtrev((RKR1(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRL�stRcs
t��S(N(R((RK(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRL�sthcstjddt���S(Ns[^\w]R(treR/RN((tdesc(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRL�stmcSsdS(Nt%((((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRL�sRVcstjj�j�S(N(R R!tbasenametroot((R1(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRL�stbcs%t�jj���j�p!d�S(Ni(RNRORPtzfill((RKR1trevwidth(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRL�strcs
t��S(N(RN((ttotal(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRL�stNcs
t��S(N(RN((tseqno(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRL�stncst��jtt����S(N(RNRZR((R_R](s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRL�scstjj��S(N(R R!RW((tpathname(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRL�sR7cstjj��pdS(Nt.(R R!R$((Ra(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRL�stdcs�S(N(((Ra(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRL�sR%iits-invalid format spec '%%%s' in output filename(
tupdateR
RtappendR#tKeyErrorR*R+Rtargs(R1tpatRKRTR]R_R[Rat
node_expandertexpandertnewnametpatlentitcRE((RTRKRaR1R[R_R]s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytmakefilename~sL




twbc
Cs(|dk}
|s|dkr�|
r1|jjp:|jj}tj|d�rntjtj|j��|�Sdt	fd��Y}||�Sntj|d�r�|
r�|Stj|d�r�d|kr�|St
||||||||	�}
|j|
|�}|d	krd
||
<nt|
|�S(NR\trbR;tfilenotwrappedfileobjcBs#eZd�Zd�Zd�ZRS(cSsdS(N(R
(tx((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRL�scSs
||_dS(N(tf(tselfRv((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyt__init__�scSs'|dkr|jSt|j|�SdS(Ntclose(tnooptgetattrRv(Rwtattr((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyt__getattr__�s(t__name__t
__module__RzRxR}(((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRt�s		twriteR>Rqtab(R\srb(
RCtfoutR=R*tsafehasattrR tfdopentdupRstobjectRpR<topen(R1RiRKRTR]R_R[tmodetmodemapRatwritabletfpRttfn((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytmakefileobj�s 

!
c	Csq|d}|d}d}|r5|r5td�}n9|sA|rn|rVtd�}qn|sntd�}qnn|r�tj|��nd}|r�r�|j}q�r�|j}q�r�j|�}t|�r�}q��|sm|s
tj	|td���nt
jj|�s;tjtd�|��nt
j
tjt
j�dt�|d	 d
�}n|S(s:opens the changelog, manifest, a filelog or a given revlogROtmanifests: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 foundtauditi�s.iN(R
RR*R+ROR�tfileRRtCommandErrorR R!tisfiletrevlogtscmutiltopenertgetcwdtFalse(	R1R	tfile_RDtcltmftmsgR\tfilelog((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyt
openrevlog�s<

c	s��j��i��jd���jd���d�����fd�}���������f	d�}���fd�}���fd�}tj|�}|s�tjtd���nt|�dkr�jtd	���n|j	�}	t
jj|	�o(t
jj
|	���s�t|�dksVtj|d
�rntjtd���ntj|	�r�tjtd�|	��q�n|}
�r�|}
ng}xE|D]=}||�}
|
s�q�n|j|
||	|
�|
f�q�W|stjtd
���nd
}xV|D]N\}}
x?|
D]7\}}}|||||�|�r=|d7}q=q=Wq*W|r��jtd��n|d
kS(Ntaftertdry_runcsg}�rdpd}tj�d|g�dt�}x��j|�D]�}�j|}|j|�}|j|�}||kr�r�|dkr��jt	d�|�n|rJ|dkrJ�jt	d�|�qJqJn|j
|||f�qJW|S(Nt?s?rtglobbeds&%s: not copying - file is not managed
R\s2%s: not copying - file has been marked for remove
(R�tmatchR
tTruetwalkR(treltexacttwarnRRf(Ritsrcst	badstatesRUtabststateR�R�(R�RDR1RC(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytwalkpat�s "
cstj�j�|�}d|krY|jdd�\}}�jj|�d|}n�j|��}�j|�}�j|�}	�j|}
tj�|��j	|�}|dk	r�jtd�|�j|���j|��f�dSt
jj|�}t}
|r~||kr~�jj|��jj|�kr~�sl�jtd�|�dSt}t}
q~n�r�|s��r�|
dkr��ds��jtd�|�dSn�r|s-�r�jtd�||f�n�jtd	�||f�dSn�s-y�|r:t
j|�nt
jj|�pOd
}t
jj|�stt
j|�n|
r�|d}t
j|	|�t
j||�ntj|	|�t}Wq-tk
r)}|jtjkr�jtd�|�t}q*�jtd
�||jf�tSq-Xn�js=|r��rc�jtd�||f�q��jtd�||f�n|�|<tj���||d�d���r�r�r�r�
r�j �j|��n�j!|g�ndS(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
Rbs	~hgrenames%s: deleted in working copy
s%s: cannot copy - %s
smoving %s to %s
scopying %s to %s
tdryruntcwd("R�t	canonpathRXtrsplitR(t	normalizetpathtotwjoint
checkportableR<R
R�RR R!tlexistsR�R�tunlinkR$R"tmakedirstrenameR*tcopyfileRAterrnotENOENTRBtverboseR,tdirstatecopyt
unlinkpathtforget(tabssrctrelsrctotargetR�t	abstargettabspathtabsnamet	reltargetttargettsrcR�tprevsrctexiststsamefilet	targetdirttmpt	srcexistsRE(	R�R�R�RDR�R1ttargetsRCtwctx(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyR�s�



	  


cs�tjj|�r�tj�j�|�}tj|�}�r^ttjj	|�d��nt|���r��ttj
�7�n��fd�}n'�r��fd�}n�fd�}|S(Nics tjj�tj|���S(N(R R!R#R*t	localpath(R%(tdesttstriplen(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRLyscs(tjj�tjjtj|���S(N(R R!R#RWR*R�(R%(R�(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRL{scs�S(N((R%(R�(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRL~s(R R!R"R�R�RXR*R�RRtsep(RiR�R�tabspfxtres(R�t
destdirexistsR1(R�R�s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyttargetpathfnoscsutj|�r!�fd�}nPtj�j�|�}t|�t�dd�krJ��fd�}tj|�}t|���r��ttj	�7�ntj
jtj
j�tj
j
|�d��r5|��}ttj
j
|�d�}|r|ttj	�7}n||�|kr5|�q5n��fd�}n'�rb�fd�}n�fd�}|S(Ncs(tjj�tjjtj|���S(N(R R!R#RWR*R�(R%(R�(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRL�sics`d}xS�D]K}tjj�tj|d�|�}tjj|�r
|d7}q
q
W|S(Nii(R R!R#R*R�R�(R�tscoreR7tt(R�R�(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytevalpath�s
&ics tjj�tj|���S(N(R R!R#R*R�(R%(R�R�(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRL�scs(tjj�tjjtj|���S(N(R R!R#RWR*R�(R%(R�(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRL�scs�S(N((R%(R�(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRL�s(tmatchmodtpatkindR�R�RXRR*R�R R�R!R"R#R(RiR�R�R�R�R�R�t	striplen1(R�R�R1(R�R�R�s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyttargetpathafterfn�s* 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)
(R�R<R
R�t
expandpatsR*R+RRtpopR R!R"tislinkR�R�tendswithsepRfR�(RCR1tpatsRDR�R�R�R�R�R�ttfntcopylistRiR�terrorst
targetpathR�R�R�((
R�R�R�R�RDR�R1R�RCR�s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytcopy�sP
'\)%%	
#c	s
|drq|drqtjdd�\}�tj|�z�|s]tj�tjd}n|jd��x`t	dt
|��D]I}||jd�r�||=Pq�||jd�r�|||d	5Pq�q�W�fd
�}	tj||	�}
|
dkrtj
td���nWd
ytj��Wn+tk
rX}|jtjkrY�qYnXX|rj||
�Sd
Sn|r�|�n|dr�|r�dp�d}t|d|�}
|
jttj��d�|
j�n|dr�d�ytj�Wntk
rnXtj��tj�tjj�tjj�tjtjtj�}|}|r�tj|tjtjBtj B�}ntj!|d�tj!|d�tj!|d	�|dkr�tj|�n|r�dkr�j|�q�|r	|�Sd
S(sRun a command as a service.tdaemontdaemon_pipefdstprefixshg-service-is--daemon-pipefds=%ss--cwd=s--cwdicstjj��S(N(R R!R�((tlockpath(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytcondfn�sischild process failed to startNtpid_fileRtws
(iii(iii("ttempfiletmkstempR RyR*thgcmdtsystargvRftxrangeRRtrundetachedR+RR�tOSErrorR�R�R�R�RNtgetpidtsetsidtAttributeErrort
hidewindowtstdouttflushtstderrtdevnulltO_RDWRtO_CREATtO_APPENDtdup2(RDtparentfntinitfntrunfnR:trunargst	appendpidtlockfdRnR�tpidRR�R�tnullfdt	logfilefd((R�s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytservice�sp











&shg-%h.patchc	s�t|��tg|D]}tt|��^q��i��������fd�}x.t|�D] \}}|||d|�qkWdS(s export changesets as hg patches.cs��|}|j�}g|j�D]}|r#|j�^q#}|j�}�r`|j�n|rp|dpst}t}	�rt��dkr|j�j�j	d�}
|
d}t
��|d|d�d|d�ddd	�����krt}	qn�rI�tj
krItj�d
�rI�jjd�j�n�s^�jj}n�fd�}|d
�|d|j��|d|j��|dtj|j���|r�|dkr�|d|�n|dt|��|dt|��t|�dkr4|dt|d��n||j�j��|d�x9tj�||d��D]\}
}||
d|�qpW|	r��j�ndS(Nis
RTR]R_R[R�RqR�tnames%s
cs�j|�dS(N(R�(R7tkw(R�(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyR�;ss# HG changeset patch
s
# User %s
s
# Date %d %d
s
#      %s
tdefaults# Branch %s
s
# Node ID %s
s
# Parent  %s
is

RDtlabel(RKtparentstbranchtreverseRR�RtdescriptiontrstripRR�R�R�RR*R�RCtnoteRR�tusertdatetdatestrRtpatchtdiffuiRy(RPR_R�R6RKR%RRtprevtshouldcloset
desc_linesRTR�tchunkR(tfilemodeRDR1R[t
switch_parentttemplateR](R�s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytsingle#sJ
+

	'

(iN(RtmaxRNt	enumerate(	R1trevsR'R�R&RDRPR(R_((R%RDR1R[R&R'R]s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytexports+!/Rdcs��d
kr|j}n�fd�}|r�|jdd�}d}|j�s`|j�}ntj||||||d|	�}
x�tjtj	|
�d|d|j
�D]\}}||d|�q�WnExBtj||||||d|	�D]\}}||d|�q�
r�||}||}x�tj
||�D]�\}}|}y$|d
k	rv|j|d	}nWntk
r�d
}nXtj||�}|j||||d
|d|d�d|	�qAWnd
S(sshow diff or diffstat.cs�j|�dS(N(R�(R7R(R�(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyR�\stcontextiiPR�twidthtgitRitchangeststatR�N(R
R�R�tplaint	termwidthRtdifft
diffstatuiR*t	iterlinesR/R tsubrepotitersubreposR.RgR�t
narrowmatcher(RCR1tdiffoptstnode1tnode2R�R0R1R�R�tlistsubreposR�R.tchunksR$Rtctx1tctx2tsubpathR/t	tempnode2tsubmatch((R�s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytdiffordiffstatUs<	



tchangeset_printercBsSeZdZd�Zd�Zd�Zddd�Zd�Zd�Z	d�Z
RS(	s9show changeset information when templating not requested.cCsU||_||_||_||_||_i|_i|_d|_d|_	dS(N(
RCR1tbufferedRR:theaderthunkR
t
lastheadertfooter(RwRCR1RR:RF((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRx�s								cCs�||jkrT|j|}||jkrG||_|jj|�n|j|=n||jkr�|jj|j|�|j|=dSdS(Nii(RGRIRCR�RH(RwRPRR((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyR�s
	

cCs#|jr|jj|j�ndS(N(RJRCR�(Rw((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRy�s	cKsk|jrQ|jj�|j||||�|jjdt�|j|j�<n|j||||�dS(Ntlabeled(RFRCt
pushbuffert_showt	popbufferR�RHRP(RwR6tcopiestmatchfntprops((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytshow�s
	
%cCs>|j�}|j�}|jjrN|jjd|t|�fdd�dS|jj}tj	|j
��}|jjr�tp�t}	g|j
||�D]!}
|
|	|j|
��f^q�}|jjtd�||	|�fdd|j��|j�}|dkr2|jjtd�|dd	�nx:|jj|�D]&}
|jjtd
�|
dd�qEWx:|jj|�D]&}|jjtd�|dd
�q�W|jjr�j�r�jjtd�t|j��dd�nx8|D]0}|jjtd�|dd|j��q�jjr�|j�}|jjtd�|jjj|�t|�fdd�n|jjtd�|j�dd�|jjtd�|dd�|jjrl|jj|j|�d|�d }x�ttd�td�td�g|�D]>\}}|r'|jjd|dj|�fdd�q'q'WnJ|j�r�|jjr�|jjtd �dj|j��dd!�n|r|jjrg|D]}d"|^q�}|jjtd#�dj|�dd$�n|j�}|r�|jjr�xRt|j��D];\}}|jjtd%�||j d&�fdd'�qBWn|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
Rslog.nodeNschangeset:   %d:%s
slog.changeset changeset.%sRsbranch:      %s
s
log.branchsbookmark:    %s
slog.bookmarkstag:         %s
slog.tagsphase:       %s
s	log.phasesparent:      %d:%s
slog.parent changeset.%ssmanifest:    %d:%s
sui.debug log.manifestsuser:        %s
slog.usersdate:        %s
slog.dateiisfiles: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
(%RKRPRCtquietR�RR1ROR*RRt	debugflagRt_meaningful_parentrevsRtphasestrRt
nodebookmarkstnodetagstphasetmanifestnodeR�RR,RtzipR#tfilesR�textraR-titemstencodeRtstripR@t	showpatch(RwR6RORPRQt
changenodeRPtlogRthexfuncR%RRtbookmarkttagtparenttmnodeR^tkeytvalueRoR_R((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRM�s�7%
%

"
&		"(
"

c
Cs�|s|j}n|r�jjd�}|jjd�}tj|j|j�}|jjj|�d}|r�t|j|j|||d|dt�n|r�r�|jj	d�nt|j|j|||d|dt
�n|jj	d�ndS(NR1RiR�s
(RR:R<RCR1RORRDR�R�R�(RwRKRPR1R4R:R!((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRcs 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
parentrevsRCRVR(RwReRPR((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRW!s	N(R~Rt__doc__RxRRyR
RRRMRcRW(((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRE�s		
		h	tchangeset_templatercBs2eZdZd�Zd�Zd�Zd�ZRS(sformat changeset information.c	Cs�tj||||||�|jr.d�p4d�}idd6dd6dd6d	d
6}|d|d<tj|i|d6d
|�|_i|_dS(NcSs|S(N((Ru((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRL6scSs|d S(Ni((Ru((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRL6ss{rev}:{node|formatnode} Ris{rev}:{node|formatnode}R�s{name} ({source})t	file_copys{key}={value|stringescape}R_tfilecopyt
formatnodetcache(RERxRVt	templaterR�Rs(	RwRCR1RR:tmapfileRFRrtdefaulttempl((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRx4s
cCs||jjd<dS(sset template string to uset	changesetN(R�Rs(RwR�((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytuse_templateCscCsk|j�}t|�dkr"|S|jjrC|d|jdgS|dj�|j�dkrggS|S(sHReturn list of meaningful (or all if debug) parentrevs for rev.
        iitnull(RRRCRVR1RP(RwR6R((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRWGs cs�tj���fd�}|j�}|jtj�||d<�j|d<||d<�j|d<i|d6|d<�j|d<tdf�j
jd	f�j
jd
f�j
j
dfg}idd
6dd6dd6}xc|D][\}}	xL|D]D}
|	rd|
|	fp|
}|r��jkr�||
<q�Wq�y�d
r�tj�j|d
|��}�jr�|�j|j�<q��j|kr�|�_�j
j|�q�n|d}
�j
jtj�j|
|����j|j�|�|dr9�js9tj�j|d|���_q9nWn}tk
r�}td�}tj|�jj|jdf��n9tk
r�}tjd�jj|jdf��nXdS(s(show a single changeset or file revisioncsZ|d}g�j|�D]*}d|j�fd|j�fg^q}�d||�S(NR6RPRKRi(RWRPR(RhR6R%R(Rwtshowlist(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytshowparents\s
=RttemplR6R1ROtrevcacheRsR�RURRdRGRJRws%s_%ss%s: no key named '%s'is%s: %sN(t
templatekwRzR�RetkeywordsR�R1RsR�R
RCR�RURVRtt	stringifyRFRGRPRIR�RcRKRJRgRR*R+RuRhtSyntaxError(RwR6RORPRQR{t	tmplmodesttypesR�tpostfixttypetcurRRRkRER�((RwRzs5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRMSsP	




	

		
%
	)(R~RRnRxRxRWRM(((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRo1s
			cCs�t}|jd�s$|jd�r6tj|�}n|jd�}d}|ritj|dt�}n|jd�}|p�|s�jdd�}|r�ytj|�}Wq�k
r�tj|dt�}q��j
|jddd��}n|p|st|||||�Sd}|r�|r�|}tj
j|�d	s�tjd
|�pltj|�}|r�|}q�q�nyt||||||�}	Wn)tk
r�}
t	j|
jd	��nX|r�	j|�n|	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.
    RR1R'tquotedtstyleRCtlogtemplateRdismap-cmdline.N(R�R<R�tmatchallR
RttparsestringtconfigR�R*t
expandpathRER R!RttemplatepathRoR+RhRx(RCR1RDRFRttmplR�RutmapnameR�RE((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytshow_changeset�sB
!
cs�tj|��tj|�}i���fd�}xpt||idd6|�D]R}|j�}|�krS|jtd�|tj	�|�f�t
|�SqSWtjtd���dS(s;Find the tipmost changeset that matches the given date speccs3|j�}�|d�r/|�|j�<ndS(Ni(RRP(R6tfnsRc(tdftresults(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytprep�sRPsfound revision %s from %s
s revision matching date not foundN(R*t	matchdateR�R�twalkchangerevsR
RPR,RRRNR+(RCR1RRUR�R6RP((R�R�s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytfinddate�s#iiccs�||kr]x�||krY|t|||�fV||7}||kr|d9}qqWnRxO||kr�|t|||d�fV||8}||kr`|d9}q`q`WdS(Nii(tmin(tstarttendt
windowsizet	sizelimit((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytincreasingwindows�s

csh�jd�p�jd���jd�rKtj��jd���n.�rc�jd��nt����j��s�gSt���j�p��j�o��jd�}i��j	�|r�j�r����ng�|r�j�r�
��t���}���fd�}����fd�}xX|�D]M\}}	�j|�}
t
|
�s�|	dkrN�r�tjtd�|��nt}Pq�qNn|	dkr�t
|
�d	}n|
j|	�}t|
j|�g�}x�||
|�D]�\}
}}�s3|
|kr[q	q[n(|
|krEq	n|r[|j|�n�j|
g�j|��j|
�|r	�j|�q	q	WqNW|r�:�j�D]%}|d
ks�|�jkr�Pq�q�WgSq�|rd�r	tjtd���nxXt��D]G}�|�}t�|j��}|r|�|<�j|�qqWndtf�fd
��Y�x��jdd�D]v}
�|
j�}
��}t
�d�d�}x=t|
|d	d�D]%}|j|�r�j|�q��q�Wt ��}d�|r7t
|���n����������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.tfollowtfollow_firstRPsreverse(:.)R4c	s�t��}g}x�td|d�D]�}|j|�}|�krMq&n||kr]Png}x<|j|�D]+}|tkrs|j|j|��qsqsW|j|�}|j||�o�|j|�f�q&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(	RR�tlinkrevRmRRfRKtrenamedtreversed(	R�tlasttcl_countR+tjR�tparentlinkrevsR%R`(R�tminrevR1(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyt
filerevgens c3s��d}xe�j�D]W}�rc||krKtjtd�|��n|||j�fVq|dfVqWx�D]}|VqyWdS(NRbs/cannot follow file not in parent revision: "%s"(R^R*R+RtfilenodeR
(tpctxtfilenamet
filename_node(ROR�R�R1(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyt	iterfiles9s


s$cannot follow nonexistent file: "%s"iRbs5can only follow copies/renames for explicit filenamestfollowfiltercs#eZed�Z�fd�ZRS(cSs"t|_t�|_||_dS(N(Rtstartrevtsettrootst	onlyfirst(RwR�((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRx�s	cs���fd�}�jtkr.|�_tS|�jkr��js\�jj�j�nx�||�D])}|�jkri�jj|�tSqiWn^�js��jj|�j��n|�jkr�jj|��jj||��tStS(Ncs@�jr �jj|�dd!Std��jj|��SdS(NiicSs
|tkS(N(R(Ru((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRL�s(R�RORmtfilter(RP(R1Rw(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytrealparents�s		(R�RR�R�taddRetremoveR�(RwRPR�Ri(R1(Rws5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyR��s$			(R~RR�RxR�((R1(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyR��stpruneii�ic3s+�r@�j�r@�d�jd�����fd�}n�fd�}x�tdt����D]�\}}g�|||!D]}||�r�|^q�}x`t|�D]R}�j|�}�|��|s��fd�}|�}n��|�q�Wx|D]}�|�VqWqhWdS(NR�R�cs�j|�o|�kS(N(R�(RP(tfftwanted(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytwant�scs
|�kS(N((RP(R�(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyR��sic3s/x(�j�D]}�|�r
|Vq
q
WdS(N(R^(Rv(R6R�(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyt
fns_generator�s(R^R<R�RR-(R�RntwindowRPtnrevsR�R�(
tchangetfncacheR�R�R�RDtprepareR+R�R�(R6R�s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytiterate�s%0
N((!R<R�trevrangeR+tlistRR�tanypatsR^t	changectxR�R)R�RR
R*R+RR�RPR�Ret
setdefaultRfR�tstoreR-R�R�R�R�tdiscardRJ(R1R�RDR�tslowpathtmaxrevR�R�R�RKR�R�t	ancestorsRPtflparentlinkrevstcopiedR!RnR6tmatchesR�tstopRuRGR�((
R�ROR�R�R�R�R�RDR�R1R+R�R�s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyR��s�
	'		


'	*csWi�tg�|d�|d�����fd������fd�}|S(NRbcs|xu�D]m}xd�|f�|jd��fD]?}x6|D].}�j|j�t��j|j��q>Wq1WqWdS(Ntfollowfirst(R�R�R�R�R�R!(R�RnRo(tfcacheR�R�R�(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytpopulate�s
*
cs@�dst�d<��ntj��j|g�dd�S(NiRR!(R�R�R�R<(RP(R�tfcachereadyR�R�(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytfilematcher�s


(R�R
(R1R�R�R�((R�R�R�R�R�R�R�s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyt_makegraphfilematcher�s	

cs�id=d6d>d6d?d6d@d6dAd
6dBd6dCd6dDd6dEd6dFd6dGd6dHd6dId6dJd6dKd 6}t|�}|jd!�p�|jd"�}|jd"�r�d#p�d$}|d$}t|�d#kr�d$|d#kr�#p�$}|jdg�|jd%g�|d<g|dD]}	|j|	�^q!|d<|d<}
tj|
||�\�}�j�p��j�o�|jd&�}|sex��j�D]z}|r�||
kr�t	j
td'�|��n|j|�}
t|
�s�|rt	j
td(�|��nt
}q�q�W|rex<�j�D]%}|d)ksQ||jkr0Pq0q0Wt}qen|r9|r�t	j
td*���nd+d,g}x|D]}|jd-|�q�Wx+|jd.g�D]}|jd/|�q�Wx+|jd0g�D]}|jd1|�q�2jd3�|D��}||d<nf|r�dL}dMdNf}|rtt�j��|||<q�t|�||||<nt|�|d<d<}|jd4�s�|jd5�r�r�t|||�}q�fd6�}ng}x�|j�D]�\}}|sqn||kr-qn||\�}d7�krY|j��qt|t�s|�i|d86}n'd9|j�fd:�|D��d;}|j|�qW|r�d9dj|�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)Rsbranch(%(val)r)s or Rsfilelog(%(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 R�s
user(%(val)r)RR�R�iitonly_branchR4s/cannot follow file not in parent revision: "%s"s$cannot follow nonexistent file: "%s"Rbs5can only follow copies/renames for explicit filenamessr:s	d:relpathsp:tincludesi:texcludesx:t,css|]}d|VqdS(s%rN((t.0R%((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pys	<genexpr>QsRR1cs�S(N((RP(R�(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRLfss%(val)tvalt(c3s |]}�i|d6VqdS(R�N((R�tv(trevop(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pys	<genexpr>ust)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 (R�R�(R�R�(R�R�(R
tdictR<RtlookupbranchR�tmatchandpatsR�R^R*R+RR�R�R�R�RfR#R�RNR�t	iteritemst
isinstance(R1R�RDR+t
opt2revsetR�R�R�tfollowdescendantsRYR�R�RvR�R!t	matchargsR%tfpatstfnopatsR�texprtopR�tandorR((R�R�s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyt_makegraphlogrevset�s�

2&*
'



	'c
Csnt|�sgddfSt|�}|jd�p@|jd�}t}|jd�rwtj||d�}t}nC|r�t|�dkr�|jd�}nt	|j
�}|j�|s�gddfSt||||�\}}|r|j
dt�n|rH|j�tj|j|�}	|	||�}|j
dt�n|dk	ra|| }n|||fS(s�Return (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.
    R�R�RPisreverse(:.)RN(RR
RJR<R�R�R�R�R+R�RORR�RtrevsetR�RC(
R1R�RDRGR�tpossiblyunsortedR+R�R�tmatcher((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytgetgraphlogrevs~s2
	



c
Cs�gtj�}}x�|D]�\}	}
}}d}
|j�|krMd}
n|j�rbd}
nd}|r�|j�r�g}xL|j�D];}|||j��}|r�|j||df�q�q�Wnd}|dk	r�|j��}n|j|d|d|�|j	j
|	�jd�}|ds>|d=n|j|	�||
|
|||	|�}x6|D].\}
}
}}tj
|||
|
||�qmWqW|j�dS(	Ntot@RuiRORPs
i�(tgraphmodt
asciistateRKtobsoleteR
RPR^RfRRRHR�RRtasciiRy(RCtdagt	displayerR{tedgefnt
getrenamedR�tseenR�RPR�R6RtcharROR�R�t
revmatchfntlinestedgestcoldata((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytdisplaygraph�s4		!


$c
Os�t|||�\}}}tj||�}d}|jd�r�d}	|jd�rttj||jd���d}	ntj	|d|	�}nt
|||dt�}
g|dj�D]}|j
�^q�}t|||
|tj||�dS(NRORPitendrevRF(R�Rt	dagwalkerR
R<R)R�R�R~tgetrenamedfnR�R�RRKRt
asciiedges(
RCR1R�RDR+R�R�trevdagRRRR6R{((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytgraphlog�s()cCsVxOdgD]D}||kr
||r
tjtd�|jdd���q
q
WdS(Ntnewest_firsts+-G/--graph option is incompatible with --%sRR;(R*R+Rtreplace(R�RDR�((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytcheckunsupportedgraphflags�scCs?t|�}|j�|dk	r/|| }ntj||�S(N(RJRR
Rtnodes(R1RRDRG((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyt	graphrevs�s


c
s(�fd�}g��j���fd��_g}|d}	d}
tj|�\}}|sj|r�tj|||j�}
nx�|j��D]�}
�j|
�}|s�|r�|
|jkr�|
r�|
|
�n|j|
�|j	s�r"|j
td��j||
���q"q�q�Wx�t
|	j�D]�}|	j|�}yitj|��}|r��j|j||||�t��n%�j|j||||�t��Wq6tjk
r�|j
td�||��q6Xq6W|s$|	j|��}�j�fd�|D��n�S(Ncstjj�|�S(N(R R!R#(Rv(R�(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRL�scs�j|�p�||�S(N(Rf(Ruty(tbadtoldbad(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRL�ss
adding %s
s#skipping missing subrepository: %s
c3s'|]}|�j�kr|VqdS(N(R^(R�Rv(R�(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pys	<genexpr>
s(RR
R�tcheckportabilityalerttcasecollisionauditorR(R�R�RfR�R,RR�R-R.R/R�R9textendR�R�R�RtLookupError(RCR1R�R�R=R�texplicitonlyR#tnamesR�tccatabortR�RvR�RAR/RCtrejected((RR�RR�s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyR��sD	


0
 cs��fd�}g��j���fd��_|d}g}|jd�dt�}t|d|d|d|d�}	|r�g|	D]}
�j|
�r�|
^q�}	nx�t|j�D]�}|j|�}y�tj	|��}
|j
||
��\}}�jg|D]}
|d	|
^q�|jg|D]}
|d	|
^q>�Wq�tj
k
r�|jtd
�||��q�Xq�W|sLx��j�D]�}
|
|jkr�tjj�j||
���r�|
|krEtjj�j||
���r2|jtd��j||
���n�j|
�qEq�q�WnxP|	D]H}
|jsr�j|
�rS|jtd��j||
���qSqSW|j
|	��}�j�fd
�|D��|j|	��|fS(Ncstjj�|�S(N(R R!R#(Rv(R�(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRLscs�j|�p�||�S(N(Rf(RuR(RR(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRLsR�tcleaniiiiR�s#skipping missing subrepository: %s
s+not removing %s: file is already untracked
sremoving %s
c3s'|]}|�j�kr|VqdS(N(R^(R�Rv(R�(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pys	<genexpr>3s(RR
R,R�R-R�R.R/R�R9R�RRR RR^R(R R!R"R�R�R�RfR�(RCR1R�R�R!R#R�tforgotR7R�RvRAR/RCtsubbadt	subforgotR%((RR�RR�s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyR�
sF	
(+(,1!
-
cCs^xWtj||||�j�D]5\}}|j|dkr!|jj||�q!q!WdS(s4reproduce copies from fromrev to rev in the dirstatetnmaN(ROt
pathcopiesR�R(R�(R1RPtfromrevtdstR�((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytduplicatecopies7s-cCs�|jd�}|r+tj|�|d<nt||�}|jd�r_tj|||�n||||tj|d||�|�S(s5commit the specified files or all outstanding changesRt	addremoveN(R<R*t	parsedateRFR�R/R�R
(RCR1t
commitfuncR�RDRR9((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytcommit?scs�|jtd����j��d}}}	z/|j�}|j�}|jd�}
z�t||�}|jd�t	|_
|j}z3d|_d�|d<t|||||�}
Wd||_t
|_
X||
�|j�j��|j�j��t�j��dkr\tg|j���d D]}|D]}|^qAq7�}nt�j��}|
r|jtd���f��j�}�j�}tj����|j�j����fd	�}g|D]}||�s�^q���fd
�}nb|jtd���f��fd�}|jd�p^�j�}|jd
�py�j�}t	}|s�t
}�j�}n|j�}�j�|d<tj|d�j��j �j�gd|d|d|d|d
|d|�}|r(t!||g�|_"nt#j$|j��}|
r�|�j�kr�|�j�kr�|�j�kr�|�j�kr��j�S|j%j&ddt'j(�}z/|j%j)dd�j*��|j+|�}	Wd|j%j)dd|�X|	�j�krk|j,|	t-�|j.�j��}|rk|j/}x|D]}|	||<qGW|j0�qknt1j2r�|	�j�kr�||	}�|ffg}|
r�|j3�df�nt1j4||�n|
j5�Wd|
j6�Xt1j2r_|	�j�kr_|
r&|jtd���n|jtd���t7j8||�j�dd�nWd|	dkr|j9j:�nt;j6||�X|	S(Nsamending changeset %s
tamendR:stemporary amend commit for %sR9iiscopying changeset %s to %s
cs�|�j�kro�j|�}|�j�krh�j|�}|j|�og|j�|j�kStSn|�j�kSdS(N(R�tfilectxtcmptflagsR�(RvRRY(tbaseR6(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyR��sc
s�yc�|}|j�}tj|j�|j�dd|kdd|kd�j|��}|SWntk
r|t�nXdS(NR�tltisexecRuR�(R6R-t
memfilectxR!tdataR<RgRA(R1tctx_R!tfctxR6tmctx(R�R6(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyt	filectxfn�s

cs/y�j|�SWntk
r*t�nXdS(N(R4RgRA(R1R<R!(told(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyR?�s
RRtamend_sourceRttextR^R?R_tphasess
new-commits$stripping intermediate changeset %s
sstripping amended changeset %s
ttopicsamend-backup((<RRtp1R
twlocktlockttransactionRFR�R�t	callhookst_bookmarkcurrentR2R�ReR_RRR�R,R^RRROR+R<RR�RR-tmemctxRKR)tcommitforceeditort_textROt	stripdescRCR�RCtdraftt	setconfigR[t	commitctxt
setparentsRRYt
_bookmarksR�Rt_enabledRft
createmarkersRytreleasetrepairRbR(t
invalidatetlockmod(RCR1R1R@R_R�RDRFRGtnewidttrR9tcurrentbookmarkRKtstR�R^RRR�RvR?teditmsgt	pureextratnewtnewdesctphtbmstmarkstbmtobs((R7R�R6R@s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyR3Ns�
				

 %	
	

&cCs&|j�r|j�St|||�S(N(RRL(R1R6tsubs((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytcommiteditors
cCs�g}|j�|j�|j�}}}|j�rN|j|j��n|jd�|jd�|jtd��|jtd��|jd�|jtd�|j��|j�r�|jtd��n|j�r|jtd�|j��nt	j
|�r2|jtd�|j�n|jg|D]}td	�|^q?�|jg|D]}td
�|^qi�|jg|D]}td�|^q��|jg|D]}td�|^q��|r|r|r|jtd
��n|jd�t
j�}	t
j|j�|jjdj|�|j��}
tjdd|
�}
t
j|	�|
j�s�tjtd���n|
S(NRdsBHG: Enter commit message.  Lines beginning with 'HG:' are removed.s(HG: Leave message empty to abort commit.sHG: --sHG: user: %ssHG: branch mergesHG: branch '%s'sHG: bookmark '%s'sHG: subrepo %ssHG: added %ssHG: changed %ssHG: removed %ssHG: no files changeds
s(?m)^HG:.*(
|$)sempty commit message(R2R3R4RRfRRR)Rt	bookmarkst	iscurrentRJRR R�tchdirRXRCteditR#RSR/RbR*R+(R1R6RgtedittextR2R3R4R7RvtolddirRB((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRL	s>&


 ****
$
c	Csa||}|j�}|jd�r�|r�||kr�g|D]0}|j�|kr?|j�|kr?|^q?r�|jjtd��n|jd�s�L|D]A}|j�r�|j�|kr�|jjtd�|�q�q�Wn|jjr(|jj	td�t
|�|j�f�n5|jjr]|jj	td�t
|�|f�ndS(NR3screated new head
tclose_branchs reopening closed branch head %d
scommitted changeset %d:%s
(
RR<RKRRCR,RtclosesbranchRVR�RHRR�(	R1RKRtbheadsRDR6RRuR\((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytcommitstatus.s
">
$/c(s�|\}}�j�}�j�}	||kr9|	}
nd}
i��j�}z�tj�d|���d��_x9�j��D](��j���j	��f��<q�W����fd�}tj�|���|�_xH�j��D]7���kr�j���j	��f��<q�Wt
�fd��jD��}
tj�����j
d��d }tt|�\}}}}�j�}xq|D]i}�jj|�}|r�|�kr��j|dkr�|j|��j||�tf�|<q�q�W�fd�}gtd�f}gtd	�f}g|f}gtd
�f}|||ttf|||ttf||dttf|||ttff}x�t
�j��D]�\�\��|	j��}�j���������fd�}x^|D]Z\}}} }!}"�|krFqn|r\|||!�n| dk	rx|| |"�nPqW��jkr�|r�||t�q��r��jtd���q�q�n||kr�r��jtd
���q�q�n|
dkr�|j�}
n�|
krl|rl|
�|ksY|
j��|	j��kry||t�qyq�||t�q�W�jd�s���fd�}#tj�j�}$x�|dD]w}�j|dkr�jj|�q�n|$|�yt j!�j|��Wnt"k
r!nX�jj#|�q�Wd}%||krr|t$krc�jj%}%qr�jj&}%nx/|dD]#}|#|�|%r}|%|�q}q}Wx,|dD] }|#|��jj|�q�W�jj%}%||kr|t$kr�jj&}%nx&|dD]}|#|�|%|�qWt'j(�|��}&xH|d|d|dD],}||&kr`�jj)|&||�q`q`W|
r�x7|
D],}'�j*|'�j+��j|'|��q�Wq�nWd|j,�XdS(NcSstS(N(R�(RuR((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRLqscsu|�krdS|�jkr#dS|d}x!�D]}|j|�r4dSq4W�jd�j|�|f�dS(NR�s%s: %s
(R.RR�R�(R!R�tpath_Rv(R6RUR"RC(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytbadfnws

c3s!|]}�|�r|VqdS(N((R�R7(RU(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pys	<genexpr>�sR�iR\cs'�j|dkrtd�Std�S(NRsforgetting %s
sremoving %s
(R(R(R�(R1(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytremoveforget�s
s
reverting %s
s
adding %s
sundeleting %s
cs�|dj��|r��jd�r�tjj��r�d�}�jtd��|f��jd�s�tj�|�q�n�j	s��r�|d}t
|t�s�|��}n�j|��ndS(Nit	no_backups%s.origs#saving current version of %s as %s
R�i(
RfR<R R!R�RRR*R�R�R�t
basestringR,(txlisttdobackuptbaknameR�(R�R�RDR�R�RC(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pythandle�s

sfile not managed: %s
sno changes needed to %s
R�cs-�|}�j||j�|j��dS(N(twwriteR;R6(Rvtfc(R6R1(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytcheckout�s
iR(-RKR�R
RFR�R�RR�R�R�R-R.t
matchfilesR,tmapR�R�R(R�R�R�R�RR�R`R<R�R�R6tpathauditorRXtdropR*R�R�R�RtnormallookuptnormalROR+R�R/trevertRV((RCR1R6RR�RDRiR)RKR�tpmfRFRtt
targetsubsR0R2R3R4R5R�RvR�RuR�R�R�tundeletet	disptabletmfentryR{Rthitlisttmisslistt	backuphitt
backupmissR~t
audit_pathR�R�R/((
R�R6R�RUR"RDR�R1R�RCs5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyR�\s�	&	)
%
#	%




!
4csdd�fd�}|S(sureturns a function object bound to table which can be used as
    a decorator for populating table as a command tablecs����fd�}|S(Ncs<�r"|t���f��<n|t��f��<|S(N(R�(tfunc(RtoptionstsynopsisR(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyt	decorators((RR�R�R�(R(RR�R�s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyR	s(N(R
(RR	((Rs5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytcommands	(JRKRRRRti18nRR R�R�RSR�R*R�RtRRR~R�ROR�R�R7R-RWRR�RCRRORiRGRYR
R�RR�RR'R8RFRJR
RpR�R�R�RR,RDR�RERoR�R�R�R�R�R�R�RRRRR�R�R.R2R3RhRLRrR�R�(((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyt<module>sh"<`T	$				-	 	#�G	:)�f6		�	�.				'	*			�	%.	

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.