�8�c @s/ddlmZmZmZmZddlmZddlZddlZddl Z ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZ d�Z!e"d�Z#e$d�Z%d�Z&d�Z'd �Z(d
�Z)dddddd�Z+ddddddidd
�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.pytparsealiasessc
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 ttabletstricttchoicetdebugchoiceRtetaliasestfoundta((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytfindpossibles,
"
cCs�t|||�}||kr&||St|�dkrc|j�}|j�tj||��n|rw|j�dStj|��dS(s9Return (aliases, command table entry) for command string.iiN(RtlenRtsortterrortAmbiguousCommandtvaluestUnknownCommand(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�d6} 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.pytmakefilename~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�tfileRRtCommandErrorR 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�jtd�|�j|���j|��f�dSt
jj|�}t}
|r~||kr~�jj|��jj|�kr~�sl�jtd�|�dSt}t}
q~n�r�|s��r�|
dkr��ds��jtd�|�dSn�r|s-�r�jtd�||f�n�jtd �||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�jtd�|�t}q*�jtd
�||jf�tSq-Xn�js=|r��rc�jtd�||f�q��jtd�||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,tdirstatecopyt
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��nt|���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{scs�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.pyttargetpathfnoscsutj|�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�sics`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�scs(tjj�tjjtj|���S(N(R R!R#RWR*R�(R%(R�(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pyRL�scs�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* 1s"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|drqtjdd�\}�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�tj
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�tj
||�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 tsubrepotitersubreposR.RgR�t
narrowmatcher(RCR1tdiffoptstnode1tnode2R�R0R1R�R�tlistsubreposR�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
%cCs>|j�}|j�}|jjrN|jjd|t|�fdd�dS|jj}tj |j
��}|jjr�tp�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
slog.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
nodebookmarkstnodetagstphasetmanifestnodeR�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|�}|jjrY|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|d6d
|�|_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:tmapfileRFRrtdefaulttempl((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.pytuse_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
jd
f�j
j
dfg}idd
6dd6dd6}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
cCs�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�|}tj
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'tquotedtstyleRCtlogtemplateRdismap-cmdline.N(R�R<R�tmatchallR
RttparsestringtconfigR�R*t
expandpathRER R!RttemplatepathRoR+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�sRPsfound 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|�qqWndtf�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.tfollowtfollow_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 filenamestfollowfiltercs#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��stpruneii�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
6dBd6dCd6dDd6dEd6dFd6dGd6dHd6dId6dJd6dKd 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<RtlookupbranchR�tmatchandpatsR�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.pytdisplaygraph�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~tgetrenamedfnR�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(Ntnewest_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�texplicitonlyR#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�tj
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
sremoving %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?scs�|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�Xt1j2r_| �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
RRtamend_sourceRttextR^R?R_tphasess
new-commits$stripping intermediate changeset %s
sstripping amended changeset %s
ttopicsamend-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.pytcommiteditors
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|jg|D]}td �|^q?�|jg|D]}td
�|^qi�|jg|D]}td�|^q��|jg|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: --sHG: user: %ssHG: branch mergesHG: branch '%s'sHG: bookmark '%s'sHG: subrepo %ssHG: 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|jjr]|jj td�t
|�|f�ndS(NR3screated new head
tclose_branchs reopening closed branch head %d
scommitted changeset %d:%s
(
RR<RKRRCR,RtclosesbranchRVR�RHRR�( R1RKRtbheadsRDR6RRuR\((s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytcommitstatus.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
sremoving %s
(R(R(R�(R1(s5/sys/lib/python2.7/site-packages/mercurial/cmdutil.pytremoveforget�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�RtnormallookuptnormalROR+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 :)�f6 � �. ' * � %.
|