PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB`Mini Shell

HOME


Mini Shell 1.0
DIR:/lib64/python2.7/site-packages/mercurial/
Upload File :
Current File : //lib64/python2.7/site-packages/mercurial/merge.pyo
�
Hq�Qc@sCddlmZmZmZmZddlmZddlmZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZdefd��YZd�Zd�Zd	�Zd
�Zed�Zd�Zd
�Zd�Zed�Zd�Zded�Z!dS(i����(tnullidtnullrevthextbin(t_(tobsoleteNt
mergestatecBskeZdZd�Zdd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
RS(s+track 3-way merge state of individual filescCs ||_t|_|j�dS(N(t_repotFalset_dirtyt_read(tselftrepo((s5/usr/lib64/python2.7/site-packages/mercurial/merge.pyt__init__s		cCsDi|_|r||_ntj|jjd�t�t|_dS(Ntmerge(	t_statet_localtshutiltrmtreeRtjointTrueRR	(Rtnode((s5/usr/lib64/python2.7/site-packages/mercurial/merge.pytresets
	cCs�i|_y�|jjd�}xdt|�D]V\}}|dkrYt|d �|_q+|d jd�}|d|j|d<q+W|j�Wn+tk
r�}|j	t	j
kr��q�nXt|_dS(Nsmerge/stateii����ti(
RRtopenert	enumerateRRtsplittclosetIOErrorterrnotENOENTRR	(Rtftitltbitsterr((s5/usr/lib64/python2.7/site-packages/mercurial/merge.pyR
s	
cCs�|jr�|jjdd�}|jt|j�d�x>|jj�D]-\}}|jdj|g|�d�qHW|j	�t
|_ndS(Nsmerge/statetws
R(R	RRtwriteRRRt	iteritemsRRR(RRtdtv((s5/usr/lib64/python2.7/site-packages/mercurial/merge.pytcommit)s	%
cCs�tj|j��j�}|jjjd||j��d||j�|j�t|j	��|j�|j
�g|j|<t|_
dS(Nsmerge/tu(tutiltsha1tpatht	hexdigestRRR%tdataRtfilenodetflagsRRR	(Rtfcltfcotfcatfdthash((s5/usr/lib64/python2.7/site-packages/mercurial/merge.pytadd1s
 .cCs
||jkS(N(R(Rtdfile((s5/usr/lib64/python2.7/site-packages/mercurial/merge.pyt__contains__7scCs|j|dS(Ni(R(RR8((s5/usr/lib64/python2.7/site-packages/mercurial/merge.pyt__getitem__9sccs3|jj�}|j�x|D]}|Vq WdS(N(Rtkeystsort(RR!R((s5/usr/lib64/python2.7/site-packages/mercurial/merge.pyt__iter__;s

cCs||j|d<t|_dS(Ni(RRR	(RR8tstate((s5/usr/lib64/python2.7/site-packages/mercurial/merge.pytmark@scCs�||dkrdS|j|\}}}}}}	}
||}||	}|jj|d|�}
|j�}|
j�}d|
||kr�d|
||kr�|
j�tkr�|jjjtd�|�q�|
|kr�|}
q�n|jj	d|�}|jj
||j�|
�|j�t
j
|j|j||||
�}|dkre|j|=n|s~|j|d�n|S(NtritfileidtxR!s#warning: cannot merge flags for %s
smerge/(RRtfilectxR1RRtuitwarnRRtwwritetreadRt	filemergeRtNoneR?(RR8twctxtoctxR>R6tlfiletafiletanodetofileR1tfcdR3R4tflotflaRR@((s5/usr/lib64/python2.7/site-packages/mercurial/merge.pytresolveCs."

(
$
N(t__name__t
__module__t__doc__R
RIRR
R)R7R9R:R=R?RS(((s5/usr/lib64/python2.7/site-packages/mercurial/merge.pyRs								cCs^|jj|�o]tjj|j|��o]|jj|�|jko]||j||�S(N(tdirstatet_ignoretosR-tisfiletwjoint	normalizetcmp(RRJtmctxR((s5/usr/lib64/python2.7/site-packages/mercurial/merge.pyt_checkunknownfile_scCs�t}xU|D]M}||kr
t||||�r
t}|jjjtd�|�q
q
W|r|tjtd���ndS(s<check for collisions between unknown files and files in mctxs%s: untracked file differs
sLuntracked files in working directory differ from files in requested revisionN(	RR_RRRDRERR+tAbort(RRJR^terrorR((s5/usr/lib64/python2.7/site-packages/mercurial/merge.pyt
_checkunknownes
!$cCs�g}|rdpd}x<|j�D].}||kr%|j||ddf�q%q%W|s�x?|j�D].}||krj|j|dddf�qjqjWn|S(s�
    Forget removed files

    If we're jumping between revisions (as opposed to merging), and if
    neither the working directory nor the target rev has the file,
    then we need to remove it from the dirstate, to prevent the
    dirstate from listing the file when it is no longer in the
    manifest.

    If we're merging, and the other revision has removed a file
    that is not present in the working directory, we need to mark it
    as removed.
    R@Rsforget deletedsforget removedN(tdeletedtappendRItremoved(RJR^tbranchmergetactionsR>R((s5/usr/lib64/python2.7/site-packages/mercurial/merge.pyt_forgetremovedqs #cs�t|���fd�}�fd�}d�}�fd�}�fd�}i	|d6|d6|d6|d	6|d
6|d6|d6|d
6|d6}	x6|D].\}
}}}
|	j|�}||
|�q�Wi|d6|d6}	x0|D](\}
}|	j|�}||
d�q�Wi}x_t��D]Q}
tj|
�}||krptjtd�|
||f��n|
||<q)WdS(Ncs�j|�dS(N(R7(Rtargs(tpmmf(s5/usr/lib64/python2.7/site-packages/mercurial/merge.pytaddop�scs�j|�dS(N(tdiscard(RRi(Rj(s5/usr/lib64/python2.7/site-packages/mercurial/merge.pytremoveop�scSsdS(N((RRi((s5/usr/lib64/python2.7/site-packages/mercurial/merge.pytnop�scs6|\}}}|r%�j|�n�j|�dS(N(RlR7(RRitf2R5R1(Rj(s5/usr/lib64/python2.7/site-packages/mercurial/merge.pytrenameop�scs6|\}}}|r%�j|�n�j|�dS(N(RlR7(RRiRoR5tmove(Rj(s5/usr/lib64/python2.7/site-packages/mercurial/merge.pytmergeop�staR'tdrteRtgtmR@trdtcdtdcs(case-folding collision between %s and %s(tsettgetRItsortedR+tnormcaseR`R(RtwmfRgtpromptsRkRmRnRpRrtopmapRRwRitmsgtoptfoldmaptfold((Rjs5/usr/lib64/python2.7/site-packages/mercurial/merge.pyt_checkcollision�s@	

c*Cs�	|o
|}gii}	}
}t}|r6|}n_||krQ|j�}nD|rn|jdt�rnn'|r�|jjddt�r�t}ngt|j�||gdd��D]}
|
j�^q�|rvt	j
||||�}|\}
}}}x6|j�D](\}}|	j|d|fdf�qWx9|j�D](\}}|	j|d|fd	f�qGWn|jj
td
��|jjdt|�t|�t|�f�|jjd|||f�|j�|j�|j�}}}t|
j��}|j|j��d
|kruxCt|j�D]/}|j|�j�r?|d
cd7<Pq?q?Wngg}}tj||�}|j|�}tj||�}x�|j�D]�\}\}}|r�|\} }!n(|j|d5�} }!| d5krq�n|r&|\}"}#n|j|�}"}#|rR||�rRq�n| r�|!r�|j|�}$d|"|#|$k}%|j|t�}&|!|&kr�|#|$kr�qg| |&kr|"|$kr| |!kr�|	j|d|#fdf�q�|	j|d|#fdf�qg|%rA|!|&krA|	j|d|#fdf�qg|%rr| |&krr|	j|d|"fdf�qg|	j|d||tfdf�q�||kr�q�| r�||kr�||}'|	j|dd5|'|"fd|'f�q�| r0||
kr0|
|}'|	j|d|'|tfd|'f�q�| r�||kr�| ||krh|j|df�qg| ddkr�|	j|dd5df�qg|	j|dd5df�q�|!r�||kr�||}'|	jd5d||'|#fd |'f�q�|!ro||
kro|
|}'|'|krF|	j|'d||tfd!|f�qg|	j|'d||tfd"|f�q�|!r;||kr;|r�|r�|	j|d|#fd#f�qgt||||�}(|r�|r�|(r�|	j|d||tfd$f�qg|r|(r|j|d%f�qg|	j|d|#fd#f�q�|!r�|!||kr�|j|d&f�q�q�WxCt|�D]5\}})|)d%krx|jjtd'�|�qxqxW|r�t j!td(���nt j"|j#�s3|r|s|jdtd)t�rt$||gg�q3t$|||	|�nxSt|�D]E\}})|)dkr�|rz|	j|dd5d*f�q�	|jj%td+�|td,�td-�fd.�r�|	j|dd5d/f�q�	|	j|dd5d0f�q@|)d&kr@|r 	|	j|d|j|�fd1f�q�	|jj%td2�|td,�td3�fd.�d.kr�	|	j|d|j|�fd4f�q�	q@q@W|	S(6s�
    Merge p1 and p2 with ancestor pa and generate merge action list

    branchmerge and force are as passed in to update
    partial = function to filter file lists
    acceptremote = accept the incoming changes without prompting
    tmissingRtfollowcopiestkeycSs
