PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i WWWWWW
Current Directory: /usr/lib64/python2.7/site-packages/mercurial
Viewing File: /usr/lib64/python2.7/site-packages/mercurial/localrepo.pyc
� } �^c@s�ddlmZmZmZddlmZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Z!ddl"Z#ddlm$Z$ddl%Z%ddl&Z&ddl'Z'ddl(Z(ddl)Z)ddl*Z*ej+Z+ej,Z,de,fd��YZ-de-fd��YZ.d e+fd ��YZ/d e+fd ��YZ0d �Z1d�Z2e3dddddf�Z4e4j5e3dg��Z6dej7fd��YZ8de8fd��YZ9de:fd��YZ;d�Z<d�Z=d�Z>d�Z?dS(i����(thextnullidtshort(t_N(treleaset repofilecachecBs,eZdZdd�Zd�Zd�ZRS(sMAll filecache usage on repo are done for logic that should be unfiltered cCstt|�j|j�|�S(N(tsuperRt__get__t unfiltered(tselftrepottype((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRscCstt|�j|j�|�S(N(RRt__set__R(R R tvalue((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR scCstt|�j|j��S(N(RRt __delete__R(R R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRsN(t__name__t __module__t__doc__tNoneRR R(((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRs  t storecachecBseZdZd�ZRS(s filecache for files in the storecCs |j|�S(N(tsjoin(R tobjtfname((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pytjoin#s(RRRR(((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR!stunfilteredpropertycachecBseZdZdd�ZRS(s0propertycache that apply to unfiltered repo onlycCstt|�j|j��S(N(RRRR(R R R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR)sN(RRRRR(((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR&stfilteredpropertycachecBseZdZd�ZRS(s1propertycache that must take filtering in accountcCstj||j|�dS(N(tobjectt __setattr__tname(R RR ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt cachevalue/s(RRRR(((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR,scCs|t|j��kS(s?check if a repo has an unfilteredpropertycache value for <name>(tvarsR(R R((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pythasunfilteredcache3scs�fd�}|S(s@decorate method that always need to be run on unfiltered versioncs�|j�||�S(N(R(R targstkwargs(torig(s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pytwrapper9s((R"R#((R"s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pytunfilteredmethod7stlookupt branchmaptpushkeytknownt getbundletchangegroupsubsett localpeercBs�eZdZed�Zd�Zd�Zd�Zd�Zd�Z d�Z d�Z d �Z d �Z ddd �Zd �Zd �Zd�Zd�Zdddd�ZRS(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((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR/Cs   cCs|jj�dS(N(R1tclose(R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR8KscCs|jS(N(R4(R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt _capabilitiesNscCs|jS(N(R1(R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pytlocalQscCstS(N(tTrue(R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pytcanpushTscCs |jj�S(N(R1turl(R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR=WscCs|jj|�S(N(R1R%(R tkey((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR%ZscCs |jj�S(N(R1R&(R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR&]scCs |jj�S(N(R1theads(R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR?`scCs|jj|�S(N(R1R((R tnodes((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR(cscCs|jj|d|d|�S(NR?tcommon(R1R)(R tsourceR?RA((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR)fscCs |jj�S(N(R1tlock(R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRClscCs|jj|||�S(N(R1taddchangegroup(R tcgRBR=((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRDoscCs|jj||||�S(N(R1R'(R t namespaceR>toldtnew((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR'rscCs|jj|�S(N(R1tlistkeys(R RF((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRIuscCsd|||||fS(s+used to test argument passing over the wires%s %s %s %s %s((R tonettwotthreetfourtfive((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt debugwireargsxsN(RRRt MODERNCAPSR/R8R9R:R<R=R%R&R?R(RR)RCRDR'RIRO(((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR+@s"              tlocallegacypeercBs;eZdZd�Zd�Zd�Zd�Zd�ZRS(scpeer extension which implements legacy methods too; used for tests with restricted capabilitiescCstj||dt�dS(NR7(R+R/t LEGACYCAPS(R R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR/�scCs|jj|�S(N(R1tbranches(R R@((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRS�scCs|jj|�S(N(R1tbetween(R tpairs((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRT�scCs|jj||�S(N(R1t changegroup(R t basenodesRB((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRV�scCs|jj|||�S(N(R1R*(R tbasesR?RB((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR*�s(RRRR/RSRTRVR*(((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRQ|s     tlocalrepositoryc Bs.eZed{�Zeed|�BZed}�ZdgZd~Zd�Z d~e d�Z d�Z d �Z d �Zd �Zd �Zd �Zd�Zd�Zed�d��Zed�d��Zd�Zed�d��Zed�d��Zed�d��Zed�d��Zed�d��Zd�Zd �Zd!�Z d"�Z!d#�Z"d$�Z#d%�Zd&�Z$e d'�Z%e&id(��Z'd)�Z(e)d*��Z*d+�Z+d,�Z,d-�Z-d.�Z.d/�Z/d0�Z0d1�Z1d2�Z2d3�Z3d4�Z4d5�Z5d~d6�Z6d7�Z7d8�Z8d9�Z9d:�Z:d;�Z;d<�Z<d=�Z=d~d>�Z>e?d?�Z@d~d~d@�ZAdA�ZBd~dB�ZCdCdD�ZDdE�ZEdF�ZFdG�ZGeHdH��ZIeHdI��ZJdJ�ZKdK�ZLdL�ZMdM�ZNdN�ZOdO�ZPdP�ZQdQ�ZRdR�ZSe e dS�ZTe&dT��ZUdU�ZVdV�ZWdW�ZXdX�ZYdY�ZZdZ�Z[e\d[�Z]e\d\�Z^d]�Z_e&d^d~d~d~e e id_��Z`e&e d`��Zae&da��Zbe&db��Zcd~dc�Zdddd~d~e e e e de�Zed~df�Zfd~d~e dg�Zgdh�Zhdi�Zid~e dj�Zjdk�Zke d~e dl�Zldm�Zmdn�Zndo�Zod~d~dp�Zpe&dq��Zqdr�Zre&ds��Zse&e dt��Ztdu�Zuge dv�Zvdw�Zwdx�Zxd~d~d~dy�Zydz�ZzRS(trevlogv1t generaldeltatstoretfncachetsharedt dotencodecCs|jS(N(R5(R tcreate((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt_baserequirements�scCsTtj|dtdt�|_|j|_|jj|_|jjd�|_||_ tj |j|j �|_ tj |j|j dt dt�|_tj|jdt�|_|j|_||_|j�|_g|_y3|jj|jd�|j�tj|j�Wntk r'nX|jj�sl|rP|jj�s\|jj�n|jjdt�|j|�}|jjd d t�r|jjd �|jd �|jjd d t�r|jd �|jjd dt�r|jd�qn|jjdd�n|jjd dt �rA|jd�nt |�}q�t!j"t#d�|��nu|r�t!j"t#d�|��nSytj$|j|j%�}Wn4tk r�}|j&t&j'kr��nt �}nX|j|_(yhtj|jj)d�j*d�dt�}|j}|j�sKt!j"t#d�|��n||_(Wn+tk r�}|j&t&j'kr��q�nXt+j+||j(d��|_+|j+j|_,|j+j|_-|j-|_.|j+j|_/|j+j0|j_0|j1|�|r |j2�ni|_3i|_4i|_5d|_7|_8|_9i|_:i|_;dS(Nt expandpathtrealpaths.hgtrealfstcachedt cacheauditedthgrct notindexedtformattusestoreR\t usefncacheR]R_s 00changelog.it9 dummy changelog to prevent using the old repo layoutR[srepository %s not foundsrepository %s already existst sharedpaths s1.hg/sharedpath points to nonexistent directory %scSstj|dt�S(NRf(tscmutiltvfsR;(tbase((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt<lambda>�s(<RnRoR;twvfstwopenerRptrootRtpathtorigroott pathauditort _checknestedtauditortFalset nofsauditortopenertbaseuitcopyR2t_phasedefaultst readconfigt extensionstloadalltIOErrortisdirtexiststmakedirstmakedirRat configbooltmkdirtappendtsetterrort RepoErrorRt readrequirest supportedterrnotENOENTRmtreadtrstripR\tspathtsvfstsopenerRt createmodet_applyrequirementst_writerequirementst _branchcachest filterpatst _datafiltersRt _transreft_lockreft _wlockreft _filecachetfilteredrevcache(R R}RuR`R5tinstRots((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR/�s�            !             cCsdS(N((R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR8scCs|S(N((R R7((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR3scs/|�_t�fd�|D���j_dS(Nc3s*|] }|�jkr|dfVqdS(iN(t openerreqs(t.0tr(R (s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pys <genexpr> s(R5tdictR�toptions(R R5((R s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR�s cCsK|jdd�}x(t|j�D]}|jd|�q"W|j�dS(Ntrequirestws%s (R|tsortedR5twriteR8(R treqfileR�((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR� scCs�|j|j�stS|t|j�d}tj|�}|d}tj|�}xo|r�dj|�}||j kr�||kr�t S|j |�}|j |t|�d�SqX|j �qXWtS(s/Determine if path is a legal nested repository.it/N(t startswithRtRztlentutiltpconvertRt splitpathRtsubstateR;tsubt checknestedtpop(R Rutsubpatht normsubpathtctxtpartstprefixR�((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRxs   cCs t|�S(N(R+(R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR-9scCs|S(saReturn unfiltered version of the repository Intended to be overwritten by filtered repo.((R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR<scCs2dtj|j�jfd��Y}|||�S(s)Return a filtered version of a repositorytproxyclscBseZRS((RR(((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR�Fs(trepoviewRt __class__(R RR�((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR0Bs%t bookmarkscCs tj|�S(N(R�tbmstore(R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt _bookmarksJssbookmarks.currentcCs tj|�S(N(R�t readcurrent(R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt_bookmarkcurrentNscCsl|jdd�d}g}xI|jj�D]8\}}|jdd�d|kr,|j|�q,q,W|S(Nt@ii(tsplitR�t iteritemsR�(R tbookmarkRR?tmarktn((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt bookmarkheadsRs t phaserootscCstj||j�S(N(tphasest phasecacheR(R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt _phasecacheZstobsstorecCsOtj|j�}|rKtj rKd}|jj|tt|���n|S(Ns3obsolete feature not enabled but %i markers found! (tobsoleteR�R�t_enabledR2twarnR�tlist(R R\tmsg((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR�^s #s 00changelog.icCsWtj|j�}dtjkrStjd}|j|j�rS|jd�qSn|S(Nt HG_PENDINGs00changelog.i.a(t changelogR�tostenvironR�Rtt readpending(R tctp((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR�gs  s 00manifest.icCstj|j�S(N(tmanifestR�(R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR�pstdirstatecs:dg���fd�}tj�j�j�j|�S(Nicsky�jj|�|SWnLtjk rf�dsbt�d<�jjtd�t|��nt SXdS(Nis-warning: ignoring unknown working parent %s! ( R�trevR�t LookupErrorR;R2R�RRR(tnode(R twarned(s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pytvalidatews  (R�R|R2Rt(R R�((R R�s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR�ts  cCs)|dkrtj|�Stj||�S(N(Rtcontextt workingctxt changectx(R tchangeid((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt __getitem__�s  cCs3yt|j|��SWntjk r.tSXdS(N(tboolR%R�tRepoLookupErrorRz(R R�((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt __contains__�scCstS(N(R;(R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt __nonzero__�scCs t|j�S(N(R�R�(R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt__len__�scCs t|j�S(N(titerR�(R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt__iter__�scGsJtj||�}tjd|�}g||t|��D] }|^q:S(s4Return a list of revisions matching the given revsetN(trevsett formatspectmatchRR�(R texprR tmR�((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pytrevs�scgs*x#|j||�D]}||VqWdS(sw Yield a context for each matching revision, after doing arg replacement via revset.formatspec N(R�(R R�R R�((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR��scCs d|jS(Nsfile:(Rt(R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR=�scKstj|j||||�S(N(thookR2(R RtthrowR ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR��sc sgt|t�r|f}n�j�}xb|D]Z} �jddtdt��d| d|�| |kr.�jjtd�| �q.q.W��fd�} d} |r?y�j d d �} Wn#t k r��j d d �} n X| j �} | | |d| �x3|D]+} �jddt��d| d|�q WdSy�j d d �} Wn=t k r�} | jtjkr�n�j d d�} n X| j �} | | |tj| �| j��j�d �jkr��djd g�ntj�jdd g�}�j|||d|d|�}x3|D]+} �jddt��d| d|�q4W|S(NtpretagR�R�ttagR:s4warning: tag %s conflicts with existing branch name c s�|jdd�|r6|ddkr6|jd�nx�|D]�}|rU||�pX|}�jjr�|�jjkr��j�j|t�}|jdt|�|f�n|jdt��|f�q=W|j�dS(Niii����s s%s %s ( tseekR�t _tagscachettagtypesttagstgetRRR8(tfptnamestmungetprevtagsRR�RG(R�R (s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt writetags�s   !tt localtagssr+tas.hgtagssrb+tabtextraR�(t isinstancetstrR&R�R;RR2R�RR|R�R�RtwfileR�R�tencodingt fromlocalR8tinvalidatecachesR�taddtmatchmodtexactRttcommit(R RR�tmessageR:tusertdateRRSRRRR�teR�ttagnode((R�R s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt_tag�sL   $     )   ! )cCsr|sHx?|j�d D]*}d|krtjtd���qqWn|j�|j||||||�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)N(tstatusR�tAbortRR�R(R RR�RR:RRtx((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR��s   cCs;dtfd��Y}|�}|j�\|_|_|S(sMReturns a tagscache object that contains various tags related caches.t tagscachecBseZd�ZRS(cSs$d|_|_d|_|_dS(N(RR�R�t nodetagscachettagslist(R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR/s(RRR/(((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRs(Rt _findtagsR�R�(R Rtcache((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR�s cCs�i}|jjr'|j�\}}n |jj}xU|j�D]G\}}y|jj|�|||<Wq@tjt fk r�q@Xq@W|S(sreturn a mapping of tag to node( R�t filteredrevsRR�R�R�R�R�R�t ValueError(R ttR�ttttktv((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR�%s  cCs�i}i}tj|j|||�tj|j|||�i}xB|j�D]4\}\}}|tkrQ||tj|�<qQqQW|jj �|d<t g|j�D]!\}}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( ttagsmodtfindglobaltagsR2t readlocaltagsR�RR ttolocalR�R'R�(R talltagsR�R�RR�thistR ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR5s 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 (R�R�R�(R ttagname((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyttagtypeVs cCs�|jjs�g}xH|j�j�D]4\}}|jj|�}|j|||f�q%Wgt|�D]\}}}||f^qj|j_n|jjS(s)return a list of tags ordered by revision(R�RR�R�R�R�R�R�(R tlR#R�R�((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRas 7cCs�|jjs~i}x9|jjj�D]%\}}|j|g�j|�q%Wx|j�D]}|j�q[W||j_n|jjj|g�S(s&return the tags associated with a node( R�RR�R�t setdefaultR�t itervaluestsortR�(R R�RR#R�R�((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pytnodetagsls cCsLg}x9|jj�D](\}}||kr|j|�qqWt|�S(N(R�R�R�R�(R R�tmarksR�R�((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt nodebookmarksws  cCstj|�|j|jS(s,returns a dictionary {branch: [branchheads]}(R&t updatecacheR�t filtername(R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR&~s cCs?|d}x.t|�D] }||j�s|}PqqW|S(s'return the tipmost branch head in headsi����(treversedt closesbranch(R R?R'th((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt _branchtip�s  cCsE||j�kr.tjtd�|��n|j|j�|�S(s&return the tip node for a given branchsunknown branch '%s'(R&R�R�RR<(R tbranch((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt branchtip�scCs@i}x3|j�j�D]\}}|j|�||<qW|S(smreturn a dict where branch names map to the tipmost head of the branch, open heads come before closed(R&R�R<(R tbttbnR?((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt branchtags�scCs||j�S(N(R�(R R>((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR%�scCsN|p |}||j�kr"|S|r:|j�r:|p=|}||j�S(N(R&R:R=(R R>tremoteR ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt lookupbranch�s  cCst|jj}|j}g}xR|D]J}|j|�}|dkp[|j||�tjk }|j|�q"W|S(N( R�tnodemapR�R�RtphaseR�tsecretR�(R R@tnmtpctresultR�R�tresp((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR(�s   (cCs|S(N((R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR:�scCs |j�S(N(R:(R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pytcancopy�scCstjj|j|�S(N(R�RuR(R tf((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR�scCstjj|j|�S(N(R�RuRRt(R RL((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pytwjoin�scCs0|ddkr|d}ntj|j|�S(NiR�i(tfilelogR�(R RL((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pytfile�s cCs||S(N((R R�((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR��scCs||j�S(s.get list of changectxs for parents of changeid(tparents(R R�((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRP�scCs�|jj||�}||}|roxG|D]<}||kr,|||kr,|jj|||�q,q,Wn|tkr�xZt|jj�j��D]:\}}||kr�||kr�|jjd|�q�q�WndS(N(R�t setparentsR~RR�tcopiestitemsR(R tp1tp2RRtpctxRLR�((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRQ�s  ! (cCstj||||�S(sechangeid can be a changeset revision, node, or tag. fileid can be a file revision or node.(R�tfilectx(R RuR�tfileid((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRW�scCs |jj�S(N(R�tgetcwd(R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRY�scCs|jj||�S(N(R�tpathto(R RLtcwd((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRZ�sR�cCs|j||�S(N(Rs(R RLtmode((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR �scCs|jj|�S(N(Rrtislink(R RL((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt_link�sc s.||jkr#g}x�|jj|�D]�\}}|dkrFq(ntj|jd|g�}d}|}xL|jj�D];\}} |j |�r}| }|t |�j �}Pq}q}W|s�d�}nt j |�ds�|��fd�}n|j|||f�q(W||j|<n|j|S(Nt!Rc[stj||�S(N(R�tfilter(R�R�R!((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRq�sics �||�S(N((R�R�R!(toldfn(s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRq�s(R�R2t configitemsRR�RtRR�R�R�R�tlstriptinspectt getargspecR�( R R`R0tpattcmdtmftfntparamsRtfilterfn((Ras9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt _loadfilter�s*  c Cslxe|D]]\}}}||�r|jjd||f�|||d|jd|d|�}PqqW|S(Nsfiltering %s through %s R2R tfilename(R2tdebug(R R�RmtdataRhRiRg((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt_filters  $cCs |jd�S(Ntencode(Rl(R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt_encodefilterpats scCs |jd�S(Ntdecode(Rl(R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt_decodefilterpats scCs||j|<dS(N(R�(R RR`((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt adddatafilterscCsL|j|�r$|jj|�}n|jj|�}|j|j||�S(N(R^RrtreadlinkRsR�RpRr(R RmRo((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pytwreadscCsv|j|j||�}d|kr:|jj||�n8|jj||�d|krr|jj|tt�ndS(NR0R( RpRtRstsymlinkR�RrtsetflagsRzR;(R RmRotflags((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pytwwrites   cCs|j|j||�S(N(RpRt(R RmRo((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt wwritedata$sc Cs�|jr|j�pd}|r7|j�r7|j�S|jjd�ratjtd���n|j |�g|j �D]!\}}||t |�f^q{}t j |j j|j|jd�t|�|jj�}tj|�|_|S(Ntjournals,abandoned transaction found - run hg recover(R�RtrunningtnestR�R�R�R�Rt _writejournalt _journalfilestundonamet transactionR2R�R�Rt aftertransR\R�tweakreftref(R tdescttrRoRtrenames((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR�'s  4  cCsL|jdf|jdf|jdf|jdf|jdf|jdffS(NR}sjournal.dirstatesjournal.branchs journal.descsjournal.bookmarkssjournal.phaseroots(R�Ro(R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR�;s      cCs2g|j�D]!\}}|jt|��^q S(N(R�RR�(R RoR((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt undofilesCscCs�|jjd|jjd��|jjdtj|jj���|jjddt|�|f�|jjd|jjd��|jjd|jjd ��dS( Nsjournal.dirstateR�sjournal.branchs journal.descs%d %s sjournal.bookmarksR�sjournal.phaserootsR�( R|R�ttryreadR R R�R=R�R�(R R�((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR�Fs     cCs�|j�}zy|jjd�rj|jjtd��tj|j|j d�|jj �|j �t S|jj td��t SWd|j�XdS(NR}s%rolling back interrupted transaction s%no interrupted transaction available (RCR�R�R2RRR�trollbackR�RR�t invalidateR;RzR(R RC((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pytrecoverRs   cCswd}}zX|j�}|j�}|jjd�rG|j||�S|jjtd��dSWdt ||�XdS(Ntundos"no rollback information available i( RtwlockRCR�R�t _rollbackR2R�RR(R tdryruntforceR�RC((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR�as   c Cs|j}y�|jjd�j�}t|d�|dd}}}t|�dkre|d}n|d}|r�|jr�td�|||f} ntd�||f} Wn#t k r�td�} d}nX| r"|d |d kr"|d kr"t j td �d td���n|j | �|r9dS|j j�} |j�tj|j|jd�|j�|jjd�r�|jjdd�n|jjd�r�|jjdd�n|j�| d|jjkp�| d|jjk} | r�|jjdd�y/|jjd�} |j jtj| ��Wn1t k ru|jtd�|j j��nX|j j�t g|j�D]} | 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.R'Rs;rollback of last commit while not checked out may lose datathintsuse -f to forceR�sundo.bookmarksR�sundo.phaserootsR�s undo.dirstateR�s undo.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 (#R2R|R�t splitlinestintRR�tverboseRR�R�RRR�RPt destroyingR�R�R�RR�RoR�trenameR�R�R�RDt setbranchR R+R=ttupleR�t destroyed(R R�R�R2R toldlenR�tdetailtoldtipR�RPt parentgoneR=R�((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR�nsb "       '   "   +   cCs@dt|�kr|jd=n|j�jj�|j�dS(NR�(Rt__dict__RR�tcleartinvalidatevolatilesets(R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR�s cCs|jj�tj|�dS(N(R�R�R�tclearobscaches(R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR��s cCsht|d�rdx<|jjD].}yt|j|�Wqtk rIqXqWt|j�d�ndS(s�Invalidates 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).R�N(RR�R�tdelattrtAttributeErrorR(R R%((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pytinvalidatedirstate�s  cCse|j�}xH|jD]=}|dkr.qnyt||�Wqtk rRqXqW|j�dS(NR�(RR�R�R�R(R RR%((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR��s   cCs�ytj|d|d|�}Wnxtjk r�}|s@�n|jjtd�||jf�tj|t|jjddd��|d|�}nX|r�|�n|S(NiR�s"waiting for lock on %s held by %r R2ttimeoutt600( RCR�tLockHeldR2R�RtlockerR�tconfig(R tlocknametwaitt releasefnt acquirefnR�R0R�((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt_lock�s$ cCs9|jo|j�}|r.|jj|�n|�dS(sfadd a callback to the current repository lock. The callback will be executed on lock release.N(R�t postreleaseR�(R tcallbackR0((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt _afterlock�sc s��jo�j�}|dk r8|jr8|j�|S�fd�}�j�jd�||�jtd��j�}t j |��_|S(s�Lock 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.)cs{�jj�t�d�r,�jj�nxH�jj�D]7\}}|dks<|�jkriq<n|j�q<WdS(NR�R�(R\R�RR�R�RSR�trefresh(R%tce(R (s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pytunlock�s RCs repository %sN( R�RtheldRCR�RR�RRvR�R�(R R�R0R�((R s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRC�s  c s��jo�j�}|dk r8|jr8|j�|S�fd�}�j�jd�||�jtd��j�}t j |��_|S(s�Lock 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"�jj��jdj�dS(NR�(R�R�R�R�((R (s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR�s R�sworking directory of %sN( R�RR�RCR�RR�RRvR�R�(R R�R0R�((R s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR� s  c Cs�|j�}|j�}|j|�} |j|t�} |j|t�} } i} |j�}|r�|d|kr�|d}|j|�}| }|r�| tks�|dkr�||kr�||}| }q�q�n|s7|jjd||f�x;|dj �D]&}||kr ||j �}Pq q Wn|r�|jjd||t |�f�|| d<t |�| d<t|} } q�|jj t d�||f�nR| tkr�| j| | �}|| kr�| t} } q�|| kr�t} q�n| tks#| j| |�s#| rL|j|�| j|| ||| | �S| | kr�|j|�|j�kr�|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 R~tcopyrevs8warning: can't find ancestor for '%s' copied from '%s'! N(RuRoROR�RtrenamedRR2Rnt ancestorstfilenodeRR�RtancestortcmpR�RRz(R tfctxt manifest1t manifest2tlinkrevR�t changelistRttexttflogtfparent1tfparent2t fparent2otmetaR~tcfnametcrevt newfparentR�tfparentancestor((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt _filecommitsT         #     $ 'Rc&s�d�}|s'tj�jd�}n|sKg} | j|_||_n�j�} z=�d#} t| j ��dk} | r�| r�|r�|j �s�|j �r�t j td���n�jd|d|�} |r�| dj| d�ng}t�}| jj�}d | kr�d | dkrC| djd �nd | d krg| d jd �n| j�j}xAt|j��D]-}||�s�||kr�||||<q�n|s�t j td �|��q�n| j|�jt�rR�jjd d�s5t j td�|dtd���n|j|�|j|�q�| j|�j�}||d|||d f||<|j|d%�d|kr�|j|�q�q�Wxe| j �D]W}g|jD]}||kr�|^q�}|g|D]}||�r�|^q�7}q�W|r�|d � rid | j �| j!�krit j td���n| dj"dd �q�nVd | d kr�d | kr�d | d| d| d kr�| d j"dd �q�n| r|j �rt| d| d| d �}x�|j �D]�}�j#j$|�}|dks||ks|| jkr^qn|| dkr�||td��n|| kr�|d}x\|D]}|j%|�r�Pq�q�W||td��q|�j#kr||td��qqWnt&j'�||||| �}| rk|jd� rk| rk|j � rk| j(�| j�j(�krkd#S| r�|j)�r�t j td���nt*j+��}xF| dD]:}||kr�||dkr�t j td���q�q�W|r |�||�|_,n||j,k}|r�xvt|�D]h}| j|�}�jjtd�t-j.|��|j/|j,||�}||d|f||<q-Wt-j0�|�n�j1|j,�}�j#j �\} }!t2| �|!t3kr�t2|!�p�d}"}#y5�j4ddtd |"d!|#��j5|t�}$Wn-|r\�jj6td"�|�n�nXt7j8�| |!g|$�|j9|$�|j:�Wd#| j;�Xt2|$�|"|#�fd$�}%�j<|%�|$S(&s�Add 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||f��dS(Ns%s: %s(R�R(RLR�((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pytfailxsRisBcannot partially commit a merge (do not specify files or patterns)R�tcleaniis.hgsubs .hgsubstateis#commit with new subrepo %s excludedR2tcommitsubreposs!uncommitted changes in subrepo %sR�s#use --subrepos for recursive commits$can't commit subrepos without .hgsubR�isfile not found!R�sno match under directory!sfile not tracked!R8s&cannot commit merge with missing filestus0unresolved merge conflicts (see hg help resolve)scommitting subrepository %s t precommitR�tparent1tparent2s!note: commit message saved in %s Ncs#�jdd|d|d|�dS(NRR�R�R�(R�(R�R�R�(R (s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt commithooks(NNN(=RtalwaysRtR�tdirtbadR�RR�RPtfilestanypatsR�RRRtextendR�R�R~tremoveRTR�tkeysR�tdirtyR;R2R�Rt basestateR�tmodifiedtaddedtinsertR�t normalizeR�R�R�R=tdeletedtmergemodt mergestatet_texttsubrepot subrelpathRt writestatetsavecommitmessageRRR�t commitctxR�R�tupdatet markcommittedtresetRR�(&R R�RRR�R�teditorRR�tvdirsR�twctxtmergetchangestsubst commitsubstnewstatetoldstateR�tbsR�R�tmatchedRLtdRhtcctxtmsteditedR�tsrtmsgfnRTRUthookp1thookp2tretR�((R s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRns�          #(-    '    +    cs�d}}t|j��}|j�|j�}}|j�}�j�}z�jd�}tj |�} |j �r�|j �j �} |j �} i} g} t ��}x t|j�|j��D]}�jj|d�yF||}�j|| | || | �| |<| j||j��Wq�tk r_}�jjtd�|��q�tk r�}t|dtj�}|s�|r�|tjkr��jjtd�|��q�|j|�q�Xq�W| j| �gt|�D]$}|| ks || kr�|^q�}g|D]}|| kr|^q}x|D] }| |=qCW�j j| | ||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�}|r�t+j-�||g�n|j.�t/j0�j1d ��|SWd|r�|j2�n|j2�XdS(ssAdd a new revision to current repository. Revision information is passed via the context argument. Rs strouble committing %s! R�cs�jj�r�jpdS(NR(R�t writependingRt((R (s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRqRsRt pretxncommitR�R�R�R�tpendingR,N(3RR�tremovedRTRURRCR�R�tproxyR�R�R~R�R�R�R�R2tnoteR�R�RztOSErrorR�RR�tgetattrR�R�R�R�Rt manifestnodeR�t delayupdatet descriptionR�RRRR�R;tfinalizeR�tnewcommitphasetretractboundaryR8R&R7R0R(R R�R�R�RCR RTRURttrptm1tm2RHtchangedR�RLR�R�terrcodetdroptmnR�R�R�txp1txp2t targetphase((R s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR�st      #   7%     !%$   cCs&dt|�kr"|jj�ndS(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. R�N(RR�R�(R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR�hscCsA|jj|�|jj�tj|jd��|j�dS(s�Inform 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(R�t filterunknownR�R&R7R0R�(R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR�zs  cCs||j|�S(s� walk recursively through the directory tree or a given changeset, finding all files matched by the match function (twalk(R R�R�((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR�sR�c(s �fd�}t|tj�r*|�n �|�t|tj�rO|} n �|} | j�dk} | o~��dk} �p�tj�j�j���|||} } }| r�| j��j�kr�| j �n| s��fd�}|�_ n| rug}d�j kr3t | j �}n�j j�|| | |�}|\}}}}}}}}| ru|rug}xrt |�D]d}|�ks�| j|��j|�ks��|j| |�r�|j|�q�|j|�q�W|rr| r||7}nyF�jt�}z%x|D]}�j j|�q+WWd|j�XWqotjk rkqoXqrqun| s4|��}| r|�d�}x9|||D])}d||<|j|| j|��q�WxG|D]}||kr�||=q�q�Wn ggg}}}|| �}ggg}}}|j�|j�B}x�|j�D]�\}}||kr||kr�||kr�|j|�|j|�ks�|||kr�|s��|j| |�r�|j|�n| r�|j|�n||=qZ||krZ|j|�qZqZW|j�}n| r�|r��j j r�g}x�|D]�}| j|�dkr�| |j�} t| �dks�d| ks�tj | �r��j!j"d |�qZq�n|j|�qZW|}n|||||||f}!|rx�t#j$�| �D]�\�}"| r8d}#n| j �d }#y�tj%���}$|"j|#d |$d | d | d|dt&�}x:t'|!|�D])\}%}&|%j(�fd�|&D��q�WWqtj)k r��j!jt*d���qXqWnx|!D]}'|'j+�qW|!S(s�return status of files between two nodes or node and working directory. If node1 is None, use the first dirstate parent instead. If node2 is None, compare node1 with working directory. csS|j�j�}�j�r"|Sx*|j�D]}�|�s/||=q/q/W|S(N(R�R~R�R�(R�RhRi(R�(s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt mfmatches�s  R�csK|�krG|�j�krG�jjd�jj|�|f�ndS(Ns%s: %s (tdirsR2R�R�RZ(RLR�(tctx1R (s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR��ss.hgsubNR0is s*ignoring suspect symlink placeholder "%s" iR�tignoredR�tunknownt listsubreposc3s|]}d�|fVqdS(s%s/%sN((R�RL(R�(s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pys <genexpr>4ss#skipping missing subrepository: %s (,R R�R�R�RRR�RtRYR�R�R�R�R�RRzR�R�R�RztnormalRR�t LockErrorR�t withflagsR�R�t _checklinkRoR�R�tbinaryR2RnR�t itersubrepost narrowmatcherR;tzipR�R�RR3((R tnode1tnode2R�R#R�R$R%R tctx2tworkingt parentworkingt listignoredt listcleant listunknownR�tsubreposR�R�R�R�R R�tfixupRLR�tmf1tmf2R(Ritmf2nodetsaneR�R�R�trev2tsubmatchtrfilestsfilesR0((R"R�R R�s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR�s�      !    *          *   -      % cCs.|jj|�}t|d|jjdt�S(NR>treverse(R�R?R�R�R;(R tstartR?((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR?=scCs�|dkr|dj�}n|j�}||kr;gStt||��}|dk r�t|jj|g|�d�}g|D]}||kr�|^q�}n|s�g|D]}||j�s�|^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. iN( RR=R&R�R9R�R�t nodesbetweenR:(R R=RAtclosedRStbheadstfbheadsR;((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt branchheadsBs    "(,cCs�|s|jj�g}ng}x�|D]z}|}xktr�|jj|�}|dtkso|dtkr�|j|||d|df�Pn|d}q7Wq(W|S(Nii(R�R'R;RPRR�(R R@tbR�R#R�((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRSYs   !c Cs�g}x�|D]�\}}|gd}}}d}xh||kr�|tkr�|jj|�d} ||kr�|j|�|d}n| }|d7}q6W|j|�q W|S(Niii(RR�RPR�( R RUR�ttoptbottomR�R0tiRLR�((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRTgs   c s'd�dtj|j����j�}z�tj�|d|d|�}|\}}}|s��jjt d��g} d} nj�j ���|dkr�t |�t gkr��jjt d��n$|dkr�|j d�r�|}n|j d�r&|jd d |d|p|�} n]|dkrG|j|d �} n<|j d�sntjt d ���n|j||d �} �j�j} t| �} �j| d |j��} t| �}gt| |�D]}| j|�^q�} |dkr || }n|}|jd �}t|jd t��}|r�| r�tj�||�\}}tj�tj|�tj�tj |�ntj�tj|����fd�}t!j"�||�}|dk r�|�n�dk r��j#�nWd�dk r�j$�n|j$�X| S(Nspull R?R�sno changes found isrequesting all changes R*R)tpullRAsWpartial pull cannot be done because other repository doesn't support changegroupsubset.R�t publishingcs�dkr�j��S�S(N(RR�((R R�ttrname(s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pytgettransaction�s  (%RR�t hidepasswordR=RCt discoverytfindcommonincomingR2RRR�R�RtcapableR)RVRR*RR�R�RDtxrangeR�RIR�R�RzR�tanalyzeremotephasestadvanceboundarytpublictdraftR�tsyncpullR8R(R RBR?R�RCttmpRAtfetchtrheadsR�RIREtcltclstarttclendR�tsubsett remotephasesRLtpheadst_drRNtobstr((R R�RMs9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRKzsd   !    +          cCsdS(s�Extensions can override this function if additional checks have to be performed before pushing, or call it if they override push command. N((R R�R�((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt checkpush�sc' s�|j�s$tjtd���n�j�}tj��fd�}d�y�j��WnEt k r�}|j t j kr��nd|}�j j |�nXz<�j||�d} |jd�} | s�|j�} nz�tj} | ||d|�} | \} }}tj}|||d|d| d|�}|jshtj|j ||j�d}nj|sG|jr"td�}d }td �td �td �xx|jD]j}||}|j�r�tj||��q�|j�r�tjt|�|j�d |f��q�q�Wntj|||||t|��n|dkru|j ru�j|jd�}n�jd|�}| r�|r�dg}n|j ||d�}n|j!|d�j"��}|r�|j}n~|dkr�|j#}nft$|j%�} g|D]}|| kr|^q}|j$d|j#|j�}|j&d�|D��|j'd�}�j j(ddt)�r�|r�|dkr�|j*dt)�r�idd6}n|s�||�n�tj+�||�}|\}}|j*dt)�r||�n||�||tj,�|j$d||�}xa|D]Y}|j-d|j.�t/tj,�t/tj��} | sF�j j0td�|�qFqFW�j j d�tj1�|�Wd| dk r�| j2�nXWd�dk r��j2�nX�j j d�|j'd�}!x�|!j3�D]�}"|"|j4kr+|!|"t.�j4|"�}#}$|#|kr�||#}%||$}&t5j6||%|&�r�|j-d|"|#|$�} | r��j j7td�|"�q��j j0td�|"�q�q�q+q+W|S(swPush outgoing changesets (limited by revs) from the current repository to remote. Return an integer: - None means nothing to push - 0 means HTTP error - 1 means we pushed and remote head count is unchanged *or* we have outgoing changesets but refused to push - other values as described by addchangegroup() s!destination does not support pushcs��dk r"tj�||�n_g|D]"}|�|j�kr)|^q)}tj|}|r��jjtd�|�ndS(s0move <nodes> to <phase> in the local source repos8cannot lock source repo, skipping local %s phase update N(RR�RUREt phasenamesR2RR(R@RER�t actualmovestphasestr(t locallockR (s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pytlocalphasemove�s / s"cannot lock source repository: %s tunbundleR�t onlyheadst commonincs%push includes obsolete changeset: %s!spush includes %s changeset: %s!s%push includes unstable changeset: %s!s#push includes bumped changeset: %s!s&push includes divergent changeset: %s!itpushs%ln and parents(roots(%ln))css|]}|j�VqdS(N(R�(R�R�((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pys <genexpr>gsR�R2t_usedassubrepoRLR;sheads((%ln::%ln) and public())supdating %s to public failed! s'try to push obsolete markers to remote Nschecking for updated bookmarks R�supdating bookmark %s supdating bookmark %s failed! (8R<R�RRRR�RVRRCR�R�tEACCESR2RnRdRRRPRQtfindcommonoutgoingtmissingRntnochangesfoundtexcludedR�t missingheadsR�ttroubledttroublest checkheadsR�t _changegrouptgetlocalbundleRjRDR=t commonheadsR�RAR�RIR�RzR�RTRWR'RR R�tsyncpushRR�R�R�t validdestR('R RBR�R�t newbranchtunfiRiterrR�RCRjtfciRlRAtinct remoteheadstfcotoutgoingRtmsotmstR�R�REtcheadsR�R`tanaRatdrootstoutdatedt newremoteheadR�trbR%tnrtnltcrR\((RhR s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRm�s�                    %                   cCs�|jjs|dkr;|jjtd�t|��n|jjr�|jjd�x+|D] }|jjdt|��q^WndS(Ntbundles%d changesets found slist of changesets: s%s (R2R�RRR�t debugflagRnR(R R@RBR�((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pytchangegroupinfo�s #  cCsw|j}|stg}n|j||�\}}}|jg|D]}|j|�^qC�}|j||||�S(s=Compute a changegroup consisting of all the nodes that are descendants of any of the bases and ancestors of any of the heads. Return a chunkbuffer object whose read() method will return successive changegroup chunks. It is fairly complex as determining which filenodes and which manifest nodes need to be included for the changeset to be complete is non-trivial. Another wrinkle is doing the reverse, figuring out which changeset in the changegroup a particular filenode or manifestnode belongs to. (R�RRBR�R�t_changegroupsubset(R RXR?RBR\tcsetsR�RA((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR*�s  +cCs,|js dS|j|j|j|j|�S(s�Like getbundle, but taking a discovery.outgoing as an argument. This is only implemented for local repos and reuses potentially precomputed sets in outgoing.N(RqRR�RARt(R RBR�((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRy�s   cCs}|j}|r@|j}g|D]}||�r|^q}n tg}|s^|j�}n|j|tj|||��S(sJLike changegroupsubset, but returns the set difference between the ancestors of heads and the ancestors common. If heads is None, use the local heads. If common is None, use [nullid]. The nodes in common might not all be known locally due to the way the current discovery protocol works. (R�thasnodeRR?RyRPR�(R RBR?RAR\R�R�((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR)�s  (  cs��j��j� i� i� t��dig� ddg�|j�|t�j��krq�j� ��S�jddtd���j � ���fd���j j �t d��t d��t d ��t d ���������� � � � �f d �}t j|���j jd d d���dkrQd�ntj��������� � � � � �����fd�}t jtj|��d�S(NRit preoutgoingR�RBcsB|j|j}}g|D]$}|||���kr|^qS(N(R�R�(trevlogRqtrrtrlR�(t commonrevs(s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pytprunes tbundlingt changesetst manifestsR�c sJ|�kru�j|�}�j|d�� j|d|��dcd7<� ��dd�d�d�|S|� kr� |}� j|�}x=|j�D]/\}}|�kr��|j||�q�q�W�dcd7<� ��dd�d�d�|S� ��dd�dd�d�d��d|SdS(Niiitunitttotaltitem(R�R�R1treadfastR�(R�RR�tclnodetmdataRLR�( t _bundlingt _changesetst_filest _manifestst changedfilesR\tcounttfnodestfstateRhtmfstprogress(s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR% s*    R�treordertautoc3s�dt��g�(x%�j��d� �D] }|Vq,W� �d�x�D]}i�|<qOWdt� �g�(x.�j� �� ��d� �D] }|Vq�W� �d�� j�dt��g�(x�t��D]�}� j|�}t|�stjtd�|��n|�d<�j |i��d<� |�d�}|r��dcd7<�j |�Vx%|j|�� �D] }|Vq�Wq�q�W�j �V� �d��r�� j ddt �d�d��ndS(NiR�sempty or missing revlog for %siR�R�RB(R�tgroupRR�R�ROR�RRR�t fileheaderR8R�R(tchunkRLRt filerevlogtnodelist(R�tbundlerR�R\R�R�R�R�RhR�R�R�R�R RB(s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pytgengroup*s:   (        tUN(R�R�R�R3R�R?RxR�R;R�R2R�RRVtbundle10R�RR�t parseboolt unbundle10t chunkbuffer(R R�R�R?RBR%R�((R�R�R�R�R�R�R\R�R�R�R�R�RhR�R�R�R�R RBs9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR��s4           0  9+cCs|j||j�|�S(N(R*R?(R RWRB((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRVWscs��j��j� i� t��dg�ddg��jddtd���j� ��tg� D]}�j|�^qi���fd�� �jj� t d��t d��t d ��t d ����������� � � f d �}t j |���jj d d d���dkr;d�ntj���������� � � � � ���fd�}t jtj|��d�S(sqCompute the changegroup of all nodes that we have that a recipient doesn't. Return a chunkbuffer object whose read() method will return successive changegroup chunks. This is much easier than the previous function as we can assume that the recipient has any changenode we aren't sending them. nodes is the set of nodes to sendRiR�R�RBcsB|j|j}}g|D]$}||��kr||�^qS(N(R�R�(tlogtlntllrR�(R�(s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt gennodelstrsR�R�R�R�c s|�kru�j|�}�j|d�� j|d|��dcd7<� ��dd�d�d�|S|�kr��dcd7<� ��dd�d�d��j|j|j|���S� ��dd�dd�dd���j|j|j|���SdS(NiiiR�R�R�(R�R�R1R�R�R�(R�RR�( R�R�R�R�R�R\R�R�RhR�R�(s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR%|s   R�R�R�c3s�dt� �g�(x%�j� �d� �D] }|Vq,W� �d�dt��g�(x+�j����d� �D] }|VqzW� �d�dt��g�(x�t��D]�}� j|�}t|�s�tjtd�|��n|�d<�|�}|r��dcd7<�j|�Vx%|j|�� �D] }|VqCWq�q�W�j �V� �d�� r�� j ddt � d�d� �ndS( s0yield a sequence of changegroup chunks (strings)iR�sempty or missing revlog for %siR�R�RBN( R�R�RR�ROR�RRR�R8R�R(R�RR�R�(R�R�R�R\R�R�R�RhR�R@R�R�R RB(s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR��s2  %        R�N(R�R�R�R�R;R�R�R2R�RRVR�R�RR�R�R�R�(R R@RBR�R%R�((R�R�R�R�R�R�R\R�R�R�RhR�R@R�R�R�R RBs9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRx[s.     (     -  6!c$ sl��fd�}�fd�}|s+dS�jddtd�d��d}}} t�} �j��j��j���jdj�tj ��g��} z�t j | �} �j j td ��t���d tf�fd ��Y} | �}||_|j��j||| �}|p1|sLtjtd ���nt��}|�}x.t�|�D]}| j�|j��qrWt| �} �j jtd �d(��j j td��td�|_d|_||_|j��jj||| ��j jtd�d(�i}�j jdddt �r�x�t�|�D]s}�jj!�jj"|��d}�jj#|�}x6|j$�D](\}}|j%|t��j&|�q�WqYWn�j j td��td�|_d|_| |_d(|_x4trI|j'�}|s2Pn|d}�j j(d|�|��j)|�}t|�}|j||| �s�tjtd���n| t|�|7} |d7}||kr||}x]t|t|��D]F}|j"|�}||kr|j*|�q�tjtd���q�W|sF||=qFqqW�j jtd�d(�x�|j$�D]y\}}�j)|�}x[|D]S}y|j+|�Wq�t,j-k r�tjtd�|t.|�f��q�Xq�WqpWd}�rX�j�}t|�t��}x:|D]/}|�kr"�|j/�r"|d8}q"q"Wnd}|rwtd�|}n�j j td�|| ||f��j0�|dkr��fd�} �jddtd t.�j"���d�d�d!| �ngt�|�D]}!�j"|!�^q��j jd"d#t�}"�d$kr�|"rpt1j2�t1j3|�q�t1j2�t1j4|�t1j5�t1j4��n%�d%kr�t1j5�t1j4��n�j6| �| j7�|dkr=�d%kr t8j9�j:d&��n�������fd'�}#�j;|#�nWd(| j<�X|dkr`|dS|dSd(S()s�Add the changegroup returned by source.read() to this repo. srctype is a string like 'push', 'pull', or 'unbundle'. url is the URL of the repo where this changegroup is coming from. Return an integer summarizing the change to this repo: - nothing changed or no source: 0 - more heads than before: 1+added heads (2..n) - fewer heads than before: -1-removed heads (-2..-n) - number of heads stays the same: 1 cs$�jjdt|��t��S(Nsadd changeset %s (R2RnRR�(R(R\R (s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pytcsmap�scs �j|�S(N(R�(R(R\(s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pytrevmap�sitprechangegroupR�RBR=s sadding changesets tprogcs2eZed�ZdZ�jZdZd�ZRS(R�icSsA|jj|j|jdtd�d|j�|jd7_dS(NR�tchunksR�i(R2R�tstepR�RR�(R ((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt__call__�s$ N( RRRR�R�R2RR�R�((R (s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR��s   s!received changelog group is emptyR�sadding manifests R�itserverR�tdefaultsadding file changes R�Rmsadding %s revisions s#received file revlog group is emptys#received spurious file revlog entrys+missing file data for %s:%s - run hg verifyRs (%+d heads)s2added %d changesets with %d changes to %d files%s cs�j�r�jpdS(NR(RRt((R\R (s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRqJ stpretxnchangegroupR�RR�tpublishRmtstripR,c s��jjd��jddt�j���d�d��x3�D]+}�jddt|�d�d��qEWg�j�D]}|�kr�|^q�}�jjddt��djg|D]}t|d �^q���dS( Nsupdating the branch cache RVR�RBR=tincomings$%s incoming changes - new heads: %s s, i( R2RnR�RR�R?R�R�R(R�R;tnewheadsR�(R�R\R]toldheadsR tsrctypeR=(s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pytrunhooksn s!   +  N(=R�R;R�R�RR?R�RR�ROR�R R2RRR�RR�tchangelogheadertaddgroupRRSR�R�R�RR�R�R�tmanifestheaderR�R�RzR�R�t readdeltaR�R1Rt filelogheaderRnROR�R�R�R�RR:R�R�RURVRWRRR8R&R7R0R�R($R RBR�R=temptyokR�R�R�R�t revisionstefilesR�RR�tprt srccontentR^R�t needfilestcsettmfestRLR�t chunkdatatfltotneedsRHtdhR?R;thtextR�R�RLR�((R�R\R]R�R R�R=s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRD�s�     '           "'             "    +      !  cs��j�}zxd}|jd�r3|j�}n|j�}|j�}yt|�}Wn)tk r�tj t d�|��nX|dkr�t j t d���nH|dkr�t j t d���n$|dkr�t j t d���n�j jt d ��|j�}y%tt|jd d��\}} Wn/ttfk rktj t d�|��nX�j jt d �|t j| �f�d} �j jt d �dd | �tj�} x-t|�D]} |j�}y(|jdd�\} }t|�}Wn/ttfk r>tj t d�|��nX�j jrq�j jd| t j|�f�n�jtj| �d�}xYt j|d|�D]B}| t|�7} �j jt d �| d | �|j|�q�W|j�q�Wtj�| }|dkrd}n�j jt d �d��j jt d�t j| �|t j| |�f�|jt �j!��j"��j#|��j$�|reg}x!|j%�D]}|j&|�q�W|ret'�fd�|D��}tj(|�|j)�|�}xMdD]B}�j*|�}|j+|�r|�j,|<|j|�PqqWqen�j-�t�j.��dSWd|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 tcloneR�tsadding %s (%s) R�tlimitg����MbP?s(transferred %s in %.1f seconds (%s/sec) c3s'|]}t�jj|��VqdS(N(R�R�R�(R�R�(R (s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pys <genexpr>� sRpt immutableR,(sbaseR�sserved(0RCRRRR&t stream_outtreadlineR�R"R�t ResponseErrorRR�RR2RtmapR�t TypeErrort bytecountR�ttimeRSR�RnR�R\t decodedirt filechunkiterR�R�R8R�R�R5R6R�R�R2R�tmaxt branchcacheR�R0tvalidforR�R�R?R(R RBR5RCt rbranchmapR�R0RJt total_filest total_bytest handled_bytesRARJRtsizetofpR�telapsedtrbheadsRDtrtiprevR t candidatetrview((R s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt stream_in� s�        %                cCs�|s|jd�}n|r�| r�|jd�rJ|j|td��S|jd�}|r�t|jd��}||js�|j||�Sq�n|j||�S(s�clone remote repository. keyword arguments: heads: list of revs to clone (forces use of pull) stream: use streaming clone if possiblesstream-preferredtstreamRZt streamreqst,(RZ(RRRR�R�R6RK(R RBR?RR((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR�� s  c Cs�|jddtd|d|d|d|�|jjd||f�tj|||||�}|jdd|d|d|d|d |�|S( Nt prepushkeyR�RFR>RGRHspushing key for "%s:%s" R'R(R�R;R2RnR'Rm(R RFR>RGRHR((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR' s $cCs\|jddtd|�|jjd|�tj||�}|jdd|d|�|S(Nt prelistkeysR�RFslisting keys for "%s" RItvalues(R�R;R2RnR'R�(R RFR((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRI s cCsd|||||fS(s+used to test argument passing over the wires%s %s %s %s %s((R RJRKRLRMRN((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRO scCsR|jdd�}z|j|�Wd|j�X|j|jt|j�d�S(Nslast-message.txttwbi(R|R�R8RZRR�Rt(R R�R�((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR� s  (srevlogv1s generaldelta(sstoresfncacheR^s dotencode(srevlogv1s generaldeltaN({RRR�R6R�R�R5RR8RaRzR/R8R3R�R�RxR-RR0RR�R�R�RR�R�R�R�R�R�R�R�R�R�R�R=R�R$RR�RR�R�RR/RR4R6R&R<R>RAR%RCR(R:RKRRMROR�RPRRQRWRYRZR R^RlRpRRrRtRuRwR{R|R�R�R�R�R�R�R�RR�R�R�R�R�R;RCR�R�RR�R�R�RRR?RFRSRTRKRdRmR�R*RyR)R�RVRxRDRR�R'RIROR�(((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyRY�s�     g     &               C   !                            B      P�Q"    �   T �   l ^� ] cs2g|D]}t|�^q��fd�}|S(NcsFx?�D]7\}}}y|j||�Wqtk r=qXqWdS(N(R�R (Rotsrctdest(t renamefiles(s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR# s  (R�(R�R#R((R s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR�! scCsOtjj|�\}}|jd�s-t�tjj||jddd��S(NR}R�i(R�RuR�R�tAssertionErrorRtreplace(RiRpR((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyR�+ scCst|tj|�|�S(N(RYR�t urllocalpath(R2RuR`((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pytinstance0 scCstS(N(R;(Ru((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pytislocal3 s(@R�RRRti18nRR-RVR�RPR'R�R�R�R�RNR�R�R�R�RCR�R\R RnR�R�R�R�R�R�RR�R�R�R(RR�R�R�R�RdR&t propertycachet filecacheRRRRRR$R�RPtunionRRR.R+RQRRYR�R�RR(((s9/usr/lib64/python2.7/site-packages/mercurial/localrepo.pyt<module>sJTT0H   <      <����������