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/hgext
Viewing File: /usr/lib64/python2.7/site-packages/hgext/rebase.pyc
� Hq�Qc@sdZddlmZmZmZmZmZmZmZddlm Z m Z m Z m Z m Z mZddlmZddlmZddlmZddlmZddlZddlZd Zd ZiZeje�Zd Zed d dded�ed�fddded�ed�fddged�ed�fddded�ed�fddeed�fddded�ed �fd!d"eed#�fd$d%ded&�ed'�fdd(eed)�fdd*eed+�fd,d-eed.�fd/d0ded1�fd2d3eed4�fd5d6eed7�fgeed8��d9��Zd:�Z e!e!e!d;�Z"d<�Z#d=�Z$d>�Z%d?�Z&d@�Z'dA�Z(dB�Z)dC�Z*dD�Z+dE�Z,dF�Z-e!dG�Z.dH�Z/dI�Z0dS(Js�command to move sets of revisions to a different ancestor This extension lets you rebase changesets in an existing Mercurial repository. For more information: http://mercurial.selenic.com/wiki/RebaseExtension i����(thgtutiltrepairtmergetcmdutiltcommandst bookmarks(t extensionstpatchtscmutiltphasestobsoleteterror(t templateopts(tnullrev(trelease(t_Ni����i����tinternaltrebasetstsourcets#rebase from the specified changesettREVtbtbasesarebase from the base of the specified changeset (up to greatest common ancestor of base and dest)trtrevsrebase these revisionstdtdests#rebase onto the specified changesettcollapsescollapse the rebased changesetstmtmessages#use text as collapse commit messagetTEXTtetedits invoke editor on commit messagestltlogfiles&read collapse commit message from filetFILEtkeepskeep original changesetst keepbranchesskeep original branch namestDtdetachs (DEPRECATED)ttttoolsspecify merge tooltctcontinuescontinue an interrupted rebasetatabortsabort an interrupted rebases#[-s REV | -b REV] [-d REV] [OPTION]c1KsM d3}}d3}t}i}t�}t�} d3} |jd�rOtj} nd3} } z� |j�} |j�} |jdd3�} |jdd3�}|jdd3�}|jdg�}|jd�}|jd�}|jdt�}tj ||�}|jd �}|jd t�}|jd t�}|jd t�}|rh| rht j t d ���n|st|rK|r�|r�t j t d���n|r�t j t d���n|s�|s�| r�t j t d���n|jdt�r|j t d��nt|�\ }}}}}}}}}|r�t||||�Snj|ro|rot j t d���n|r�|r�t j t d���n|r�|r�t j t d���ntj|�| s�|d3j�}||}ntj|| �}|r|jd|�}nc|rDtj||g�}|jd|�}n3tj||pVdg�}|jd|||�}|r�t|�}nd3}|s�|jjd�d3}n^|p�tj r�|jd||�r�t j t d�dt d���nt||||�}|s,|jt d��d S| rp||j� rpt j t d!�||dt d"���nE|\}}}|r�|jj|gd#t �} t!||| �}n|r>| s�t"d$��d%�}|r>t�} xR|D]G}!| j#||!j��t$| �d kr�t j t d&���q�q�Wq>n| sb|jj|gd#t �} n|j%j&�}"|p}|j'}|r�t(j)|�nt*|�}#t$|#�}$d'}%x|#D]}!|%d 7}%||!d(kr�|j+t d)�|%d*|!||!ft d+�|$�t,|||||||||� t-||!||| �\}&}'t$|j.��d,kry|jjd-�n�zi|j/d.d/|jdd0��t0||!|&||�}(|(r�|(d1d'kr�t1j2t d2���nWd3|j/d.d/d0�Xtj3||!|�|s6t4||!|&|'d |d4| �})n|j5||&j6��d3})|)d3k rv||)j7�||!<q�|s�|j8t d5�|!�|jd6|&�|j#|!�n|&||!<q�q�W|j+t d)�d3�|j8t d7��|r�| r�t-|t|�||| �\}&}'|r.|}*nid8}*xE|D]=}+|+|kr;||+t9kr;|*d9||+j:�7}*q;q;W|j;|*|jj<��}*t4||!|&|d:|*d |d4| �})nd;|j=�kr�t>||||�n|"rR i},xG|j?�D]9\}-}.|.t9kr ||.j6�|,||-j6�<q q W||j6�}/n|s� d3}0|rm |)}0nt@|||||0�n|"r� tA||/|,|"�ntB|�|j8t d<��t jC|jDd=�d>t �|r |j8t d?�t$|��n|r7 |d@j6�|j%|kr7 t(jE||�nWd3tF| | �Xd3S(As� move changeset (and descendants) to a different branch Rebase uses repeated merging to graft changesets from one part of history (the source) onto another (the destination). This can be useful for linearizing *local* changes relative to a master development tree. You should not rebase changesets that have already been shared with others. Doing so will force everybody else to perform the same rebase or they will end up with duplicated changesets after pulling in your rebased changesets. In its default configuration, Mercurial will prevent you from rebasing published changes. See :hg:`help phases` for details. If you don't specify a destination changeset (``-d/--dest``), rebase uses the tipmost head of the current named branch as the destination. (The destination changeset is not modified by rebasing, but new changesets are added as its descendants.) You can specify which changesets to rebase in two ways: as a "source" changeset or as a "base" changeset. Both are shorthand for a topologically related set of changesets (the "source branch"). If you specify source (``-s/--source``), rebase will rebase that changeset and all of its descendants onto dest. If you specify base (``-b/--base``), rebase will select ancestors of base back to but not including the common ancestor with dest. Thus, ``-b`` is less precise but more convenient than ``-s``: you can specify any changeset in the source branch, and rebase will select the whole branch. If you specify neither ``-s`` nor ``-b``, rebase uses the parent of the working directory as the base. For advanced usage, a third way is available through the ``--rev`` option. It allows you to specify an arbitrary set of changesets to rebase. Descendants of revs you specify with this option are not automatically included in the rebase. By default, rebase recreates the changesets in the source branch as descendants of dest and then destroys the originals. Use ``--keep`` to preserve the original source changesets. Some changesets in the source branch (e.g. merges from the destination branch) may be dropped if they no longer contribute any change. One result of the rules for selecting the destination changeset and source branch is that, unlike ``merge``, rebase will do nothing if you are at the latest (tipmost) head of a named branch with two heads. You need to explicitly specify source and/or destination (or ``update`` to the other head, if it's the head of the intended source branch). If a rebase is interrupted to manually resolve a merge, it can be continued with --continue/-c or aborted with --abort/-a. Returns 0 on success, 1 if nothing to rebase. R"RRRRR-R/RtextrafnR&R'tkeepopens+message can only be specified with collapses"cannot use both abort and continues*cannot use collapse with continue or aborts4abort and continue do not allow specifying revisionsR+stool option will be ignored s'cannot specify both a source and a bases)cannot specify both a revision and a bases+cannot specify both a revision and a sources%lrs(%ld)::t.s+(children(ancestor(%ld, %d)) and ::(%ld))::s base is ancestor of destination sfirst(children(%ld) - %ld)s;can't remove original changesets with unrebased descendantsthints&use --keep to keep original changesetssnothing to rebase is#can't rebase immutable changeset %sssee hg help phases for detailst inclusives(cannot use both keepbranches and extrafncSs|j�|d<dS(Ntbranch(R5(tctxtextra((s2/usr/lib64/python2.7/site-packages/hgext/rebase.pyR0�ss'cannot collapse multiple named branchesii����trebasings%d:%st changesetsisresuming interrupted rebase tuit forcemergeRis@unresolved conflicts (see hg resolve, then hg rebase --continue)Nteditors no changes, revision %d skipped snext revision set to %s srebase merging completed sCollapsed revisions * %st commitmsgtqtipsrebase completed tundot ignoremissings%d revisions have been skipped ttip(GtNoneRtsettgetRtcommitforceeditortwlocktlocktFalset logmessageRtAbortRtwarnt restorestatusR/t bailifchangedR5R t revsingletrevstrevrangetminR:tdebugR t_enabledt buildstatetstatustmutablet changelogt ancestorstTruet checkexternaltAssertionErrortaddtlent _bookmarkstcopyt_bookmarkcurrentRt unsetcurrenttsortedtprogresst storestatust defineparentstparentst setconfigt rebasenodeR tInterventionRequiredtduplicatecopiest concludenodet setparentstnodeRtnotet nullmerget descriptionR"tusernamettagstupdatemqt iteritemst clearrebasedtupdatebookmarkst clearstatust unlinkpathtsjoint setcurrentR(1R:trepotoptst originalwdttargettactivebookmarktexternaltstatetskippedttargetancestorsR<RGRFtdestftsrcftbaseftrevftcontftabortft collapseft collapsemsgR0tkeepft keepbranchesfR1R5Rt rebasesettsrcRtroottresulttbranchesRtcurrentbookmarkst sortedstatettotaltpostp1tp2tstatstnewrevR=trebasedtnstatetktvt targetnodet collapsedas((s2/usr/lib64/python2.7/site-packages/hgext/rebase.pyR s\R          '              "    #       %   cCs�t}t|�}x�|D]�}||kr1qnxo||j�D]]}|j�|krB|j�|krB|tkr�tjtd���n|j�}qBqBWqW|S(ssCheck whether one or more external revisions need to be taken in consideration. In the latter case, abort. s:unable to collapse, there is more than one external parent(RRQRfRRRJR(R{R�R�R�RRtp((s2/usr/lib64/python2.7/site-packages/hgext/rebase.pyRZ[s    c Cs<y|j||j�||j��||}|dkrL|j�}ni|j�d6}|ru|||�n|jd|d|j�d|j�d|d|�} |jj || j ��t |j �t j�} || j�} | r t j|| | g�n| SWn$tjk r7|jj��nXdS(s8Commit the changes and store useful information in extrat rebase_sourcettexttusertdateR7R<N(RlRmRBRpthextcommitR�R�tdirstatet setbranchR5tmaxtphaseR tdrafttretractboundaryRRJt invalidate( R{RR�R�R=R<R0R6R7R�t targetphasetnewnode((s2/usr/lib64/python2.7/site-packages/hgext/rebase.pyRkns&$   cCs |dj�||j�krd|jjd||j�||f�tj||ttt�n|jjd�|jj�|jjd||j�||f�d}||j�|t |�j�kr�||j �j �}ntj||ttt||�S(sRebase a single revisionR2s update to %d:%s s already in target s merge against %d:%s N( RR:RRRtupdateRHRYR�twriteRBRQR�Rm(R{RR�R�RR((s2/usr/lib64/python2.7/site-packages/hgext/rebase.pyRh�s ( (&cCsXg|D]}||tkr|^q}|jd||�}|rP||dSdSdS(s8return the nearest ancestors of rev in the rebase resultsmax(%ld and (::%d))iN(RoRORB(R{RR�RR�t candidates((s2/usr/lib64/python2.7/site-packages/hgext/rebase.pytnearestrebased�s ) c Cs�||j�}t}}|dj�}||kr?|}nx||kr�||tkrd|}q�||tkr�t|||�}|dkr�|}q�q�||}n |}|}t|�dkr�|dj�|kr�|dj�} | |kr[||kr|| }q�|| tkrNt|| |�}|dkrX|}qXq�|| }q�|tkr�tj t d�|��n| }n|j j d||j�||j�f�||fS(sGReturn the new parent relationship of the revision that will be rebasediiis;cannot use revision %d as base, result would have 3 parentss future parents are %d and %d N( RfRRRot revignoredR�RBR]RRJRR:RR( R{RR~R�R�RfR�R�tP1ntP2n((s2/usr/lib64/python2.7/site-packages/hgext/rebase.pyRe�s@        (          "cCsUtjj|jj|�}x3tjt|d��D]}|jd�r4tSq4Wt S(s/Return true if the given patch is in git formattrbs diff --git( tostpathtjointmqRt linereadertfilet startswithRYRH(R{t patchnametmqpatchtline((s2/usr/lib64/python2.7/site-packages/hgext/rebase.pyt isagitpatch�s c Ks�i}|j}|j}t�}x|jD]t}||jj�} | |kr�|jjd| |jf�|jt ||j�f|| <q,|j |j�q,W|r�|j ||j ��x�t |dt�D]�} | |krE|| \} } |jjd|| | f�|j|d d| d| dt|| �g�q�|j || d�q�Wg|D]+} |jj| d�d|kre| ^qe} | |j(t|_|j�nd S( s9Update rebased mq patches - finalize and then import thems.revision %d is an mq patch (%s), finalize it. treversesimport mq patch %d (%s) R�tgitRiiN((R�t fullseriesRCtappliedRmRR:RRtnameR�R\tfinishtkeysRbRYtqimporttstrtguard_retsplitt seriesdirtyt savedirty(R{R�R�R|tmqrebaseR�toriginal_seriestskippedpatchesR�RR�tisgitRt newseries((s2/usr/lib64/python2.7/site-packages/hgext/rebase.pyRs�s2     "  +  cCsg|j}xM|j�D]?\}}||kr||||<tj||g|�qqW|j�dS(sEMove bookmarks to their correct changesets, and delete divergent onesN(R^RtRtdeletedivergentR�(R{R�R�toriginalbookmarkstmarksR�R�((s2/usr/lib64/python2.7/site-packages/hgext/rebase.pyRv�s   c CsF|jdd�} | j||j�d�| j||j�d�| j||j�d�| jdt|��| jdt|��| jdt|��| jd|p�d�xf|j�D]X\} } || j�} | tkr|| j�} n| } | jd| | f�q�W| j�|jjd�d S( s*Store the current status to allow recoveryt rebasestatetws s%d s%s Rs%s:%s srebase status stored N( topenerR�R�tintRtRotcloseR:RR(R{R}R~R�RR&R'R�RtfRR�toldrevR�((s2/usr/lib64/python2.7/site-packages/hgext/rebase.pyRds   cCs tj|jd�dt�dS(sRemove the status filesR�R@N(RRxR�RY(R{((s2/usr/lib64/python2.7/site-packages/hgext/rebase.pyRwsc Cs�yxd}t}t}d}i}|jd�}x�t|j�j��D]n\}}|dkrt||j�} qI|dkr�||j�}qI|dkr�||j�}qI|dkr�tt |��}qI|dkr�tt |��} qI|dkrtt |��} qI|dkrIt |�d ko<d |k rI|}qI|j d �\} } | t t �t t�fkr�t | �||| j�<qI|| j�||| j�<qIWt�}|s4t|g�}xXt|j��D]A\}}|tkr ||kr |j|�n|j|�q�Wn|jjd |�|jjd �| ||||| | ||f SWn@tk r�}|jtjkr��ntjtd ���nXdS(s"Restore a previously stored statusR�iiiiiiiiQt:scomputed skipped revs: %s srebase status resumed sno rebase in progressN(RBRHRR�t enumeratetreadt splitlinesRtboolR�R]R�R�RoR�RCRbtitemsR\R:RRtIOErrorterrnotENOENTRRJR(R{R~RR�RR�R�tiR#R}R&R'R�R�R�tseentoldtnewterr((s2/usr/lib64/python2.7/site-packages/hgext/rebase.pyRL!sR%      + "  c s�g|j�D]}|tkr |^q }g|D]}�|j�s2|^q2}|r�tjtd�dj�fd�|D��dtd���nt�}|r�t�jj |��}n|t|�r��j j td��dSt j ��|j�ttt�t�fd�|j��} | rzg�jd | �D]} | j�^qI} tj�j �| �nt���j j td ��d Sd S( s,Restore the repository to its original states1can't abort rebase due to immutable changesets %ss, c3s|]}t�|�VqdS(N(R�(t.0R(R{(s2/usr/lib64/python2.7/site-packages/hgext/rebase.pys <genexpr>XsR3ssee hg help phases for detailss?warning: new changesets detected on target branch, can't abort i����cs|dko|�kS(Ni����((tx(R~(s2/usr/lib64/python2.7/site-packages/hgext/rebase.pyt<lambda>ess roots(%ld)srebase aborted iN(tvaluesRRVRRJRR�RCRWt descendantsR:RKRR�RRHRYtfilterRmRtstripRw( R{R}R~R�RtdstatesRt immutableR�R�R,t strippoints((R{R~s2/usr/lib64/python2.7/site-packages/hgext/rebase.pyR/Rs(+)  #+ cCscd|j�krX|j�g|jjD]}|j^q(krXtjtd���nt|jd|��}|s�tjtd���n|j �i}t�}x|D]}|j |�} | |kr�tjtd���n| |krA|j �|j �k} | rA| rA||j �krA|j jd�d Sn|j jd||f�|jtj|t��t|j��dkr�|j|jj| j�g|j�g��q�q�Wx'|D]} | |kr�t|| <q�q�Wt|�dkrFt|jd ||��} x+t| �t|�D]} t|| <q/Wn|d j�|j�|fS( syDefine which revisions are going to be rebased and where repo: repo dest: context rebaseset: set of rev R>s&cannot rebase onto an applied mq patchs roots(%ld)sno matching revisionss!source is ancestor of destinations!source is a child of destination s rebase onto %d starting from %s is%ld::%ldR2N(RrRmR�R�RRJRtlistRCtsorttancestorR5tchildrenR:RRRBR�tdicttfromkeysRR]RfRWtfindmissingrevsRRoROR�(R{RR�RRtrootsR�t detachsetR�t commonbaset samebranchRt rebasedomaintignored((s2/usr/lib64/python2.7/site-packages/hgext/rebase.pyRTns> %     &  c Cs~tjr�g}x�t|j��D]p\}}|dkr"||krOd}n)|dk rk||f}n ||f}|j|||f�q"q"W|rztj||�qzn�g|D]}||tkr�|^q�} | rzg} xn|jd| �D]Z} t|j j | j �g��t|�rA|j t d��q�| j| j��q�W| rztj||| d�qzndS(s�dispose of rebased revision at the end of the rebase If `collapsedas` is not None, the rebase was a collapse whose result if the `collapsedas` node.is roots(%ld)sAwarning: new changesets detected on source branch, not stripping tallN((R RSRbR�RBtappendt createmarkersRoRCRWR�RRKRRmRR�( R:R{R�R�R�tmarkersRR�tsuccsR�tstrippedR�((s2/usr/lib64/python2.7/site-packages/hgext/rebase.pyRu�s*      )+c Os�|jd�ri|jd�r5|d=|jd�n|dj�}tj|�t|�}tj}d�}|t_z|||||�Wd|t_Xt|�} | |kr�d|kr�|d=nt|||�|dj �} || j �} | |dj �krft j || �tj ||g|dj��rc|jtd�|j�qcqfq�n:|jd �r�tjtd ���n|||||�dS( sCCall rebase after pull if the latter has been invoked with --rebaseRR�sC--update and --rebase are not compatible, ignoring the update flag R2c_sdS(N((targstkwargs((s2/usr/lib64/python2.7/site-packages/hgext/rebase.pyt_dummy�sNRsupdating bookmark %s R+s%--tool can only be used with --rebase(RDRRRmRRMR]Rt postincomingRRBR5RRR�RRURR`RRJ( torigR:R{R R|t movemarkfromt revsprepulltorigpostincomingR t revspostpullR5R((s2/usr/lib64/python2.7/site-packages/hgext/rebase.pyt pullrebase�s8          "cCsbtjtjdt�}|djddd td�f�|djdddtd�f�d S( s8Replace pull with a decorator to provide --rebase optiontpulliRRs'rebase working directory to branch headR*R+sspecify merge tool for rebaseN(Rt wrapcommandRttableRRRBR(R:tentry((s2/usr/lib64/python2.7/site-packages/hgext/rebase.pytuisetups (1t__doc__t mercurialRRRRRRRRRR R R R tmercurial.commandsR tmercurial.nodeRtmercurial.lockRtmercurial.i18nRR�R�RoR�tcmdtabletcommandt testedwithRHRRZRBRkRhR�ReR�RsRvRdRwRLR/RTRuRR(((s2/usr/lib64/python2.7/site-packages/hgext/rebase.pyt<module>sl4.          �#   +  (   1  X ! '