|j�S(N(trev(RB((s5/usr/lib64/python2.7/site-packages/mercurial/merge.pyt<lambda>�sRtsdivergent renamesRxsrename and deletesresolving manifests
s) branchmerge: %s, force: %s, partial: %s
s% ancestor: %s, local: %s, remote: %s
s.hgsubstatet+R!Rusupdate permissionsRvsremote is newerRwsversions differR'sremote renamed directory to slocal copied/moved to RyiRsRsremote deletedR@s
other deletedslocal renamed directory to sremote copied to sremote moved to sremote createds#remote differs from untracked localtudRzs%s: untracked file differs
sLuntracked files in working directory differ from files in requested revisiontbranchs
remote deletesHlocal changed %s which remote deleted
use (c)hanged version or (d)elete?s&Changeds&Deleteis
prompt deletesprompt keepsremote recreatingsOremote changed %s which local deleted
use (c)hanged version or leave (d)eleted?s&Deletedsprompt recreatingN(&Rtp1tdirtyRRDt
configboolR}tparentstmanifesttcopiestmergecopiesR&RdtnoteRtdebugtboolR{tvaluestupdatetsubstatetsubtdicthelperstdifft	flagsdiffRR|RIR1RR_RER+R`t	checkcaseR-R�tpromptchoice(*RRJtp2tpaRftforcetpartialtacceptremotet	overwriteRgtcopytmovewithdirR�RBtrettdivergetrenamedeletetoftfltm1tm2tmatcopiedtstabortsR�tfdiffR�tdiff12Rtn12tfl12tn1tn2tfl1tfl2RRtnolRsRot	differentRw((s5/usr/lib64/python2.7/site-packages/mercurial/merge.pyt
manifestmerge�s

		9 ##&
%







		(		$+cCs |ddkrdpd|fS(NiR@i����i((Rs((s5/usr/lib64/python2.7/site-packages/mercurial/merge.pyt	actionkeysccs|jj}tj}|j}|j}|j}|jj}	d}
x|D]}|d}|ddkr�|r�|jj	t
d�|�n|	|�y|||�dt�Wq3tk
r�}
|jj
t
d�||
jf�q3XnG|r|jj	t
d�|�n||||�j�|dd�|
d	krS|
|fVd}
n|
d7}
qIW|
dkr{|
|fVnd
S(s�apply usually-non-interactive updates to the working directory

    mctx is the context to be merged into the working copy

    yields tuples for progress updates
    iiR@sremoving %s
t
ignoremissings update failed to remove %s: %s!
sgetting %s
iidN(RDtverboseR+t
unlinkpathR[RCRFtwopenertauditR�RRtOSErrorREtstrerrorR/(RR^R�RiR�tunlinkR[tfctxRFR�R targRtinst((s5/usr/lib64/python2.7/site-packages/mercurial/merge.pyt	getremove�s6				


$	c(Cs�d\}}}}	t|�}
|
j|j�j��g}|jdt�xB|D]:}|\}
}}}|jjd|
||f�|dkrT|\}}}|dkr�qTn|jjd|
|f�||
}||}||kr#|j�r|j�}q5|j	|
dt
�}n|j||�}|sS|j	|
dt
�}n|
j||||�|
|kr�|r�|j
|
�q�qTqTW|jj}x`|D]X}
tjj|j|
��r�|jjd|
�||
�tj|j|
��q�q�Wt|�}g|D]}|d	d
kr|^q}g|D]}|d	dkr=|^q=}t|�}g|D]}|d	dkrr|^qr}t|�}g|D]}|d	d
kr�|^q�}g|D] }|ddkr�|d	^q�}|r(|ddkr(tj|||||�nd}tj|jd
t|||f|�}xO|D]G\}} ||7}|jjtd�|d| d|dtd��q\Wtj|jd
t|||f|�}xO|D]G\}} ||7}|jjtd�|d| d|dtd��q�W|rR|ddkrRtj|||||�ntd�}!td�}"|jj}#x�t|�D]�\}}|\}
}}}|#|!||d	d|
d|d|"�|dkr�|\}}}|dkrtj||||j|�|�q�n||�|
j|||�}$|$dk	r[|$dkr[|	d	7}	qa|$dkrt|d	7}qa|d	7}q�|dkr_|\}}}%|
r|jj td�|
|f�||
�|j!||j	|
�j"�|%�tj|j|
��n|rR|jj td�||f�|j!||j	|�j"�|%�n|d	7}q�|dkr�|\}&|jj#td�|
�x�|&D]}'|jj#d|'�q�Wq�|dkr
|\}&|jj#td�|
�xy|&D]}'|jj#d|'�q�Wq�|dkr�|\}%||
�tj$|j|
�d|%kd|%k�|d	7}q�q�W|
j%�|#|!dd|d|"�||||	fS( sMapply the merge action list to the working directory

    wctx is the working copy context
    mctx is the context to be merged into the working copy
    actx is the context of the common ancestor

    Return a tuple of counts (updated, merged, removed, unresolved) that
    describes how many files were affected by the update.
    iR�s %s: %s -> %s
