\x89\x50\x4E\x47\x0D\x0A\x1A\x0A PNG  \x89\x50\x4E\x47\x0D\x0A\x1A\x0A  13\c@@s=dZddlmZddlmZddlmZddlmZm Z m Z m Z m Z m Z mZmZmZmZmZmZdejfdYZd eejfd YZd eejfd YZd e j fdYZde jfdYZdefdYZdddZdZ dS(s~Repository class for "in-memory pull" of one local repository to another, allowing operations like diff and log with revsets. i(tabsolute_importi(t_(tnullid( t changelogtcmdutiltencodingterrortfilelogt localrepotmanifesttmdifftpathutiltrevlogtutiltvfst unionrevlogcB@steZdZdZdZd edZdZdZ d d d dZ d dZ dZ d Z RS( c C@stj|}tjj|||||_t|}|d|_t|_x<|jD]1}|jj |}|\}} } } } } }}|d@}|dkr|}n || }|dk r|| } n||j kr|jj |j |q]n|jj | }|jj |}|d| | ||j||j||f}|j j|||j |<|jj ||d7}q]WdS(Nii(tvfsmodt readonlyvfsR t__init__trevlog2tlent repotiprevtsett bundlerevstindextNonetnodemaptaddtnodetrevtappend(tselftopenert indexfileRt linkmappertntrev2Rt_startt_csizetrsizetbasetlinkrevtp1revtp2revRtflagstlinktp1nodetp2nodete((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyR#s4          $ cC@s;||jkr"tjj||S|jj|j|S(N(RR t_chunkRR(RR((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyR1QscC@s||jkr[||jkr[|jj|jj|j||jj|j|S||jkr||jkr|j||Stj|j||j|S(s1return or calculate a delta between two revisions( RRtrevdiffRRt baserevdiffR ttextdifftrevision(Rtrev1R$((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyR2Vs cC@st|tr'|}|j|}n|}|j|}|tkrLdS||jkr|jj|}|||f|_n|j |}|S(sTreturn an uncompressed revision of a given node or revision number. t( t isinstancetintRRRRRR5t_revisioncachet baserevision(Rt nodeorrevt_dftrawRRttext((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyR5as cC@stjj||S(N(R R5(RR<((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyR;wscC@stjj|||S(N(R R2(RR6R$((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyR3}scC@s tdS(N(tNotImplementedError(RR?t transactionR-tp1tp2td((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyt addrevisionscC@s tdS(N(R@(RtdeltasRAt addrevisioncb((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pytaddgroupscC@s tdS(N(R@(RRtminlink((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pytstripscC@s tdS(N(R@(R((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyt checksizesN(t__name__t __module__RR1R2RtFalseR5R;R3RERHRJRK(((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyR"s .      tunionchangelogcB@s#eZdZdZdZRS(cC@sHtjj||d}tj|}tj|||j||dS(N(RRRRR!(RR topener2R"t changelog2((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyRs cC@stjj||S(N(RR5(RR<((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyR;scC@stjj|||S(N(RR2(RR6R$((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyR3s(RLRMRR;R3(((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyROs  t unionmanifestcB@s#eZdZdZdZRS(cC@sBtjj||tj|}tj|||j||dS(N(R tmanifestrevlogRRR!(RR RPR"t manifest2((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyRscC@stjj||S(N(R RSR5(RR<((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyR;scC@stjj|||S(N(R RSR2(RR6R$((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyR3s(RLRMRR;R3(((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyRRs  t unionfilelogcB@s,eZdZdZdZdZRS(cC@sqtjj|||tj||}t||j|j||_||_|jj|_|jj|_dS(N(RRRR!t_revlogt_repoRR(RR tpathRPR"trepotfilelog2((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyRs  cC@stjj||S(N(RR5(RR<((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyR;scC@stjj|||S(N(RR2(RR6R$((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyR3scC@sM||jkr"tjj||S|j|}|jj|jj|S(s Check if a revision is censored.(RRt iscensoredRRR(RRR((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyR[s(RLRMRR;R3R[(((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyRUs  t unionpeercB@seZdZRS(cC@stS(N(RN(R((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pytcanpushs(RLRMR](((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyR\stunionrepositorycB@szeZdZdZejdZejdZdZdZ dZ dZ dZ d Z d ZRS( sRepresents the union of data in 2 repositories. Instances are not usable if constructed directly. Use ``instance()`` or ``makeunionrepository()`` to create a usable instance. cC@s/||_||_|jjddtddS(Ntphasestpublisht unionrepo(trepo2t_urltuit setconfigRN(RRbturl((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyRs  cC@st|j|jjS(N(ROtsvfsRb(R((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyRscC@s:t|j|jj|jj}tj|j||S(N(RRRgRbt unfilteredt_clrevR t manifestlog(Rt rootstore((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyRjscC@s%|jjj|}|jj|S(s?map from repo2 changelog rev to temporary rev in self.changelog(RbRRR(RR$R((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyRiscC@s|jS(N(Rc(R((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyRfscC@s(t|j||jj|jj|S(N(RURgRbRhRi(Rtf((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pytfilescC@s|jjdS(N(Rbtclose(R((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyRnscC@stS(N(RN(R((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pytcancopyscC@s t|S(N(R\(R((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pytpeerscC@s tjS(N(Rtgetcwd(R((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyRqs(RLRMt__doc__RRtunfilteredpropertycacheRRjRiRfRmRnRoRpRq(((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyR^s       c C@sA|rtjtdn|jdd}|sctjtj}|dkrcd}qcn|rtj}||krd}qt j |}|j |r|t |}qn|j dr$|j dddj dd}t |dkr||d }} q1|\}} n ||}} t||| S( Ns"cannot create new union repositorytbundlet mainreporootR7sunion:t:it+i(RtAbortRtconfigRtfindrepoRRqRR t normasprefixt startswithRtsplittmakeunionrepository( RdRXtcreatetintentst createoptst parentpathtcwdtstrepopatht repopath2((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pytinstances*     " cC@stj||dt}tj||dt}dtj|tj|f}dt|jfdY}|}||_tj||||S(s7Make a union repository object from 2 local repo paths.Rs union:%s+%stderivedunionrepositorycB@seZRS((RLRM(((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyRs(RRRNR t expandpathR^t __class__R(Rdt repopath1Rtrepo1RbRfRRY((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyR~s N(!Rrt __future__Rti18nRRRR7RRRRRRR R R R R RRRRORSRRRUt localpeerR\tobjectR^RRR~(((s9/usr/lib64/python2.7/site-packages/mercurial/unionrepo.pyt sRh .