mò óRÅDc@s¥dkTeeƒdƒdklZy dkZWnej onXd„Zd„Z hde ddgd fd d!d"d#d$d%ddgdfgdfW|i i ƒ|i ƒodSnt i |dƒ}g}x!|D]}|i|iƒƒq–W|iƒ}|id|ƒdi|ƒ}|id ƒo t‚n|SWn ‚nXWdyt i|ƒWnnXXdS( Ntprefixs hg-patchbomb-tsuffixs.txts diffstat -p1 -w79 2>/dev/null > trits0 files(ttempfiletmkstemptfdtnametpopen2tPopen3tptpatchtlinettochildtclosetwaittostfdopentfptstattappendtlstriptpoptlasttinserttjoint startswitht ValueErrortunlink(R RRRRR RR ((t3/usr/lib/python2.4/site-packages/hgext/patchbomb.pytdiffstat6s8     c!s(d>dt‡d†‰‡d†‰‡‡d†‰‡‡d†}ttiƒƒ‰‡d†} g} dfd„ƒY}t i ˆ||hd || ƒ<d t<d d><Žg}g}ˆitd ƒt| ƒƒxYt| tt| ƒƒƒD]<\}}|i|ƒ|i|||d t| ƒƒƒqòWˆdp9ˆiddƒp&ˆiddƒpˆdˆiƒƒ}d>‡‡‡d†}|ddƒ} |dddƒ} t| ƒd joJˆitdƒƒt#i$i$ƒ} dt| ƒˆdpˆdddt| ƒƒf| d<ˆitdƒƒg}xOt'oGy t(ƒ}Wnt*j oPnX|d joPn|i|ƒq:W| i+t#i,i,d!i-|ƒd!ƒƒˆd"o=ˆtd#ƒ|ƒ}|o| i+t#i,i,|ƒƒq÷n|i/d$| ƒnˆid!ƒˆd% oˆd& oˆi0ƒ}nd>}ti3o ti4}n ti6}|d$jod'| }}nd(}d)||d*|d*d+f}t#i8i9|ƒd }xa|D]Y}y| |d,ƒ|d-ˆƒƒd0||d1<ˆd 7‰||dˆƒƒ}|id;||fƒ|i|iDd$ƒƒ|id<ƒ|iIƒqLji?d=|dd4ƒ|i0|| | |iDd$ƒƒqÇWd>S(?s,send changesets as a series of patch emails The series starts with a "[PATCH 0 of N]" introduction, which describes the series as a whole. Each patch email has a Subject line of "[PATCH M of N] ...", using the first line of the changeset description as the subject text. The message contains two or three body parts. First, the rest of the changeset description. Next, (optionally) if the diffstat program is installed, the result of running diffstat on the patch. Finally, the patch itself, as generated by "hg export".s: csˆ|o|d|7}n||7}x^toVt|ƒ}|o|Sn|dj o|Sn|o|Snˆi t dƒƒq&WdS(Ns [%s]sPlease enter a valid value. ( tdefaulttprompttresttTruet raw_inputRtNonetempty_oktuitwarnt_(R!R R"R&R(R'(RR!Ws   cs6ˆ|ddddƒiƒidƒp t‚ndS(NR tyR"s? (R!tstlowerRR(R+(R!(Rtconfirmas(csVt|ƒ}|o?|o$ˆi|dƒˆi|dƒnˆtdƒƒn|S(Ns s!Does the diffstat above look okay(RR R+tsummaryR'twriteR-R)(R.R R+(R-R'(Rt cdiffstates c sâg}d}d}xk|D]c}|idƒo+|idƒo|iƒd}qqn|idƒoPn|i|ƒqW|p t ‚nˆdozx-|o%|didƒo|i dƒqŸW|o|i dƒnx/|o#|di ƒ o|i dƒqçWnˆd o$|ˆd i|ƒ|ƒd 7}n|d i|ƒ7}tii|ƒ}|d jod |di ƒ}nd|||di ƒf}|idƒo|d }n||d<||d<|S(NRt#s # Node IDiÿÿÿÿsdiff -rtplainis# Rs s is[PATCH] s[PATCH %d of %d] %st.tSubjectsX-Mercurial-Node(tdescR%tnodetbodyR R RtsplitRRtoptsRtstripR0RtemailtMIMETexttmsgttotaltsubjtidxtendswith( R R@R>R6R7R=R R?R5(R0R9(Rt makepatchnsF   $   csd|d ˆtiƒfS(Ns <%s.%s@%s>i(tidt start_timetsockettgetfqdn(RC(RD(Rtgenmsgid‘stexporteecBs#tZd„Zd„Zd„ZRS(NcCsg|_||_d|_dS(NR;(tselftlinest containerR(RIRK((Rt__init__—s  cCs|ii|ƒdS(N(RIRJRtdata(RIRM((RR/œscCs2|iidi|iƒidƒƒg|_dS(NRs (RIRKRRRJR8(RI((RRŸs%(t__name__t __module__RLR/R(((RRH–s  toutputt switch_parentttexts+This patch series consists of %d patches. itfromR;t patchbombtFromcs‚ˆ|p?ˆid|ƒp#ˆid|ƒpˆ|d|ƒidƒ}g}|D]$}|i ƒo||i ƒqWqW~S(NR;RTR t,( R9toptR'tconfigR!tprptR R8taddrst_[1]taR:(RWRYR R\R[RZ(R!R'R9(Rtgetaddrs´sLttotTotcctCcRs7 Write the introductory message for the patch series. s[PATCH 0 of %d] %stsubjectsSubject:R"s [PATCH 0 of %d] R4s.Finish with ^D or a dot on a line by itself. R3s RsFinal summary: ittesttmboxt+t-s %s%02d%02dii<sX-Mercurial-Nodes Message-Ids In-Reply-Tos%a, %d %b %Y %H:%M:%St tDates, s Displaying s ... tPAGERtmoretwsWriting sab+swb+s From %s %s s sSending N(NR%tFalseR!R-R0RBtintttimeRDRGtpatchesRHtcommandstexportR'trepotrevstjumbotmsgsR/R)tlentziptrangeR titextendRR9RXtusernametsenderR]R^R`R;t MIMEMultipartR=R7R#R$tltEOFErrortattachR<RtdRtsendmailtmailtparenttdaylighttaltzonetoffsetttimezonetsigntUtilst parseaddrt sender_addrtmt TypeErrortstrftimet localtimetstatusRtpopentgetenvRt as_stringtIOErrortinstterrnotEPIPERtopenthas_keytasctimetdate(!R'RrRsR9RR!RuR‰RŒRoR-R`R^R=RƒR7R]R„RDRHR‡RœRBR0RR|RyRR~R RtR–RG((R'R9R!R-RDR0RRTKs²   !  7  'F;  & !     '     * R;tcR`s"email addresses of copy recipientsRRsadd diffstat output to messagestfRSRsemail address of senderR2somit hg patch headertnRcs!print messages that would be sentRRds3write messages to mbox file instead of sending themR+Rbssubject of introductory messagettR^semail addresses of recipientsshg email [OPTION]... [REV]...(RsdiffstatNsadd diffstat output to messages(RžsfromRsemail address of sender(RsplainNsomit hg patch header(RŸstestNs!print messages that would be sent(RsmboxRs3write messages to mbox file instead of sending them(R+ssubjectRssubject of introductory message( tmercurial.demandloadt demandloadtglobalstmercurial.i18ntgettextR)treadlinet ImportErrorRRTR%tcmdtable(RR¨R¦R)RT((Rt?*s     ¿