Rws.hgsubstates"  preserving %s for resolve of %s
RAsremoving %s
itgrRvR@g����MbP?tupdatingtitemttotaltunittfilesR'smoving %s to %s
sgetting %s to %s
Rts<note: possible conflict - %s was renamed multiple times to:
s %s
Rxs9note: possible conflict - %s was deleted and renamed to:
RuR!RB(iiiiN(&RRR�RR<R�RDR�R�RCRtancestorR7RdR�R�RYR-tlexistsR[R+R�tlentsubrepotsubmergetworkerR�tprogressRRRSRIR�RFR/REtsetflagsR)((RRgRJR^tactxR�tupdatedtmergedRet
unresolvedtmstmovesRsRRwRiR�RoR5RqR2R3R4R�t
numupdatest
workeractionst
updateactionst
removeactionsthgsubtztprogR R�t	_updatingt_filesR�R@R1R�tnf((s5/usr/lib64/python2.7/site-packages/mercurial/merge.pytapplyupdates�s�




))))-	
$	
$'



 
" %
	
	
	
(
c	
CsZg}|t||||||||�7}|j�dkrV|t|||�7}n|S(s4Calculate the actions needed to merge mctx into tctxN(R�R�RIRh(	RttctxR^R�RfR�R�R�Rg((s5/usr/lib64/python2.7/site-packages/mercurial/merge.pytcalculateupdates,s
cCs�x�|D]~}|\}}}}|dkrW|rD|jj|�q�|jj|�q|dkr|s�|jj|�q�q|dkr�|jj|�q|dkr�|jj|�q|dkr�|r�|jj|�q�|jj|�q|dkr�|\}}	}
|r�|jj|	�||kr�|
rK|jj|�n||	krm|jj||	�q�|jj||	�q�q�||	kr�|jj|	�n|
r�|jj|�q�q|dkr|\}}	}|r�||jkr�qn|rY|jj|	�|r:|jj|�|jj||	�n|r�|jj||	�q�q�|jj|	�|r�|jj|�q�qqWdS(	s$record merge actions to the dirstateR@RsRRuRvRwR'N(	RWtremovetdropR7tnormallookuptotherparenttnormalRR�(RRgRfRsRRwRiR�RoR5Rqtflag((s5/usr/lib64/python2.7/site-packages/mercurial/merge.pyt
recordupdates8sZ
cCs;|}|j�}z�|d}	|dkr�y|j|	j��}Wq�tjk
r�|	j�dkr{|jd�}q�tjt	d�|	j���q�Xn|o�|}
|	j
�}|d||}}
|r�||}n|j|
�}|j�|
j�t
|�t
|
�f\}}}}|
rXt|�dkrXtjt	d���n|re||
kr�tjt	d���nR||kr�|r�|j�|
j�kr�tjt	d�d	t	d
���q�n|r|	j�s�|	j�rtjt	d�d	t	d���nxt|	j�D]7}|	j|�j�r'tjt	d
�|��q'q'Wn�|
s)|||
fkr)|	jdt�}|s�|dkrtj||j�g�}||j�|kr�|}q#|r�t	d�}tj|��q#t	d�}tj|��q&|}q)nt||	|
|||||�}|sq|t|df\}}}}n|s�|jddtd|d|�nt|||	|
||
�}|s�|j||�t|||�|s�|jj|
j��q�nWd|j �X|s7|jdd|d|d|d�n|S(s�
    Perform a merge between the working directory and the given node

    node = the node to update to, or None if unspecified
    branchmerge = whether to merge between branches
    force = whether to force branch merging or file overwriting
    partial = a function to filter file lists (dirstate not updated)
    mergeancestor = whether it is merging with an ancestor. If true,
      we should accept the incoming changes for any prompts that occur.
      If false, merging with an ancestor (fast-forward) is only allowed
      between different named branches. This flag is used by rebase extension
      as a temporary fix and should be avoided in general.

    The table below shows all the behaviors of the update command
    given the -c and -C or no options, whether the working directory
    is dirty, whether a revision is specified, and the relationship of
    the parent rev to the target rev (linear, on the same named
    branch, or on another named branch).

    This logic is tested by test-update-branches.t.

    -c  -C  dirty  rev  |  linear   same  cross
     n   n    n     n   |    ok     (1)     x
     n   n    n     y   |    ok     ok     ok
     n   n    y     *   |   merge   (2)    (2)
     n   y    *     *   |    ---  discard  ---
     y   n    y     *   |    ---    (3)    ---
     y   n    n     *   |    ---    ok     ---
     y   y    *     *   |    ---    (4)    ---

    x = can't happen
    * = don't-care
    1 = abort: crosses branches (use 'hg merge' or 'hg update -c')
    2 = abort: crosses branches (use 'hg merge' to merge or
                 use 'hg update -C' to discard changes)
    3 = abort: uncommitted local changes
    4 = incompatible options (checked in commands.py)

    Return the same tuple as applyupdates().
    tdefaultttipsbranch %s not foundiisoutstanding uncommitted mergess7merging with a working directory ancestor has no effectsnothing to mergethints#use 'hg update' or check 'hg heads'soutstanding uncommitted changessuse 'hg status' to list changess5outstanding uncommitted changes in subrepository '%s'R�sCcrosses branches (merge branches or use --clean to discard changes)sCcrosses branches (merge branches or update --check to force update)tt	preupdatetthrowtparent1tparent2NR�Rai(!twlockRIt	branchtipR�RatRepoLookupErrortlookupR+R`RR�R�RtstrR�R�RcR}R�R�R�RRt
foregroundR�RthookR�t
setparentsR�RWt	setbranchtrelease(RRRfR�R�R�t
mergeancestortonodeR�twcR�tplR�R�R�tfp1tfp2txp1txp2R�R�RR�Rgtstats((s5/usr/lib64/python2.7/site-packages/mercurial/merge.pyR�vs~+
&

6	!" &("RRRRRti18nRt	mercurialRRaR+RHR�R�R�R�RRYRtobjectRR_RbRhR�RR�R�R�R�R�R�RIR�(((s5/usr/lib64/python2.7/site-packages/mercurial/merge.pyt<module>s""T$Q				9�		$	�	>