\x89\x50\x4E\x47\x0D\x0A\x1A\x0A PNG  \x89\x50\x4E\x47\x0D\x0A\x1A\x0A ó 1è3\c@@s ddlmZddlZddlZddlmZddlmZmZm Z m Z d„Z d„Z d„Zdd „Zdd „Zdd „Zdd „Zied 6ed6ed6ed6ed6Zdd„Zdefd„ƒYZejƒZd„ZdS(i(tabsolute_importNi(tnullrev(tobsoletetphasestpycompatttagscC@s>tj|dƒ}|jj|tjƒ}t|ƒ}||BS(saRevision candidates to be hidden This is a standalone function to allow extensions to wrap it. Because we use the set of immutable changesets as a fallback subset in branchmap (see mercurial.branchmap.subsettable), you cannot set "public" changesets as "hideable". Doing so would break multiple code assertions and lead to crashes.R(Rtgetrevst _phasecachet getrevsetRtlocalhiddenphasest frozenset(trepot obsoletest internals((s8/usr/lib64/python2.7/site-packages/mercurial/repoview.pyt hideablerevss  c@sÙ|j}tƒ}|jg|djƒD]}|jƒ^q)ƒ|jg|jjƒD]}|j|ƒ^qXƒi}tj |j ||iƒ|rÕ|j|j ‰‰|j‡‡fd†|jƒDƒƒn|S(s=revisions blocking hidden changesets from being filtered c3@s/|]%}|dˆkrˆ|dƒVqdS(iN((t.0tt(tnodemaptrev(s8/usr/lib64/python2.7/site-packages/mercurial/repoview.pys 1sN( t changelogtsettupdatetNonetparentsRt _bookmarkstvaluesttagsmodt readlocaltagstuiR(R tcltpinnedtpartbmR((RRs8/usr/lib64/python2.7/site-packages/mercurial/repoview.pyt pinnedrevs$s  02)cC@sot|ƒ}x\|rjxO||jƒƒD];}|tkr(||kr(|j|ƒ|j|ƒq(q(WqWdS(sQreveals contiguous chains of hidden ancestors of 'revs' by removing them from 'hidden' - pfunc(r): a funtion returning parent of 'r', - hidden: the (preliminary) hidden revisions, to be updated - revs: iterable of revnum, (Ancestors are revealed exclusively, i.e. the elements in 'revs' are *not* revealed) N(tlisttpopRtremovetappend(tpfuncthiddentrevststacktp((s8/usr/lib64/python2.7/site-packages/mercurial/repoview.pyt_revealancestors5s   cC@s†t|ƒ}|r|t|t|ƒƒ}|r;||8}n|jj}|jj|tjƒ}||}t |||ƒnt |ƒS(sbcompute the set of hidden revision to filter During most operation hidden should be filtered.( RRR!Rt parentrevsRRRt mutablephasesR+R (R tvisibilityexceptionsR'R&tmutabletvisible((s8/usr/lib64/python2.7/site-packages/mercurial/repoview.pyt computehiddenGs    cC@sRt|dƒ}tj|ƒrJ|jj|tjƒ}t|t|ƒBƒS|SdS(s†compute the set of revision that should be filtered when used a server Secret and hidden changeset should not pretend to be here.R0N(t filterrevsRt hassecretRRtremotehiddenphasesR (R R.thiddenstsecrets((s8/usr/lib64/python2.7/site-packages/mercurial/repoview.pytcomputeunservedYs c@sUtˆjjdƒrNˆjj‰tˆdƒ}t‡‡fd†|DƒƒStƒS(Nitbasec3@s$|]}ˆˆ|ƒr|VqdS(N((Rtr(tgetphaseR (s8/usr/lib64/python2.7/site-packages/mercurial/repoview.pys ls(tanyRt phaserootstphaseR2R (R R.t maymutable((R:R s8/usr/lib64/python2.7/site-packages/mercurial/repoview.pytcomputemutablefs  c@s‰|j‰tˆƒ}xF|jjdD]4}|r&t|t‡fd†|Dƒƒƒ}q&q&Wtd|ƒ}ttj|tˆƒƒƒS(s.Everything impactable by mutable revision The immutable filter still have some chance to get invalidated. This will happen when: - you garbage collect hidden changeset, - public phase is moved backward, - something is changed in the filtering (this could be fixed) This filter out any mutable changeset and any public changeset that may be impacted by something happening to a mutable revision. This is achieved by filtered everything with a revision number egal or higher than the first mutable changeset is filtered.ic3@s|]}ˆj|ƒVqdS(N(R(RR9(R(s8/usr/lib64/python2.7/site-packages/mercurial/repoview.pys ƒsi( RtlenRR<tmintmaxR Rtxrange(R R.t firstmutabletroots((Rs8/usr/lib64/python2.7/site-packages/mercurial/repoview.pytcomputeimpactableos  ,R0svisible-hiddentservedt immutableR8cC@sV||jkrKt|}|r/||j|ƒS||jƒƒ|j| repo.__class__.method(repoview) The inheritance has to be done dynamically because `repo` can be of any subclasses of `localrepo`. Eg: `bundlerepo` or `statichttprepo`. cC@sctj|d|ƒtj|d|ƒtj|ddƒtj|ddƒtj|d|ƒdS(Nt_unfilteredrepoRLt _clcachekeyt_clcachet_visibilityexceptions(tobjectt __setattr__R(tselfR RLR.((s8/usr/lib64/python2.7/site-packages/mercurial/repoview.pyt__init__Äs  c C@sù|j}|j}|j}t|ƒ}||dd}t||j|jƒ}|j}||t|ƒ|j f}|dk r¨|j|k sŸ||j kr¨d}n|dkrõt j |ƒ}||_ tj|d|ƒtj|d|ƒn|S(s_return a filtered version of the changeset this changelog must not be used for writingiiRQRPN(RORtindexR@R2RLRRRQthasht_delayedRRPtcopyt filteredrevsRSRT( RUtunfit unfichangelogt unfiindextunfilentunfinodeR(Rtnewkey((s8/usr/lib64/python2.7/site-packages/mercurial/repoview.pyRÎs"         cC@s|jS(s&Return an unfiltered version of a repo(RO(RU((s8/usr/lib64/python2.7/site-packages/mercurial/repoview.pyRKëscC@s0||jkr| r|S|jƒj||ƒS(s)Return a filtered version of a repository(RLRKtfiltered(RUtnameR.((s8/usr/lib64/python2.7/site-packages/mercurial/repoview.pyRbïscC@s)d|jjtj|jƒ|jƒfS(Ns <%s:%s %r>(t __class__t__name__RtsysstrRLRK(RU((s8/usr/lib64/python2.7/site-packages/mercurial/repoview.pyt__repr__õs cC@st|j|ƒS(N(tgetattrRO(RUtattr((s8/usr/lib64/python2.7/site-packages/mercurial/repoview.pyt __getattr__ûscC@st|j||ƒS(N(tsetattrRO(RURitvalue((s8/usr/lib64/python2.7/site-packages/mercurial/repoview.pyRTþscC@st|j|ƒS(N(tdelattrRO(RURi((s8/usr/lib64/python2.7/site-packages/mercurial/repoview.pyt __delattr__sN( Ret __module__t__doc__RRVtpropertyRRKRbRgRjRTRn(((s8/usr/lib64/python2.7/site-packages/mercurial/repoview.pyRN¡s!      cC@s:|tkr2dt|fd„ƒY}|t| s(  "        f