-=[ Mr. Bumblebee ]=-
_Indonesia_

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


l\c@sddlmZmZmZddlmZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl!Z"ddl#Z$ddl%Z&ddlm'Z'ddl(Z(ddl)Z)ddl*Z*ddl+Z+ddl,Z,ddl-Z-ddl.Z.ej/Z/ej0Z0de0fdYZ1de1fdYZ2d	e/fd
YZ3de/fdYZ4d
Z5dZ6e7ddddddfZ8e8j9e7dgZ:dej;fdYZ<de<fdYZ=de>fdYZ?dZ@dZAdZBdZCdS( i(thextnullidtshort(t_N(treleaset
repofilecachecBs,eZdZddZdZdZRS(sMAll filecache usage on repo are done for logic that should be unfiltered
    cCstt|j|j|S(N(tsuperRt__get__t
unfiltered(tselftrepottype((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRscCstt|j|j|S(N(RRt__set__R(R	R
tvalue((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRscCstt|j|jS(N(RRt
__delete__R(R	R
((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR sN(t__name__t
__module__t__doc__tNoneRRR(((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRs	t
storecachecBseZdZdZRS(s filecache for files in the storecCs
|j|S(N(tsjoin(R	tobjtfname((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pytjoin%s(RRRR(((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR#stunfilteredpropertycachecBseZdZddZRS(s0propertycache that apply to unfiltered repo onlycCs>|j}||kr.tt|j|St||jS(N(RRRRtgetattrtname(R	R
Rtunfi((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR+sN(RRRRR(((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR(stfilteredpropertycachecBseZdZdZRS(s1propertycache that must take filtering in accountcCstj||j|dS(N(tobjectt__setattr__R(R	RR
((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt
cachevalue4s(RRRR(((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR1scCs|t|jkS(s?check if a repo has an unfilteredpropertycache value for <name>(tvarsR(R
R((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pythasunfilteredcache8scsfd}|S(s@decorate method that always need to be run on unfiltered versioncs|j||S(N(R(R
targstkwargs(torig(s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pytwrapper>s((R$R%((R$s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pytunfilteredmethod<stlookupt	branchmaptpushkeytknownt	getbundletunbundletchangegroupsubsett	localpeercBseZdZedZdZdZdZdZdZ	dZ
dZd	Zd
Z
dddddZd
ZdZdZdZdZddddZRS(s8peer for a local repo; reflects only the most recent APIcCs\tjj||jd|_|j|_|j||_|j|_|j	|_	dS(Ntserved(
tpeertpeerrepositoryt__init__tfilteredt_repotuit_restrictcapabilitiest_capstrequirementstsupportedformats(R	R
tcaps((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR2IscCs|jjdS(N(R4tclose(R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR;QscCs|jS(N(R7(R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt
_capabilitiesTscCs|jS(N(R4(R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pytlocalWscCstS(N(tTrue(R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pytcanpushZscCs
|jjS(N(R4turl(R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR@]scCs|jj|S(N(R4R'(R	tkey((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR'`scCs
|jjS(N(R4R((R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR(cscCs
|jjS(N(R4theads(R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRBfscCs|jj|S(N(R4R*(R	tnodes((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR*istHG10c
Ks^tj|j|d|d|d||}|dk	rZd|krZtj|j|}n|S(NRBtcommont
bundlecapstHG2X(texchangeR+R4Rtbundle2t
unbundle20R5(R	tsourceRBRERFtformatR#tcg((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR+ls
cCsy}tj|j|d}tj|j||d|}tj|drxtj|j	}t
j|j|}n|SWn4tj
k
r}tjtdt|nXdS(sPapply a bundle on a repo

        This function handles the repo locking itself.tpusht	getchunksspush failed:N(RHt
readbundleR5RR,R4tutiltsafehasattrtchunkbufferRORIRJterrort	PushRacedt
ResponseErrorRtstr(R	RMRBR@trettstreamtexc((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR,zscCs
|jjS(N(R4tlock(R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR[scCstj|j|||S(N(tchangegrouptaddchangegroupR4(R	RMRKR@((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR]scCs|jj||||S(N(R4R)(R	t	namespaceRAtoldtnew((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR)scCs|jj|S(N(R4tlistkeys(R	R^((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRascCsd|||||fS(s+used to test argument passing over the wires%s %s %s %s %s((R	tonettwotthreetfourtfive((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt
debugwireargssN(RRRt
moderncapsR2R;R<R=R?R@R'R(RBR*RR+R,R[R]R)RaRg(((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR.Fs&										
					tlocallegacypeercBs;eZdZdZdZdZdZdZRS(scpeer extension which implements legacy methods too; used for tests with
    restricted capabilitiescCstj||dtdS(NR:(R.R2t
legacycaps(R	R
((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR2scCs|jj|S(N(R4tbranches(R	RC((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRkscCs|jj|S(N(R4tbetween(R	tpairs((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRlscCstj|j||S(N(R\R4(R	t	basenodesRK((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR\scCstj|j|||S(N(R\R-R4(R	tbasesRBRK((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR-s(RRRR2RkRlR\R-(((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRis				tlocalrepositoryc	BseZedvZeedwBZedxZdgZdyZidzd6d{d6d|d6Z	eZ
d	Zdyed
Z
dZdZd
ZdZdZdZdZdZeddZeddZdZeddZeddZeddZeddZed d!Zd"Z d#Z!d$Z"d%Z#d&Z$d'Z%d(Zd)Z&ed*Z'e(ied+Z)ed,Z*e+d-Z,d.Z-d/Z.d0Z/d1Z0d2Z1d3Z2d4Z3d5Z4d6Z5dyd7Z6d8Z7d9Z8d:Z9d;Z:d<Z;d=Z<d>Z=dyd?Z>e?d@Z@dydydAZAdBZBdydCZCdDdEZDdFZEdGZFdHZGeHdIZIeHdJZJdKZKdLZLdMZMdNZNdydOZOdPZPdQZQdRZRdSZSeedTZTe(dUZUdVZVdWZWdXZXdYZYdZZZd[Z[d\Z\e]d]Z^e]d^Z_d_Z`e(d`dydydyeeidaZae(edbZbe(dcZce(ddZddydeZedfdydyeeeedgZfdydhZgdydyediZhdjZidkZjdyedlZkdmZleHdnZmedyedoZndpZogedqZpdrZqdsZrdydydydtZsduZtRS(}trevlogv1tgeneraldeltatstoretfncachetsharedt	dotencodeRGsb2x:listkeyssb2x:pushkeycCs|jS(N(R8(R	tcreate((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt_baserequirementssc
Cstj|dtdt|_|j|_|jj|_|jjd|_||_	t
j|j|j|_
tj|jdt|_|j|_||_|j|_|j|j_g|_y3|jj|jd|jtj|jWntk
rnX|jrt|j|_tdtj|jD}xE|jD]+}|j|krW||j|jqWqWWn|j|_|jjs|r|jjs|jjn|jjdt|j |}|jj!dd	tr|jj"d
|j#d
|jj!ddtrp|j#d|jj!dd
trp|j#d
qpn|jj#ddn|jj!ddt$r|j#dnt|}qNt%j&t'd|nu|rt%j&t'd|nSytj(|j|j}Wn4tk
rM}|j)t)j*krAnt}nX|j|_+yhtj|jj,dj-ddt}|j}	|jst%j&t'd|	n|	|_+Wn+tk
r}|j)t)j*krqnXt.j.||j+d|_.|j.j|_/|j.j|_0|j0|_1|j.j|_2|j.j3|j_3|j4||ry|j5ni|_6i|_7i|_8d|_:|_;|_<i|_=i|_>dS(Nt
expandpathtrealpaths.hgtcacheauditedthgrccss|]\}}|jVqdS(N(R(t.0tntm((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pys	<genexpr>st
notindexedRLtusestoreRst
usefncacheRtRvs
00changelog.it9 dummy changelog to prevent using the old repo layoutRrsrepository %s not foundsrepository %s already existst
sharedpaths
s1.hg/sharedpath points to nonexistent directory %scSstj|dtS(NR{(tscmutiltvfsR>(tbase((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt<lambda>s(?RRR>twvfstwopenerRtrootRtpathtorigroottpathutiltpathauditort_checknestedtauditortopenertbaseuitcopyR5t_phasedefaultst
readconfigt
extensionstloadalltIOErrortfeaturesetupfuncstsett_basesupportedt	supportedRtisdirtexiststmakedirstmakedirRxt
configbooltmkdirtappendtFalseRTt	RepoErrorRtreadrequiresterrnotENOENTRtreadtrstripRstspathtsvfstsopenerRt
createmodet_applyrequirementst_writerequirementst
_branchcachest
filterpatst_datafiltersRt	_transreft_lockreft	_wlockreft
_filecachetfilteredrevcache(
R	RRRwtextmodst	setupfuncR8tinstRts((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR2s			
		

	

!		

	

					cCsdS(N((R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR;2scCsW|jjddtrSt|}tj|j}|jdtj	|n|S(Ntexperimentalsbundle2-expsbundle2-exp=(
R5RRRRIt
encodecapstbundle2capstaddturllibtquote(R	R:tcapsblob((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR65s
csc|_tfd|Dj_jjdd}|dk	r_|jjd<ndS(Nc3s*|] }|jkr|dfVqdS(iN(t
openerreqs(R}tr(R	(s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pys	<genexpr>@sRLtchunkcachesize(R8tdictRtoptionsR5t	configintR(R	R8R((R	s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR>s
	"cCsK|jdd}x(t|jD]}|jd|q"W|jdS(Ntrequirestws%s
(RtsortedR8twriteR;(R	treqfileR((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRFscCs|j|jstS|t|jd}tj|}|d}tj|}xo|rdj|}||j	kr||krt
S|j|}|j|t|dSqX|j
qXWtS(s/Determine if path is a legal nested repository.it/N(t
startswithRRtlenRQtpconvertRt	splitpathRtsubstateR>tsubtchecknestedtpop(R	RtsubpathtnormsubpathtctxtpartstprefixR((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRLs
	cCs
t|S(N(R.(R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR0rscCs|S(saReturn unfiltered version of the repository

        Intended to be overwritten by filtered repo.((R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRuscCs2dtj|jjfdY}|||S(s)Return a filtered version of a repositorytproxyclscBseZRS((RR(((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRs(trepoviewRt	__class__(R	RR((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR3{s%t	bookmarkscCs
tj|S(N(Rtbmstore(R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt
_bookmarksssbookmarks.currentcCs
tj|S(N(Rtreadcurrent(R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt_bookmarkcurrentscCsl|jddd}g}xI|jjD]8\}}|jddd|kr,|j|q,q,W|S(Nt@ii(tsplitRt	iteritemsR(R	tbookmarkRRBtmarkR~((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt
bookmarkheadsst
phaserootscCstj||jS(N(tphasest
phasecacheR(R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt_phasecachestobsstorecCsOtj|j}|rKtjrKd}|jj|tt|n|S(Ns3obsolete feature not enabled but %i markers found!
(tobsoleteRRt_enabledR5twarnRtlist(R	Rstmsg((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRs
#s
00changelog.icCsWtj|j}dtjkrStjd}|j|jrS|jdqSn|S(Nt
HG_PENDINGs00changelog.i.a(t	changelogRtostenvironRRtreadpending(R	tctp((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRs
s00manifest.icCstj|jS(N(tmanifestR(R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRstdirstatecs:dgfd}tjjjj|S(Nicskyjj||SWnLtjk
rfdsbtd<jjtdt|nt	SXdS(Nis-warning: ignoring unknown working parent %s!
(
RtrevRTtLookupErrorR>R5RRRR(tnode(R	twarned(s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pytvalidates

(RRR5R(R	R((R	Rs7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRs	cCs)|dkrtj|Stj||S(N(Rtcontextt
workingctxt	changectx(R	tchangeid((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt__getitem__s
cCs3yt|j|SWntjk
r.tSXdS(N(tboolR'RTtRepoLookupErrorR(R	R((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt__contains__scCstS(N(R>(R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt__nonzero__scCs
t|jS(N(RR(R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt__len__scCs
t|jS(N(titerR(R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt__iter__scGs:tj||}tjd|}||tj|S(s4Return a list of revisions matching the given revsetN(trevsett
formatspectmatchRtspanset(R	texprR"R((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pytrevsscgs*x#|j||D]}||VqWdS(sw
        Yield a context for each matching revision, after doing arg
        replacement via revset.formatspec
        N(R(R	RR"R((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRscCsd|jS(Nsfile:(R(R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR@scKstj|j||||S(sCall a hook, passing this repo instance.

        This a convenience method to aid invoking hooks. Extensions likely
        won't call this unless they have registered a custom hook or are
        replacing code that is expected to call a hook.
        (thookR5(R	RtthrowR"((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRsc	smt|tr|f}nj}	xb|D]Z}
jddtdtd|
d||
|	kr.jjtd|
q.q.Wfd}d}|r?yj	d	d
}
Wn#t
k
rj	d	d}
n
X|
j}||
|d|x3|D]+}
jddtd|
d|qWdSyj
dd
}
Wn=t
k
r}|jtjkrnj
dd}
n
X|
j}||
|tj||
jjdjkrdjdgntjjddg}j|||d|d|d|}x3|D]+}
jddtd|
d|q:W|S(NtpretagRRttagR=s4warning: tag %s conflicts with existing branch name
cs|jdd|r6|ddkr6|jdnx|D]}|rU||pX|}jjr|jjkrjj|t}|jdt||fn|jdt|fq=W|jdS(Niiis
s%s %s
(	tseekRt
_tagscachettagtypesttagstgetRRR;(tfptnamestmungetprevtagsRRR_(RR	(s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt	writetagss
 !tt	localtagssr+tas.hgtagssrb+tabtextraRteditor(t
isinstanceRWR(RR>RR5RRRRRRtwfileRRtencodingt	fromlocalR;tinvalidatecachesRRtmatchmodtexactRtcommit(R	R RtmessageR=tusertdateR(R)RkRR#R"RteRttagnode((RR	s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt_tagsN
$


)

	
)c		Csx|sHx?|jd D]*}d|krtjtdqqWn|j|j||||||d|dS(sZtag a revision with one or more symbolic names.

        names is a list of strings or, when adding a single tag, names may be a
        string.

        if local is True, the tags are stored in a per-repository file.
        otherwise, they are stored in the .hgtags file, and a new
        changeset is committed with the change.

        keyword arguments:

        local: whether to store tags in non-version-controlled file
        (default False)

        message: commit message to use if committing

        user: name of user to use if committing

        date: date tuple to use if committingis.hgtagssCworking copy of .hgtags is changed (please commit .hgtags manually)R)N(tstatusRQtAbortRRR7(	R	R RR2R=R3R4R)tx((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR1s
cCs;dtfdY}|}|j\|_|_|S(sMReturns a tagscache object that contains various tags related
        caches.t	tagscachecBseZdZRS(cSs$d|_|_d|_|_dS(N(RRRt
nodetagscachettagslist(R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR2Ws(RRR2(((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR;Vs(Rt	_findtagsRR(R	R;tcache((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyROs	cCsi}|jjr'|j\}}n|jj}xU|jD]G\}}y|jj||||<Wq@tjt	fk
rq@Xq@W|S(sreturn a mapping of tag to node(
RtfilteredrevsR>RRRRRTRt
ValueError(R	ttRttttktv((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRfscCsi}i}tj|j|||tj|j|||i}xB|jD]4\}\}}|tkrQ||tj|<qQqQW|jj	|d<t
g|jD]!\}}tj||f^q}||fS(suDo the hard work of finding tags.  Return a pair of dicts
        (tags, tagtypes) where tags maps tag name to node, and tagtypes
        maps tag name to a string like 'global' or 'local'.
        Subclasses or extensions are free to add their own tags, but
        should be aware that the returned dicts will be retained for the
        duration of the localrepo object.ttip(ttagsmodtfindglobaltagsR5t
readlocaltagsRRR,ttolocalRRFR(R	talltagsRRRRthistR
((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR>vs4cCs|jjj|S(s
        return the type of the given tag. result can be:

        'local'  : a local tag
        'global' : a global tag
        None     : tag does not exist
        (RRR(R	ttagname((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyttagtypes	cCs|jjsg}xH|jjD]4\}}|jj|}|j|||fq%Wgt|D]\}}}||f^qj|j_n|jjS(s)return a list of tags ordered by revision(RR=RRRRRR(R	tlRBR~R((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR=s7cCs|jjs~i}x9|jjjD]%\}}|j|gj|q%Wx|jD]}|jq[W||j_n|jjj|gS(s&return the tags associated with a node(	RR<RRt
setdefaultRt
itervaluestsortR(R	RR<RBR~R((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pytnodetagsscCsLg}x9|jjD](\}}||kr|j|qqWt|S(N(RRRR(R	RtmarksRR~((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt
nodebookmarkss
cCstj||j|jS(skreturns a dictionary {branch: [branchheads]} with branchheads
        ordered by increasing revision number(R(tupdatecacheRt
filtername(R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR(s
cCsHy|jj|SWn*tk
rCtjtd|nXdS(s&return the tip node for a given branchsunknown branch '%s'N(R(t	branchtiptKeyErrorRTR
R(R	tbranch((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRXs
cCs||jS(N(R(R	RA((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR'scCsN|p	|}||jkr"|S|r:|jr:|p=|}||jS(N(R(R=RZ(R	RAtremoteR
((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pytlookupbranchs
cCst|jj}|j}g}xR|D]J}|j|}|dkp[|j||tjk}|j|q"W|S(N(	RtnodemapRRRtphaseRtsecretR(R	RCtnmtpctresultR~Rtresp((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR*s	
(cCs|S(N((R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR=scCs@|jstS|jjddts,tS|jdjjS(NRtpublishtvisible(R=RR5RR>R3RR@(R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pytcancopys
cCstjj|j|S(N(RRR(R	tf((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRscCstjj|j|S(N(RRRR(R	Rg((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pytwjoinscCs0|ddkr|d}ntj|j|S(NiRi(tfilelogR(R	Rg((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pytfiles
cCs||S(N((R	R((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRscCs||jS(s.get list of changectxs for parents of changeid(tparents(R	R((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRkscCs|jj||}||}|roxG|D]<}||kr,|||kr,|jj|||q,q,Wn|tkrxZt|jjjD]:\}}||kr||kr|jjd|qqWndS(N(Rt
setparentsRRRtcopiestitemsR(R	tp1tp2RmtpctxRgR((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRls

!(cCstj||||S(sechangeid can be a changeset revision, node, or tag.
           fileid can be a file revision or node.(Rtfilectx(R	RRtfileid((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRrscCs
|jjS(N(Rtgetcwd(R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRtscCs|jj||S(N(Rtpathto(R	Rgtcwd((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRusRcCs|j||S(N(R(R	Rgtmode((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR+scCs|jj|S(N(Rtislink(R	Rg((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt_linksc
s.||jkr#g}x|jj|D]\}}|dkrFq(ntj|jd|g}d}|}xL|jjD];\}}	|j	|r}|	}|t
|j}Pq}q}W|sd}ntj
|ds|fd}n|j|||fq(W||j|<n|j|S(Nt!R$c[stj||S(N(RQtfilter(RRR#((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR.sics
||S(N((RRR#(toldfn(s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR2s(RR5tconfigitemsR/RRRRRRRtlstriptinspectt
getargspecR(
R	R{ROtpattcmdtmftfntparamsRtfilterfn((R|s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt_loadfilters*c
Cslxe|D]]\}}}||r|jjd||f|||d|jd|d|}PqqW|S(Nsfiltering %s through %s
R5R
tfilename(R5tdebug(R	RRtdataRRR((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt_filter7s$cCs
|jdS(Ntencode(R(R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt_encodefilterpats@scCs
|jdS(Ntdecode(R(R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt_decodefilterpatsDscCs||j|<dS(N(R(R	RR{((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt
adddatafilterHscCsL|j|r$|jj|}n|jj|}|j|j||S(N(RyRtreadlinkRRRR(R	RR((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pytwreadKscCsv|j|j||}d|kr:|jj||n8|jj||d|krr|jj|ttndS(NROR:(	RRRtsymlinkRRtsetflagsRR>(R	RRtflags((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pytwwriteRscCs|j|j||S(N(RR(R	RR((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt
wwritedata[sc	sjrjpd}|r7|jr7|jSjjdrmtjtddtdnfd}j	|gj
D]!\}}||t|f^q}|r|pjj
}tj|jdt|jj|}tj|_|S(Ntjournalsabandoned transaction foundthints(run 'hg recover' to clean up transactioncsjjjdS(N(RsRR((R	(s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pytoncloseis(RRtrunningtnestRRRTRRt
_writejournalt
_journalfilestundonameR5RttransactionRt
aftertransRsRtweakreftref(	R	tdesctreportttrRRR:trenamestrp((R	s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR^s$

4			cCsL|jdf|jdf|jdf|jdf|jdf|jdffS(NRsjournal.dirstatesjournal.branchsjournal.descsjournal.bookmarkssjournal.phaseroots(RR(R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRwscCs/g|jD]\}}|t|f^q
S(N(RR(R	RR:((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt	undofilesscCs|jjd|jjd|jjdtj|jj|jjddt||f|jjd|jjd|jjd|jjd	dS(
Nsjournal.dirstateRsjournal.branchsjournal.descs%d
%s
sjournal.bookmarksRsjournal.phaserootsR(	RRttryreadR,R-RRZRR(R	R((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRscCs|j}zp|jjdra|jjtdtj|jd|jj	|j
tS|jj	tdtSWd|j
XdS(NRs%rolling back interrupted transaction
s%no interrupted transaction available
(R[RRR5R8RRtrollbackRRt
invalidateR>RR(R	R[((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pytrecovers

cCswd}}zX|j}|j}|jjdrG|j||S|jjtddSWdt	||XdS(Ntundos"no rollback information available
i(
RtwlockR[RRt	_rollbackR5RRR(R	tdryruntforceRR[((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRs
cCs|j}y|jjdj}t|d|dd}}}t|dkre|d}n|d}|r|jrtd|||f}	ntd||f}	Wn#t	k
rtd}	d}nX|r"|d	|d
kr"|dkr"t
jtdd
tdn|j|	|r9dS|j
j}
|jtj|jd|j|jjdr|jjddn|jjdr|jjddn|j|
d|jjkp|
d|jjk}|r|jjddy/|jjd}|j
jtj|Wn1t	k
rl|jtd|j
jnX|j
jtg|jD]}
|
j ^q}
t|
dkr|jtd|
q|jtd|
n|j!dS(Ns	undo.desciiiis8repository tip rolled back to revision %s (undo %s: %s)
s4repository tip rolled back to revision %s (undo %s)
s!rolling back unknown transaction
t.RFR1s;rollback of last commit while not checked out may lose dataRsuse -f to forceRsundo.bookmarksRsundo.phaserootsRs
undo.dirstateRsundo.branchs>named branch could not be reset: current branch is still '%s'
s3working directory now based on revisions %d and %d
s+working directory now based on revision %d
("R5RRt
splitlinestintRRtverboseRRRQR9R8RRkt
destroyingRRRRRRtrenameRRRR]t	setbranchR,RJRZttupleRt	destroyed(R	RRR5R"toldlenRtdetailtoldtipRRkt
parentgoneRZR((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRsb	"

		

'




+
cCs@dt|kr|jd=n|jjj|jdS(NR(R t__dict__RRtcleartinvalidatevolatilesets(R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR.s
cCs|jjtj|dS(N(RRRtclearobscaches(R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRs
cCsht|drdx<|jjD].}yt|j|Wqtk
rIqXqWt|jdndS(sInvalidates the dirstate, causing the next call to dirstate
        to check if it was modified since the last time it was read,
        rereading it if it has.

        This is different to dirstate.invalidate() that it doesn't always
        rereads the dirstate. Use dirstate.invalidate() if you want to
        explicitly read the dirstate again (i.e. restoring it to a previous
        known good state).RN(R!RRtdelattrtAttributeErrorR(R	RD((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pytinvalidatedirstates	
cCsr|j}xH|jD]=}|dkr.qnyt||Wqtk
rRqXqW|j|jjdS(NR(RRRRR.Rs(R	RRD((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR
s

cCs|j|jdS(syFully invalidates both store and non-store parts, causing the
        subsequent operation to reread any outside changes.N(RR(R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt
invalidatealls
c	Csy"tj||d|d|}Wntjk
r}|sCn|jjtd||jftj||t|jj	ddd|d|}|jjtd|j
nX|r|n|S(NiRs"waiting for lock on %s held by %r
R5ttimeoutt600sgot lock after %s seconds
(tlockmodR[RTtLockHeldR5RRtlockerRtconfigtdelay(	R	Rtlocknametwaitt	releasefnt	acquirefnRROR((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt_locks"!
cCs9|jo|j}|r.|jj|n|dS(sfadd a callback to the current repository lock.

        The callback will be executed on lock release.N(RtpostreleaseR(R	tcallbackRO((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt
_afterlock0scsjoj}|dk	r8|jr8|j|Sfd}jjd||jtdj}t	j
|_|S(sLock the repository store (.hg/store) and return a weak reference
        to the lock. Use this before modifying the store (e.g. committing or
        stripping). If you are opening a transaction, get a lock as well.)csntdrjjnxHjjD]7\}}|dks/|jkr\q/n|jq/WdS(NRR(R!RRRRnRtrefresh(RDtce(R	(s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pytunlockCsR[s
repository %sN(RRtheldR[RRRRRRR(R	RROR((R	s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR[:s
csjoj}|dk	r8|jr8|j|Sfd}jjd||jtdj}t	j
|_|S(sLock the non-store parts of the repository (everything under
        .hg except .hg/store) and return a weak reference to the lock.
        Use this before modifying files in .hg.cs"jjjdjdS(NR(RRRR((R	(s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRYs
Rsworking directory of %sN(RRRR[RRRRRRR(R	RROR((R	s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRPs

cCs|j}|j}|j|}	|j|t}
|j|t}i}|j}
|
r|
d|kr|
d}|j|}|}|r|tks|dkr||kr||}|
}qqn|s3|jjd||fx;|dj	D]&}||kr||j
}PqqWn|r|jjd||t|f||d<t||d<t|}
}q|jjt
d||fnn|
tkr|t}
}nR|tkr|	j|
|}|
|kr|t}
}q||krt}qn|tks;|	j|
|s;|rd|j||	j|||||
|S||kr|j||jkr|j|n|
S(sK
        commit an individual file as part of a larger transaction
        is( %s: searching for copy revision for %s
s %s: copy %s:%s
Rtcopyrevs8warning: can't find ancestor for '%s' copied from '%s'!
N(RRRjRRtrenamedRR5Rt	ancestorstfilenodeRRRtcommonancestorsheadstcmpRRR(R	tfctxt	manifest1t	manifest2tlinkrevRt
changelistRttexttflogtfparent1tfparent2tmetaRtcfnametcrevt
newfparenttancestortfparentancestors((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt_filecommitcsX

#
$
'R$c'sd}|s'tjjd}n|sKg}	|	j|_||_nj}
z&d#}t|j	dk}|r|r|r|j
s|jrtj
tdnjd|d|}
|r|
dj|
dng}t}|jj}d	|krlx.|
d
 D]"}d|kr*|jdq*q*W|jj}xAt|jD]-}||s||kr||||<qrn|stj
td|qn|j|jtr;jjd
dstj
td|dtdn|j||j|qr|j|j}||d|||df||<|j|d%d|krr|j|qrqrWxe|j	D]W}g|jD]}||kr|^q}|g|D]}||r|^q7}qW|r|d	rRd	|j |j!krRtj
tdn|
dj"ddqnVd	|
dkrd|krd|
d|
d|
dkr|
dj"ddqn|r|j
rt|
d|
d|
d}x|j
D]}j#j$|}|dks||ks||jkrGqn||
d
krm||tdn||	kr|d}x\|D]}|j%|rPqqW||tdq|j#kr||tdqqWnt&j'|||||
}|rT|jdrT|rT|j
rT|j(|jj(krTd#S|r~|j)r~tj
tdnt*j+}xF|
dD]:}||kr||dkrtj
tdqqW|r||||_,n||j,k}j-|j,}|rxvt|D]h}|j|}jjtdt.j/||j0|j,||} ||d| f||<q(Wt.j1|nj#j	\}!}"t2|!|"t3krt2|"pd}#}$y5j4ddtd |#d!|$j5|t}%Wn-|rEjj6td"|nnXt7j8|!|"g|%|j9|%|j:Wd#|
j;Xt2|%|#|$fd$}&j<|&|%S(&sAdd a new revision to current repository.

        Revision information is gathered from the working directory,
        match can be used to filter the committed files. If editor is
        supplied, it is called to get a commit message.
        cSstjd||fdS(Ns%s: %s(RQR9(RgR((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pytfailsR$isBcannot partially commit a merge (do not specify files or patterns)Rtcleaniis.hgsubis.hgsubstates#commit with new subrepo %s excludedR5tcommitsubreposs!uncommitted changes in subrepo %sRs#use --subrepos for recursive commitis$can't commit subrepos without .hgsubRsfile not found!Rsno match under directory!sfile not tracked!R;s&cannot commit merge with missing filestus0unresolved merge conflicts (see hg help resolve)scommitting subrepository %s
t	precommitRtparent1tparent2s!note: commit message saved in %s
Ncs#jdd|d|d|dS(NR1RRR(R(RRR(R	(s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt
commithookVs(NNN(=R/talwaysRRtexplicitdirtbadRRRRktfilestanypatsRQR9RR8textendRRRtremoveRoRtkeysRtdirtyR>R5RRt	basestateRtmodifiedtaddedtinsertRt	normalizeRRRRZtdeletedtmergemodt
mergestatet_texttsavecommitmessagetsubrepot
subrelpathR1t
writestateRRRt	commitctxRRtupdatet
markcommittedtresetRR('R	RR3R4RRR)R(RtvdirsRtwctxtmergetchangestsubst
commitsubstnewstateRtoldstateRtbsRRtmatchedRgtdRtcctxtmsteditedtmsgfnRtsrRoRpthookp1thookp2RXR((R	s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR1s
	
	
#(-
  '


+	

csd}}t|j}|j|j}}|j}j}zjd}tj	|}	|j
r|jj}
|j}i}g}
t
}x t|j|jD]}jj|dyF||}j||
|||	|
||<|
j||jWqtk
r_}jjtd|qtk
r}t|dtj}|s|r|tjkrjjtd|q|j|qXqW|
j|gt|D]$}||
ks||kr|^q}g|D]}||
kr|^q}x|D]
}|
|=qCWjj|
|	||j |j ||f}|
|}n|j }g}j!j"j!j|||j#|	|j$|j$||j%|j&j	}fd}|j'|r+|j'p.d}}j(ddt)d	t'|d
|d|d|j!j*|	t+j,j|}|rt-j.||gn|j/t0j1j2d
|SWd|r|j3n|j3XdS(ssAdd a new revision to current repository.
        Revision information is passed via the context argument.
        R1s
strouble committing %s!
RcsjjrjpdS(NR$(RtwritependingR((R	(s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRsR$tpretxncommitRRRRtpendingR/N(4RRtremovedRoRpR3R[RRtproxyRRRRRRRR5tnoteRRRtOSErrorRRRRRRRRRtmanifestnodeRtdelayupdatetdescriptionRR4R(RRR>tfinalizeRtnewcommitphaseRtretractboundaryR;R(RVR3R(R	RRTRR[R(RoRpR3ttrptm1tm2R`tchangedRRgRRterrcodetdroptmnRR~Rtxp1txp2ttargetphase((R	s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR[st
#


7%


!%$


cCs&dt|kr"|jjndS(sInform the repository that nodes are about to be destroyed.
        Intended for use by strip and rollback, so there's a common
        place for anything that has to be done before destroying history.

        This is mostly useful for saving state that is in memory and waiting
        to be flushed when the current lock is released. Because a call to
        destroyed is imminent, the repo will be invalidated causing those
        changes to stay in memory (waiting for the next unlock), or vanish
        completely.
        RN(R RR(R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRscCsA|jj||jjtj|jd|jdS(sInform the repository that nodes have been destroyed.
        Intended for use by strip and rollback, so there's a common
        place for anything that has to be done after destroying history.
        R/N(Rt
filterunknownRR(RVR3R(R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRs
cCs||j|S(s
        walk recursively through the directory tree or a given
        changeset, finding all files matched by the match
        function
        (twalk(R	RR((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR=sRcCs ||j||||||S(s3a convenience method that calls node1.status(node2)(R8(R	tnode1tnode2RtignoredRtunknowntlistsubrepos((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR8scCs.|jj|}t|d|jjdtS(NRAtreverse(RRBRRR>(R	tstartRB((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRBscCs|dkr|dj}n|j}||kr;gStt|j|d|}|dk	rt|jj|g|d}g|D]}||kr|^q}n|S(sVreturn a (possibly filtered) list of heads for the given branch

        Heads are returned in topological order, from newest to oldest.
        If branch is None, use the dirstate branch.
        If start is not None, return only heads reachable from start.
        If closed is True, return heads that are marked as closed as well.
        tclosediN(	RRZR(RtreversedtbranchheadsRRtnodesbetween(R	RZRDRERktbheadstfbheadsth((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRGs!"(cCs|s|jjg}ng}x|D]z}|}xktr|jj|}|dtkso|dtkr|j|||d|dfPn|d}q7Wq(W|S(Nii(RRFR>RkRR(R	RCtbR~RBR((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRk
s
	 !c
Csg}x|D]\}}|gd}}}d}xh||kr|tkr|jj|d}	||kr|j||d}n|	}|d7}q6W|j|q
W|S(Niii(RRRkR(
R	RmRttoptbottomR~ROtiRgR((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRls

cCstj||||S(N(RHtpull(R	R[RBR((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRP+scCsdS(sExtensions can override this function if additional checks have
        to be performed before pushing, or call it if they override push
        command.
        N((R	tpushop((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt	checkpush.scCs
tjS(sReturn util.hooks consists of "(repo, remote, outgoing)"
        functions, which are called before pushing changesets.
        (RQthooks(R	((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pytprepushoutgoinghooks5scCstj|||||S(N(RHRN(R	R[RRt	newbranch((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRN<scsj}zd}|jdr3|j}n|j}|j}yt|}Wn)tk
rtj	t
d|nX|dkrtjt
dnH|dkrtjt
dn$|dkrtjt
dnj
jt
d	|j}y%tt|jd
d\}}	Wn/ttfk
rktj	t
d|nXj
jt
d|tj|	fd}
j
jt
ddd
|	tj}jt
d}z>x-t|D]}
|j}y(|jdd\}}t|}Wn/ttfk
rVtj	t
d|nXj
jrj
jd|tj|fnjtj|d}xYtj|d|D]B}|
t|7}
j
jt
d|
d
|	|j|qW|jqW|jWd|j Xj!tj|}|dkrVd}nj
jt
ddj
jt
dtj|	|tj|	|f|j"t#j$j%j&|j'|rg}x!|j(D]}|j)|qW|rt*fd|D}tj+||j,|}xMdD]B}j-|}|j.|rT|j/|<|j|PqTqTWqnj!tj0dSWd|j XdS(NR(s'unexpected response from remote server:isoperation forbidden by serveris$locking the remote repository failedis%the server sent an unknown error codesstreaming all changes
t s!%d files to transfer, %s of data
tclonettotaltsadding %s (%s)
RtlimitgMbP?s(transferred %s in %.1f seconds (%s/sec)
c3s'|]}tjj|VqdS(N(RRR(R}R(R	(s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pys	<genexpr>sRt	immutableR/(sbaseR[sserved(1R[RtcapableR(t
stream_outtreadlineRRARTRVRRQR9R5R8tmapRt	TypeErrort	bytecounttprogressttimeRtxranget	debugflagRRRst	decodedirt
filechunkiterRRR;RRRRR8R9RRRQRtmaxtbranchcacheRR3tvalidforRRB(R	R[R8R[t
rbranchmapRRORcttotal_filesttotal_bytest
handled_bytesRDRRORtsizetofptchunktelapsedtrbheadsRItrtiprevR?t	candidatetrview((R	s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt	stream_in?s
%
	


	
	



cCs|s|jd}n|r|r|jdrJ|j|tdS|jd}|rt|jd}||js|j||Sqn|j||S(sclone remote repository.

        keyword arguments:
        heads: list of revs to clone (forces use of pull)
        stream: use streaming clone if possiblesstream-preferredRYRqt
streamreqst,(Rq(R\RwRRR9RP(R	R[RBRYRx((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRWs

cCs|jddtd|d|d|d||jjd||ftj|||||}|jdd|d|d|d|d	||S(
Nt
prepushkeyRR^RAR_R`spushing key for "%s:%s"
R)RX(RR>R5RR)RN(R	R^RAR_R`RX((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR)s
$cCs\|jddtd||jjd|tj||}|jdd|d||S(NtprelistkeysRR^slisting keys for "%s"
Ratvalues(RR>R5RR)R(R	R^R|((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRas
cCsd|||||fS(s+used to test argument passing over the wires%s %s %s %s %s((R	RbRcRdReRf((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRgscCsR|jdd}z|j|Wd|jX|j|jt|jdS(Nslast-message.txttwbi(RRR;RuRRR(R	RR((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRs
(srevlogv1sgeneraldelta(sstoresfncacheRus	dotencode(srevlogv1sgeneraldeltaN((((uRRRR9RRR8RRWRRRxRR2R;R6RRRR0RR3RRRRRRRRRRRRRR
RRR@RR&R7RRRRR>RNR=RSRUR(RXR'R\R*R=RfRRhRjRRkRRlRrRtRuR+RyRRRRRRRRRRRRRRRRR.RRRRRRR>R[RRR1RRRR=R8RBRGRkRlRPRRRTRNRwRWR)RaRgR(((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRps
	

		p						&															D		!								
																					
B								
	QQ"						g 			cs2g|D]}t|^qfd}|S(NcsFx?D]7\}}}y|j||Wqtk
r=qXqWdS(N(RR+(Rtsrctdest(trenamefiles(s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyR&s

(R(RRBR&((Rs7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRscCsOtjj|\}}|jds-ttjj||jdddS(NRRi(RRRRtAssertionErrorRtreplace(RRR((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyRscCst|tj||S(N(RpRQturllocalpath(R5RRw((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pytinstancescCstS(N(R>(R((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pytislocals(DRRRRti18nRRR0R\RR)RRRRRiRRRRR[RRRsR,RHRIRRQRRRTRRR/RRRRGRRRRRcRR(Rt
propertycachet	filecacheRRRRR!R&RRhtunionRjR1R.RiRRpRRRR(((s7/usr/lib/python2.7/dist-packages/mercurial/localrepo.pyt<module>sJHT<H<					U;	
		

Copyright © 2017 || Recoded By Mr.Bumblebee