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/dirstate.pyc

x7_c@@sddlmZddlZddlZddlZddlZddlmZddlm	Z	ddl
mZmZm
ZmZmZmZmZmZejZejZdZejZdefd	YZd
efdYZdZd
ZdZdefdYZdS(i(tabsolute_importNi(t_(tnullid(tencodingterrortmatchtosutiltparserstpathutiltscmutiltutilit	repocachecB@seZdZdZRS(sfilecache for files in .hg/cC@s|jj|S(N(t_openertjoin(tselftobjtfname((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyR
$s(t__name__t
__module__t__doc__R
(((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyR"st	rootcachecB@seZdZdZRS(s*filecache for files in the repository rootcC@s
|j|S(N(t_join(RRR((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyR
)s(RRRR
(((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyR'scC@sH|j\}}ztj|jSWdtj||j|XdS(s!Get "now" timestamp on filesystemN(tmkstemptostfstattst_mtimetclosetunlink(tvfsttmpfdttmpname((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt	_getfsnow,s

cC@s@ytj|SWn(tk
r;td|jDSXdS(s4Compute the nonnormal dirstate entries from the dmapcs@s;|]1\}}|ddks/|ddkr|VqdS(itniiN((t.0Rte((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pys	<genexpr>:s	N(RtnonnormalentriestAttributeErrortsett	iteritems(tdmap((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyR#5s
cC@sq|tjjdkray|d|tfSWqatk
r]}|jtjkr^q^qaXn||tfS(sOpen  file to be read according to HG_PENDING environment variable

    This opens '.pending' of specified 'filename' only when HG_PENDING
    is equal to 'root'.

    This returns '(fp, is_pending_opened)' tuple.
    t
HG_PENDINGs
%s.pending(RtenvirontgettTruetIOErrorterrnotENOENTtFalse(trootRtfilenametinst((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt_trypending=s
tdirstatecB@seZdZdZdZdZedZedZedZ	edZ
edZed	d
Z
edZedZd
ZeddZedZedZedZedZdZdZedZdZdGdZdZdZdZdZ dZ!dZ"dZ#d Z$e%d!Z&d"Z'd#Z(d$Z)d%Z*d&Z+d'Z,d(Z-d)Z.d*Z/d+Z0d,Z1d-Z2d.Z3d/Z4d0Z5d1Z6d2Z7e8dGd3Z9e8dGd4Z:e8e8d5Z;d6Z<dGd7Z=d8Z>d9Z?d:Z@d;ZAd<ZBd=ZCd>ZDeEd?ZFd@ZGdAZHdBZIdCdCdDZJdCdCdEZKdCdCdFZLRS(HcC@s||_||_||_tj||_|jdd}|rQ||_nt|_	t|_
d|_||_i|_
d|_d|_d|j|_i|_d|_d|_dS(sCreate a new dirstate object.

        opener is an open()-like callable that can be used to open the
        dirstate file; root is the root of the directory tracked by
        the dirstate.
        tuitforcecwdiR4s
%s.pendingN(Rt	_validatet_rootRtnormasprefixt_rootdirtconfigt_cwdR/t_dirtyt_dirtyplt_lastnormaltimet_uit
_filecachet_parentwriterst	_filenamet_pendingfilenamet_plchangecallbackstNonet_origplt_pendingmode(RtopenerR5R0tvalidateR6((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt__init__Os$												cC@s|jd7_dS(s>Marks the beginning of a set of changes that involve changing
        the dirstate parents. If there is an exception during this time,
        the dirstate will not be written when the wlock is released. This
        prevents writing an incoherent dirstate where the parent doesn't
        match the contents.
        iN(RB(R((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pytbeginparentchangenscC@s%|jdkr!|jd8_ndS(sMarks the end of a set of changes that involve changing the
        dirstate parents. Once all parent changes have been marked done,
        the wlock will be free to write the dirstate on release.
        iiN(RB(R((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pytendparentchangewscC@s
|jdkS(ssReturns true if the dirstate is in the middle of a set of changes
        that modify the dirstate parent.
        i(RB(R((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pytpendingparentchangescC@s|j|jS(sYReturn the dirstate contents as a map from filename to
        (state, mode, size, time).(t_readt_map(R((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyRPs
cC@s|j|jS(N(ROt_copymap(R((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyRQs
cC@s
t|jS(N(R#RP(R((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt
_nonnormalsetscC@sy
tj}Wntk
r nX||jtjtjSi}tj}x@|jjD]/\}}|ddkrY||||<qYqYWd|d<|S(Nitrt.(	Rtmake_file_foldmapR$RPR
tnormcasespectnormcasefallbacktnormcaseR&(RtmakefilefoldmaptfRXtnamets((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt_filefoldmaps


	
cC@s7i}tj}x!|jD]}||||<qW|S(N(R
RXt_dirs(RRZRXR[((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt_dirfoldmaps
	tbranchcC@sSy |jjdjpdSWn,tk
rN}|jtjkrJndSXdS(NR`tdefault(RtreadtstripR,R-R.(RR2((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt_branchs cC@sy|j}|jd}|jt|}|dkrU|d |dd!fS|dkr|dkrtjtdnWn+tk
r}|jtj	krqnXt
t
gS(Ni(iis(working directory state appears damaged!(t_opendirstatefileRbRtlenRtAbortRR,R-R.R(Rtfptsttlterr((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt_pls

cC@stj|jdS(NRS(R
tdirsRP(R((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyR^scC@s|jS(N(R^(R((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyRmss	.hgignorecC@s[|j}|stjSg|D]}d|^q }tj|jdg|d|jjS(Ns
include:%sttwarn(t_ignorefilesR
tnevertmatchmodRR8R@Ro(RtfilesRZtpats((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt_ignores
cC@s"|jjddo!tjdkS(NR5tslasht/(R@t
configboolRtsep(R((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt_slashscC@stj|jS(N(R
t	checklinkR8(R((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt
_checklinkscC@stj|jS(N(R
t	checkexecR8(R((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt
_checkexecscC@stj|jdS(Ns.hg(R
tfscasesensitiveR(R((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt
_checkcasescC@s|j|S(N(R:(RRZ((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyRsc@stjr%jr%fd}|S|jrMfd}|Sjrlfd}|SSdS(Nc@sZyBtjj|}tj|r.dStj|rAdSWntk
rUnXdS(NRjtxRn(RtlstatRR
t
statislinkt
statisexectOSError(RRi(R(s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyRZs
c@s9tjjj|rdSd|kr5dSdS(NRjRRn(RtpathtislinkR(R(tfallbackR(s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyRZs
c@s6d|krdStjj|r2dSdS(NRjRRn(R
tisexecR(R(RR(s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyRZs
(R|R~(Rt
buildfallbackRZ((RRs6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pytflagfuncs
			cC@s
tjS(N(Rtgetcwd(R((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyR<scC@si|j}||jkrdS|j}tj|sD|tj7}n|j|ra|t|S|SdS(sReturn the path from which a canonical path is calculated.

        This path should be used to resolve file patterns or to convert
        canonical paths back to file paths for display. It shouldn't be
        used to get real file paths. Use vfs functions instead.
        RnN(R<R8R
tendswithsepRRyt
startswithRf(Rtcwdtrootsep((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyRs		cC@sM|dkr|j}ntj|j||}|jrItj|S|S(N(RFRR
tpathtoR8Rztpconvert(RRZRR((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyR's	
cC@s|jj|ddS(sReturn the current state of key (a filename) in the dirstate.

        States are:
          n  normal
          m  needs merging
          r  marked for removal
          a  marked for addition
          ?  not tracked
        t?i(R(RPR*(Rtkey((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt__getitem__/s
cC@s
||jkS(N(RP(RR((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt__contains__;scc@s#xt|jD]}|VqWdS(N(tsortedRP(RR((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt__iter__>scC@s
|jjS(N(RPR&(R((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyR&BscC@s#g|jD]}|j|^q
S(N(RlR7(Rtp((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pytparentsEscC@s|j|jdS(Ni(R7Rl(R((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pytp1HscC@s|j|jdS(Ni(R7Rl(R((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pytp2KscC@stj|jS(N(RttolocalRd(R((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyR`NscC@sC|jdkrtdnt|_|_|jd}|jdkrY|j|_n||f|_i}|tkr?|tkr?x|j	j
D]\}}|ddkr||jkr|j|||<n|j|q|ddkr|ddkr||jkr(|j|||<n|j
|qqWn|S(	sSet dirstate parents to p1 and p2.

        When moving from two parents to one, 'm' merged entries a
        adjusted to normal and previous copy records discarded and
        returned by the call.

        See localrepo.setparents()
        isEcannot set dirstate parent without calling dirstate.beginparentchangeitmR iiN(RBt
ValueErrorR+R=R>RlRGRFRRPR&RQtnormallookuptadd(RRRtoldp2tcopiesRZR\((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt
setparentsQs&	
 cC@stj||_|jdddtdt}yB|j|jd|j|jd}|rq|jnWn|j	nXdS(NR`twt
atomictempt
checkambigs
Rd(
Rt	fromlocalRdRR+twriteRRAtrefreshtdiscard(RR`RZtce((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt	setbranchrs


cC@snt|j|j|j\}}|jdk	ra|j|kra|jtjt	dn||_|S(Ns1working directory state may be changed parallelly(
R3R8RRCRHRFRRRgR(RRhtmode((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyRes!
	cC@si|_i|_y.|j}z|j}Wd|jXWn,tk
rn}|jtjkrjndSX|sydStj	t
drt
jt|d|_ntj
t
j}||j|j|}|js||_ndS(Ntdict_new_presizediG(RPRQReRbRR,R-R.R
tsafehasattrRRRftnogctparse_dirstateR>Rl(RRhRiRkRR((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyROs&			c	C@sXx-dD]%}||jkrt||qqWd
|_t|_d
|_d|_dS(NRPRQR]R_RdRlR^RuRRi(	RPRQR]R_RdRlR^RuRR(t__dict__tdelattrR?R/R=RBRFRG(Rta((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt
invalidates
			cC@sU||krdSt|_|dk	r5||j|<n||jkrQ|j|=ndS(s=Mark dest as a copy of source. Unmark dest if source is None.N(R+R=RFRQ(Rtsourcetdest((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pytcopys	cC@s|jj|dS(N(RQR*RF(Rtfile((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pytcopiedscC@s|jS(N(RQ(R((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyRscC@ss||dkr2d|jkr2|jj|nd|jkrotj|}||jkro|j|=qondS(Ns?rR^R](RR^tdelpathR
RXR](RRZtnormed((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt	_droppathscC@sM||}|dks"|dkrtj|||jkrZtjtd|nxntj|D]Z}||jkrPn||jkrj||dkrjtjtd||fqjqjWn|dkrd|j	kr|jj
|nt|_t
|||||j|<|dks6|dkrI|jj|ndS(	NRRSs directory %r already in dirstates#file %r in dirstate clashes with %rs?rR^R i(R	t
checkfilenameR^RRgRR
tfinddirsRPRtaddpathR+R=t
dirstatetupleRRR(RRZtstateRtsizetmtimetoldstatetd((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt_addpaths"

#	cC@stj|j|}|j}|j|d|j|jt@|t@||jkrd|j|=n||j	kr|j	j
|n||jkr||_ndS(sMark a file normal and clean.R N(RRRRRtst_modetst_sizet
_rangemaskRQRRtremoveR?(RRZR\R((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pytnormals	
cC@sP|jdtkr||jkr|j|}|ddkr|dd
kr|jj|}|ddkr|j|n |ddkr|j|n|r|j||ndS|ddks|dd	kr|ddkrdSn|j|d	ddd||jkr*|j|=n||j	krL|j	j
|ndS(s'Mark a file normal, but possibly dirty.iiRSiiiNRR (ii(RlRRPRQR*tmergetotherparentRRRRR(RRZtentryR((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyRs$"
 0
cC@s|jdtkr/tjtd|n||krg||dkrg|j|ddddn|j|dddd||jkr|j|=ndS(	s3Mark as coming from the other parent, always dirty.is1setting %r to other parent only allowed in mergesR RiiiN(RlRRRgRRRQ(RRZ((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyRs
cC@s9|j|dddd||jkr5|j|=ndS(sMark a file added.RiiN(RRQ(RRZ((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyR'scC@st|_|j|d}|jdtkr||jkr|j|}|ddkrdd}q|ddkr|ddkrd}qntdd|d|j|<|jj||dkr||j	kr|j	|=nd	S(
sMark a file removed.iiRiR iiRSN(
R+R=RRlRRPRRRRRQ(RRZRR((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyR-s	
"
	 cC@s-|jdtkr |j|S|j|S(sMark a file merged.i(RlRRR(RRZ((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyR>s
cC@st||jkrpt|_|j||j|=||jkrQ|jj|n||jkrp|j|=qpndS(sDrop a file from the dirstateN(RPR+R=RRRRRQ(RRZ((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pytdropDs	

c
C@s#|dkr3tjjtjj|j|}n|s|rd|kr|jdd\}}|j|t|d}|d|}q|}nd|kr|jdd\}}|j|t|t	}|jd|}	|dt
j||	}nt
j||j}|||<|S(NRwi(RFRRtlexistsR
R8trsplitt
_normalizeR/R+R
tfspath(
RRRt
ignoremissingtexistststoremapRRZtfoldedRS((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt
_discoverpathOs '	
cC@sdtj|}|jj|d}|dkr`|r?|}q`|j|||||j}n|S(N(R
RXR]R*RFR(RRtisknownRRRR((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt_normalizefileis	cC@stj|}|jj|d}|dkrH|jj|d}n|dkr|rc|}q|j|||||j}n|S(N(R
RXR]R*RFR_R(RRRRRRR((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyRts	cC@s |jr|j|||S|S(sL
        normalize the case of a pathname when on a casefolding filesystem

        isknown specifies whether the filename came from walking the
        disk, to avoid extra filesystem access.

        If ignoremissing is True, missing path are returned
        unchanged. Otherwise, we try harder to normalize possibly
        existing path components.

        The normalized case is determined based on the following precedence:

        - version of name already stored in the dirstate
        - version of name stored on disk
        - version provided via command arguments
        (RR(RRRR((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt	normalizes	cC@sbi|_t|_d|jkr4t|dni|_ttg|_d|_t	|_
dS(NR^i(RPR%RRRRRQRRlR?R+R=(R((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pytclears			cC@s|dkr1|}|j}|j||_n|jdkrO|j|_n|tf|_x7|D]/}||kr|j|qe|j|qeWt|_	dS(N(
RFR?RRGRlRRRR+R=(RtparenttallfilestchangedfilestlastnormaltimeRZ((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pytrebuilds	

cC@s|js
dS|j}|rt|j}|j}xr|jD]d\}}|ddkrA|d|krAt|d|d|dd||<|jj|qAqAWd|_	|j
d|jf|jdd	dS|j|d
dtdt}|j|dS(
NiR iiiiR4tlocationtplainRRR(
R=RCRRRPR&RRRRR?taddfilegeneratort_writedirstateR+(RttrR1tnowR'RZR"Ri((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyRs 			 %	cC@s||j|<dS(s%add a callback to be called when the wd parents are changed

        Callback will be called with the following arguments:
            dirstate, (oldp1, oldp2), (newp1, newp2)

        Category is a unique identifier to allow overwriting an old callback
        with a newer callback.
        N(RE(Rtcategorytcallback((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pytaddparentchangecallbacks	cC@s|jdk	ri|j|jkrix9t|jjD]"\}}|||j|jq7Wd|_ntj|jt	@}|j
jddd}|dkr=x|jjD]\}}|ddkr|d|krddl
}|j
}	t|	t|	|}
|
|}|j||	|}PqqWn|jtj|j|j|j|t|j|_|jd|_t|_|_dS(Ntdebugsdirstate.delaywriteiR i(RGRFRlRRER&R
RRRR@t	configintRPttimetinttsleepRRt
pack_dirstateRQR#RRRR?R/R=R>(RRitcRRt
delaywriteRZR"Rtclocktstarttend((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyRs*!" 
(
	cC@sT|dkrtS|j|r#tSx*tj|D]}|j|r3tSq3WtS(NRT(R/RuR+R
R(RRZR((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt
_dirignorescC@sg}tjj|jdr:|j|jdnxf|jjdD]R\}}|dkst|jdrM|jtjj|j	t
j|qMqMW|S(Ns	.hgignoreR5tignoresignore.(RRRRtappendR@tconfigitemsRR
R:R
t
expandpath(RRsR[R((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyRps/cC@s	tj|j}t}x|r|j}tj||jjdt	}x|D]\}}}tj
|d\}	}
|	dkr|
|krX|j|
qXqXntj|j
dg|gd|jj}||rX|||fSqXW|j|q!WdS(Nt
sourceinfotglobt
subincludeRnRoi(NiRn(tcollectionstdequeRpR%tpopleftRrtreadpatternfileR@RoR+t	_patsplitRRR8RRF(RRZRstvisitedtitpatternstpatterntlinenotlinetkindRR((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt_ignorefileandlines$			c$C@sWd}|j}|j}|j}tj}tj}tj}	tj}
tj	}|j
}g}
|
j}g}|j}|jr|j
r|j}nd}t|j}|jd\}}x|t|kr]|t|kr]||d}|||kr|d7}qnx0|t|krO||j|rO||=q W|d7}qW|sqd|kr}dg}ntj|}d|d<d}x|D]}|r|dkr||tt}n|}||krqny|||}||j}||	krW||kr1d||<n|rD||n|||fnQ||
kso||kr||||<n,||||||krd||<nWqtk
r1}||krd||<q2|dkrtj|}n||kr|r||n||q2|||jqXqW|jrJ|j
rJi}xy|jD]k\}}|dkr|q^ntj|}|j |} | dkrt!} | ||<n| j"|q^Wxz|jD]i\}!} t| dkrxH| D]=}"|j#|"|!td|j$}#|"|#krd||"<qqWqqWn||
|fS(	sGet stat data about the files explicitly specified by match.

        Return a triple (results, dirsfound, dirsnotfound).
        - results is a mapping from filename to stat result. It also contains
          listings mapping subrepos and .hg to None.
        - dirsfound is a list of files found to be directories.
        - dirsnotfound is a list of files that the dirstate thinks are
          directories and that were not found.cS@std}tj|r*td}nxtj|rHtd}nZtj|rftd}n<tj|rtd}ntj|rtd}ntd|S(Ntunknownscharacter devicesblock devicetfifotsockett	directorys"unsupported file type (type is %s)(RtstattS_ISCHRtS_ISBLKtS_ISFIFOtS_ISSOCKtS_ISDIR(RR((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pytbadtype4siRwiRTs.hgN(ii(%texplicitdirtbadRPRRRtS_IFMTtS_IFDIRtS_IFREGtS_IFLNKRRtisexactRRRFRRstsortRfRtdicttfromkeysR/R+RRR
RmtstrerrorR&RXR*R%RRR_($RRtsubreposRt	matchedirtbadfnR'RtgetkindtdirkindtregkindtlnkkindR
t	dirsfoundtfoundaddtdirsnotfoundtnotfoundaddRRsRtjtsubpathtresultstalldirstfftnfRiRR2RRZtnctpathstnormRR((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt
_walkexplicit*s
												
'
(







	

c@sw|rtjtj}n-|r6jj}ntjtj}jjj	jtj	t
j}tj
tjtjjt}}	jrt}tj}njrt}	n|r
jr
j
jt}	nj
dj|\
}
}|	oG|
pF|}	g|
D]}||dsQ|^qQ}
	

fd}
x7|
D]/\}}
p||k}|
|g|qWx|D]
}
|=qW
d=|	rs|rs
r/r/j}n1gD]$}|
kr6|r6|^q6}|j|r!tjjdt}xt|D]}r|tt
krd
|<q|j |ry||
|<Wqt!k
rd
|<qXqd
|<qWqst|j"}x@tj#g|D]}|^q@D]}|
|<qYWn
S(s3
        Walk recursively through the directory tree, finding all files
        matched by match.

        If full is False, maybe skip some known-clean files.

        Return a dict mapping filename to stat-like object (either
        mercurial.osutil.stat instance or return value of os.stat()).

        ic@sR|j}xB|rM|j}d}|dkr9d}nd}y"|dtd|}WnStk
r}|jtjtjfkrjj	||j
qnnXx|D]\}}}	r|r|d|p|tt}
n|r|d|p|}
|

kr|kr|
sZ	rM	|
n||
n|
krCsx|
rCd
|
<qCqF|ks|kr|
krs|
r|	
|
<qqCs|
rC|
rC|s
|
tt}
n|	
|
<qCqF|
krFs6|
rFd
|
<qFqqWqWdS(NRTRns.hgRtskipRw(RtpopRFR+RR-tEACCESR.RRR"R/(tworkt
alreadynormedtwaddtndR8tentriesR2RZRRiR3(R'R'RR
tlistdirR)Rtmatchalwaystmatchfnt	matchtdirRt
normalizefileR(R0R(s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyttraversesL			"


s.hgtcachedN($R
RqRuRtalwaysRBttraversedirRPRR@RRRRRRRR/RR+tprefixRRRRFR7tkeysRRtpathauditorR8titertcheckRtnextt	statfiles(RRR#R
tignoredtfullt	dirignoreRtexactt	skipstep3R;R,RRER>R<R\tvisitRZt
audit_pathR3RRi((R'R'RR
R@R)RRARBRCRRDR(R0Rs6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pytwalksz													
					)9.

1


/c$	C@s|||}}}gggggf\}	}
}}}ggg}}
}|j}|	j}|
j}|j}|j}|j}|j}|
j}|j}|j}|j}|j}|j}|j}|p|jd
k	}x|j	||||d|j
D]\}}||kr`|s.||rP||rP|rZ||qZq||qn||}|d} |d}!|d}"|d}#|r| dkr||q| dkr|"dkr|"|jkr|"|jt@ks|!|j
Ad@r|s|"d	ks||kr(||q|#|jkrW|#|jt@krW||q|j|krs||q|r||qq| d
kr||q| dkr||q| dkr||qqW|	tj|
|||
|||fS(s|Determine the status of the working copy relative to the
        dirstate and return a pair of (unsure, status), where status is of type
        scmutil.status and:

          unsure:
            files that might have been modified since the dirstate was
            written, but need to be read to be sure (size is the same
            but mtime differs)
          status.modified:
            files that have definitely been modified since the dirstate
            was written (different size or mode)
          status.clean:
            files that have definitely not been modified since the
            dirstate was written
        RQiiiitnmaR i@iRRRSN(RPRRSRR~RQR?RHRFRWR&RRRRR	tstatus($RRR#RPtcleanR
tlistignoredt	listcleantlistunknowntlookuptmodifiedtaddedtremovedtdeletedR'tladdtmaddtaaddtuaddtiaddtraddtdaddtcaddtmexactRRR}tcopymapRRQtfnRittRRRR((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyRYNsl$														
	





"
"



c@s|j|jrjS|j}|jrZg|D]}|kr>|^q>S|jrtfd|Drt|SgD]}||r|^qS(sT
        return files in the dirstate (in whatever state) filtered by match
        c3@s|]}|kVqdS(N((R!Rm(R'(s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pys	<genexpr>s(RPRGRJRsRRItalltlist(RRRsRZ((R's6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pytmatchess	
#(
cC@s|r
|jS|jSdS(N(RDRC(RR((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt_actualfilenamesRncC@st|dks*t|dks*t|j|}|j|j|ddtdt|r|jd|jf|jdd|j|ddn|jj	||j||jj
|dS(	s2Save current dirstate into backup file with suffixiRRRR4RRN(RftAssertionErrorRrRRR+RRCtregistertmpRttryread(RRtsuffixRIR1((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt
savebackups*
cC@skt|dks*t|dks*t|j|j|}|jj||j||dtdS(s+Restore dirstate by backup file with suffixiRN(RfRsRRrRtrenameRCR+(RRRvRIR1((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt
restorebackups
*
cC@sIt|dks*t|dks*t|jj||j|dS(sClear backup file with suffixiN(RfRsRRRC(RRRvRI((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pytclearbackups*N(MRRRKRLRMRNt
propertycacheRPRQRRR]R_RRdRlR^RmRRuRzR|R~RRRR<RRFRRRRR&RRRR`RRRReRORRRRRRRRRRRRRRR/RRRRRRRRRRpRR7R+RWRYRqRrRwRyRz(((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyR4Ms										"									!				.	
	
														
			!	
				\		(t
__future__RRR-RRti18nRtnodeRRnRRRRrRRRR	R
R{t	filecacheRRRRRR#R3tobjectR4(((s6/usr/lib/python2.7/dist-packages/mercurial/dirstate.pyt<module>s":