HEX

Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit - prohibited by configuration in /home/u547966/brikov.ru/www/wp-content/plugins/admin-menu-editor/menu-editor.php on line 745
Server: Apache
System: Linux 4.19.0-0.bpo.9-amd64 x86_64 at red40
User: u547966 (5490)
PHP: 5.3.29-mh2
Disabled: syslog, dl, popen, proc_open, proc_nice, proc_get_status, proc_close, proc_terminate, posix_mkfifo, chown, chgrp, accelerator_reset, opcache_reset, accelerator_get_status, opcache_get_status, pcntl_alarm, pcntl_fork, pcntl_waitpid, pcntl_wait, pcntl_wifexited, pcntl_wifstopped, pcntl_wifsignaled, pcntl_wifcontinued, pcntl_wexitstatus, pcntl_wtermsig, pcntl_wstopsig, pcntl_signal, pcntl_signal_dispatch, pcntl_get_last_error, pcntl_strerror, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_exec, pcntl_getpriority, pcntl_setpriority
Upload Files
File: //usr/lib/python2.7/dist-packages/mercurial/branchmap.pyc
ó
ÛXc@@sJddlmZddlZddlZddlZddlmZmZmZm	Z	ddl
mZmZm
Z
ejZejZejZejZd„Zd„Zidd6d	d6d
d	6dd
6Zd„Zd
„Zdefd„ƒYZdZdeZdeZdZeeƒZdZdZdZ de!fd„ƒYZ"dS(i(tabsolute_importNi(tbinthextnullidtnullrev(tencodingterrortscmutilcC@s)d}|jr%d||jf}n|S(s7name of a branchcache file for a given repo or repoviews
cache/branch2s%s-%s(t
filtername(trepotfilename((s7/usr/lib/python2.7/dist-packages/mercurial/branchmap.pyt	_filenames	cC@sey8|jt|ƒƒ}|jƒjdƒ}|jƒWnttfk
rRdSXy‰|jdƒjddƒ}|d \}}t	|ƒt
|ƒ}}d}t|ƒdkrÅt	|dƒ}ntd|d|d|ƒ}|j
|ƒsþtdƒ‚n|j}xÑ|D]É}	|	s qn|	jddƒ\}
}}|d	krVtd
ƒ‚ntj|jƒƒ}t	|
ƒ}
|j|
ƒsŸtdt|
ƒƒ‚n|j|gƒj|
ƒ|dkr|jj|
ƒqqWWn‚tk
rò‚notk
r`}
|jjrWd
}|jdk	r6|d|j7}n|d7}|jj||
ƒnd}nX|S(Ns
it ittipnodettiprevtfilteredhashstip differstocsinvalid branch statesnode %s does not existtcsinvalid branchheads caches (%s)s: %s
(tvfsRtreadtsplittclosetIOErrortOSErrortNonetpopRtinttlentbranchcachetvalidfort
ValueErrort	changelogRttolocaltstripthasnodeRt
setdefaulttappendt_closednodestaddtKeyboardInterruptt	Exceptiontuit	debugflagRtdebug(R	tftlinestcachekeytlasttlrevRtpartialtcltltnodetstatetlabeltinsttmsg((s7/usr/lib/python2.7/dist-packages/mercurial/branchmap.pyR&sT		



tvisibletservedt	immutabletbasec@sQ|j}|j}|jj|ƒ‰g}ˆdksFˆj|ƒrÜt|ƒ‰ˆdkrÜtj|ƒ}|dkr…tƒ‰qÙ|j	|ƒ}|j
ƒjƒ‰|jj|j}|j
‡fd†|DƒƒqÜn|j
|jdˆjdƒƒ|r"ˆj||ƒˆj|ƒnˆj|ƒs=t|ƒ‚ˆ|j|j<dS(Nc3@s$|]}|ˆjkr|VqdS(N(R(t.0tr(R1(s7/usr/lib/python2.7/dist-packages/mercurial/branchmap.pys	<genexpr>oststarti(RRt
_branchcachestgetRRRtsubsettableRtfilteredt	branchmaptcopytfilteredrevstextendtrevsRtupdatetwritetAssertionError(R	R2RRHt
subsetnametsubsett	extrarevs((R1s7/usr/lib/python2.7/dist-packages/mercurial/branchmap.pytupdatecache_s(		# c
@sg}g}xr|jƒD]d}|j|ƒxN|D]F}ˆjj|ƒ}ˆjj|ƒ\}}|r3|j|ƒq3q3WqW|rt‡fd†|Dƒƒ}	t|ˆ|	jƒ|	d|ƒ}
xMdD]B}ˆj	|ƒ}|
j
|ƒrÌ|
ˆj|<|
j|ƒPqÌqÌWndS(sReplace the branchmap cache for a repo with a branch mapping.

    This is likely only called during clone with a branch map from a remote.
    c3@s'|]}tˆjj|ƒƒVqdS(N(RRtrev(R=R4(R	(s7/usr/lib/python2.7/dist-packages/mercurial/branchmap.pys	<genexpr>ˆstclosednodesR<R;R:N(R<R;R:(
t
itervaluesRGRRPt
branchinfoR$tmaxRR4RCRR@RJ(
R	tbmtrbheadstclosedtbheadsthR>tbRtrtiprevtcachet	candidatetrview((R	s7/usr/lib/python2.7/dist-packages/mercurial/branchmap.pytreplacecachexs,



	


RcB@sqeZdZd
eeddd„Zd„Zd„Zd„Z	e
d„Zd„Zd„Z
d„Zd	„ZRS(s/A dict like object that hold branches heads cache.

    This cache is used to avoid costly computations to determine all the
    branch heads of a repo.

    The cache is serialized on disk in the following format:

    <tip hex node> <tip rev number> [optional filtered repo hex hash]
    <branch head hex node> <open/closed state> <branch name>
    <branch head hex node> <open/closed state> <branch name>
    ...

    The first line is used to check if the cache is still valid. If the
    branch cache is for a filtered repo view, an optional third hash is
    included that hashes the hashes of all filtered revisions.

    The open/closed state is represented by a single letter 'o' or 'c'.
    This field can be used to avoid changelog reads when determining if a
    branch head closes a branch or not.
    cC@sYtt|ƒj|ƒ||_||_||_|dkrLtƒ|_n	||_dS(N(	tsuperRt__init__R
RRRtsetR%(tselftentriesR
RRRQ((s7/usr/lib/python2.7/dist-packages/mercurial/branchmap.pyRa®s			cC@sWy>|j|jj|jƒko<|jtj||jƒkSWntk
rRtSXdS(s¹Is the cache content valid regarding a repo

        - False when cached tipnode is unknown or if we detect a strip.
        - True when cache is up to date or a subset of current repo.N(R
RR4RRRt
IndexErrortFalse(RcR	((s7/usr/lib/python2.7/dist-packages/mercurial/branchmap.pyR¼s
cC@sP|d}t}x3t|ƒD]%}||jkr|}t}PqqW||fS(shReturn tuple with last open head in heads and false,
        otherwise return last closed head and true.iÿÿÿÿ(tTruetreversedR%Rf(RctheadsttipRWRY((s7/usr/lib/python2.7/dist-packages/mercurial/branchmap.pyt
_branchtipÈs
cC@s|j||ƒdS(s“Return the tipmost open head on branch head, otherwise return the
        tipmost closed head on branch.
        Raise KeyError for unknown branch.i(Rk(Rctbranch((s7/usr/lib/python2.7/dist-packages/mercurial/branchmap.pyt	branchtipÔscC@s?||}|s;g|D]}||jkr|^q}n|S(N(R%(RcRlRWRiRY((s7/usr/lib/python2.7/dist-packages/mercurial/branchmap.pytbranchheadsÚs
+cc@s9x2|jƒD]$\}}||f|j|ƒVq
WdS(N(t	iteritemsRk(RctbnRi((s7/usr/lib/python2.7/dist-packages/mercurial/branchmap.pytiterbranchesàscC@s"t||j|j|j|jƒS(s-return an deep copy of the branchcache object(RR
RRR%(Rc((s7/usr/lib/python2.7/dist-packages/mercurial/branchmap.pyREäsc
C@svy<|jt|ƒddtƒ}t|jƒt|jƒg}|jdk	rg|j	t|jƒƒn|j
dj|ƒdƒd}x‚t|j
ƒƒD]n\}}x_|D]W}|d7}||jkrÕd}nd}|j
d	t|ƒ|tj|ƒfƒq­WqšW|jƒ|jjd
d|jt|ƒ|ƒWn3tttjfk
rq}	|jjd|	ƒnXdS(
Ntwt
atomictempRs
iiRtos	%s %s %s
Rs2wrote %s branch cache with %d labels and %d nodes
s couldn't write branch cache: %s
(RRRgRR
tstrRRRR$RJtjointsortedRoR%Rt	fromlocalRR)tlogRRRRRtAbortR+(
RcR	R,R.t	nodecountR6tnodesR4R5R7((s7/usr/lib/python2.7/dist-packages/mercurial/branchmap.pyRJés,

	
c@srtjƒ}|j‰i}|jƒj}x[|D]S}||ƒ\}}|j|gƒj|ƒ|r1|jjˆj|ƒƒq1q1Wt	ˆj
ƒƒ}	x	|jƒD]û\}}
|j|gƒ}t	‡fd†|Dƒƒ}|
jƒ|j
|
ƒ||	}
|
r9t|
ƒ}t	ˆj|
|ƒƒ}||8}nt|ƒ}g|D]}ˆj|ƒ^qL||<|d}||jkr§ˆj|ƒ|_||_q§q§W|j|ƒs*t|_t|_x`|jƒD]O}t‡fd†|Dƒƒ}||jkrÔˆj|ƒ|_||_qÔqÔWntj||jƒ|_tjƒ|}|jjdd|j|ƒdS(sÙGiven a branchhead cache, self, that may have extra nodes or be
        missing heads, and a generator of nodes that are strictly a superset of
        heads missing, this function updates self to be correct.
        c3@s|]}ˆj|ƒVqdS(N(RP(R=R4(R2(s7/usr/lib/python2.7/dist-packages/mercurial/branchmap.pys	<genexpr>siÿÿÿÿc3@s|]}ˆj|ƒVqdS(N(RP(R=R4(R2(s7/usr/lib/python2.7/dist-packages/mercurial/branchmap.pys	<genexpr>7sRs(updated %s branch cache in %.4f seconds
N(ttimeRtrevbranchcacheRSR#R$R%R&R4RbtheadrevsRotsortRItmint	ancestorsRwRR
RRRtvaluesRTRRR)RyR(RcR	trevgent	starttimetnewbranchest
getbranchinfoR>Rltclosesbrancht	topoheadstnewheadrevsRXtbheadsett	uncertaintfloorrevR‚t	bheadrevsRPRRitduration((R2s7/usr/lib/python2.7/dist-packages/mercurial/branchmap.pyRIsL	
 



&
		(N(t__name__t
__module__t__doc__RRRRaRRkRmRfRnRqRERJRI(((s7/usr/lib/python2.7/dist-packages/mercurial/branchmap.pyR˜s	
						s-v1scache/rbc-namesscache/rbc-revss>4sIiiÿÿÿI€R~cB@sJeZdZed„Zd„Zd„Zd„Zd„Zdd„Z
RS(s™Persistent cache, mapping from revision number to branch name and close.
    This is a low level cache, independent of filtering.

    Branch names are stored in rbc-names in internal encoding separated by 0.
    rbc-names is append-only, and each branch name is only stored once and will
    thus have a unique index.

    The branch info for each revision is stored in rbc-revs as constant size
    records. The whole file is read into memory, but it is only 'parsed' on
    demand. The file is usually append-only but will be truncated if repo
    modification is detected.
    The record for each revision contains the first 4 bytes of the
    corresponding node hash, and the record is only used if it still matches.
    Even a completely trashed rbc-revs fill thus still give the right result
    while converging towards full recovery ... assuming no incorrectly matching
    node hashes.
    The record also contains 4 bytes where 31 bits contains the index of the
    branch and the last bit indicate that it is a branch close commit.
    The usage pattern for rbc-revs is thus somewhat similar to 00changelog.i
    and will grow with it but be 1/8th of its size.
    cC@sž|jdkst‚||_g|_tdƒ|_d|_yS|jj	t
ƒ}t|ƒ|_g|jdƒD]}t
j|ƒ^qs|_Wn,ttfk
rÀ|rÁ|j|_qÁnX|jr#y&|jj	tƒ}|jj|ƒWq#ttfk
r}|jjd|ƒq#Xntt|jƒtt|jƒƒ|_|jdkrfg|_nt|jƒ|_td„t|jƒDƒƒ|_dS(NRiss(couldn't read revision branch cache: %s
cs@s!|]\}}||fVqdS(N((R=R>RZ((s7/usr/lib/python2.7/dist-packages/mercurial/branchmap.pys	<genexpr>s(RRRKt_repot_namestarrayt_rbcrevst
_rbcsnameslenRRt	_rbcnamesRRRR RRt_branchinfoRSt
fromstringR)R+Rt_rbcrecsizeRt_rbcrevslent_rbcnamescounttdictt	enumeratet
_namesreverse(RcR	treadonlytbndataRptdataR7((s7/usr/lib/python2.7/dist-packages/mercurial/branchmap.pyRads2			2	cC@sid|_|j2d|_|jjƒt|jjƒ|_t	dƒ|_
|j
jd|jtƒdS(NiRs(
R—R”RR tclearRR“RRœR•R–RšR›(Rc((s7/usr/lib/python2.7/dist-packages/mercurial/branchmap.pyt_clearƒs		
c	C@s`|jj}|t}|tkr/|j|ƒSt|jƒ|tkrU|j|ƒS|j|ƒt	 }t
tt|j|tƒƒ\}}t
|t@ƒ}|r¯|tM}n|dkr¾n•||kry|j||fSWqStk
r|jjjdƒ|jƒqSXn@|jjjd|ƒ|t}|j|3t|j|ƒ|_|j|ƒS(sWReturn branch name and close flag for rev, using and updating
        persistent cache.ssRreferenced branch names not found - rebuilding revision branch cache from scratch
sPhistory modification detected - truncating revision branch cache to revision %s
(R“RR›RRSRR–R™R4t_rbcnodelentunpackt
_rbcrecfmttbuffertboolt
_rbccloseflagt_rbcbranchidxmaskR”ReR)R+R¥RRœ(	RcRPRt	rbcrevidxtreponodet	cachenodet	branchidxRttruncate((s7/usr/lib/python2.7/dist-packages/mercurial/branchmap.pyRSŒs4


!



cC@s«|jj}|j|ƒ\}}||jkr@|j|}n,t|jƒ}|jj|ƒ||j|<|j|ƒ}|rŽ|tO}n|j	|||ƒ||fS(s7Retrieve branch info from changelog and update _rbcrevs(
R“RRSR RR”R$R4R«t
_setcachedata(RcRPRRZRR°R®((s7/usr/lib/python2.7/dist-packages/mercurial/branchmap.pyR™¶s

cC@sÔ|t}tdƒ}|jtt||ƒƒt|jƒ|tkr||jjdt|jj	ƒtt|jƒƒn||j||t+t
|j|ƒ|_|jjƒ}|rÐ|j
d|jƒndS(s:Writes the node's branch data to the in-memory cache data.Rsswrite-revbranchcacheN(R›R•RštpackR¨RR–RGR“RRRœtcurrenttransactiontaddfinalizeRJ(RcRPR4R°R­trecttr((s7/usr/lib/python2.7/dist-packages/mercurial/branchmap.pyR²Æs
c
C@sé|j}d
}d}z³ym|jt|jƒkr\d}|jdtƒ}|jdkrÇ|jjt	dƒ}|j
ƒ|jkr”|jdƒqÇ|j
ƒ|jjdt	ƒd|_d|_n|jdkr|jjtdtƒ|jjt	d	ƒ}n|jdjd
„|j|jDƒƒƒ|j
ƒ|_|j
ƒt|jƒ|_n|jt}|t|jƒkr„d}|d
kr¥|jdtƒ}ntt|jƒt|jƒtƒ}|jjtdƒ}|j
ƒ|krM|jjdt|fƒ|j|ƒ|j
ƒ|kr@d}|j|ƒn|jƒn|t}|j|j||!ƒ|j
ƒ||_nWn?tttjtjfk
rÆ}	|jjd||	fƒnXWd
|d
k	rä|jƒnXd
S(s!Save branch cache if it is dirty.ts namestwaititabss%s changed - rewriting it
t
ignoremissingtwbcs@s|]}tj|ƒVqdS(N(RRx(R=RZ((s7/usr/lib/python2.7/dist-packages/mercurial/branchmap.pys	<genexpr>ìsstruncating %s to %s
s+couldn't write revision branch cache%s: %s
N( R“RRRR”twlockRfRtopenR˜ttellR—RJRR)R+Rœt
unlinkpathR–RgRvR›RRtseekR±RRRRzt	LockErrortrelease(
RcR·R	R½tstepR,R?RHtendR7((s7/usr/lib/python2.7/dist-packages/mercurial/branchmap.pyRJÖs`	
	





!N(RR‘R’RgRaR¥RSR™R²RRJ(((s7/usr/lib/python2.7/dist-packages/mercurial/branchmap.pyR~Ms			*		(#t
__future__RR•tstructR}R4RRRRR¸RRRtcalcsizeR³R§RRRRBROR_RžRt_rbcversionR˜R–R¨R›R¦R¬R«tobjectR~(((s7/usr/lib/python2.7/dist-packages/mercurial/branchmap.pyt<module>s6"						4

		 «