\x89\x50\x4E\x47\x0D\x0A\x1A\x0A PNG  \x89\x50\x4E\x47\x0D\x0A\x1A\x0A  13\c@`sdZddlmZmZddlZddlZddlZddlmZddl m Z m Z m Z m Z mZmZmZddlmZiZejeZdZdZd Zed d d ged edfdddededfdddededfdddededfdddededfd d!eed"fd#d$eed%fdd&eed'fdd(ded)ed*fg e jed+d,ejd-ed.ZdS(/s6command to display statistics about repository historyi(tabsolute_importtdivisionN(t_(tcmdutiltencodingt logcmdutiltpatchtpycompatt registrartscmutil(tdateutilsships-with-hg-corec C`sd \}}tj||}djtj||j|j|}xo|jdD]^} | jdr| jd r|d7}q[| jdr[| jd r[|d7}q[q[W||fS( Nits t+s+++ it-s--- (ii(R t matchfilestjoinRtdifftnodetsplitt startswith( tuitrepotctx1tctx2tfnstaddedtremovedtfmatchRtl((s1/usr/lib64/python2.7/site-packages/hgext/churn.pyt changedlines%s - c`sDtjjdr0fdnEjdpKjdtjfdjtddtdd titjd rt j d nt j d |}fd }x#tj||D] }q)q)WjS( sCalculate statst dateformatc`s[|j\}}tjtjt||d }tj|jtjdS(NiR( tdatetdatetimettimetgmtimetfloatRt strtolocaltstrftimet strfromlocal(tctxttttzR(topts(s1/usr/lib64/python2.7/site-packages/hgext/churn.pytgetkey4s&t oldtemplatettemplatec`s!jj|jS(N(t pushbuffertshowt popbuffer(R'(ttmplR(s1/usr/lib64/python2.7/site-packages/hgext/churn.pyR+<s  t analyzingtunitt revisionsttotalRc `s/|j}r-|jd r-dS|j}j||}jdrj|ddddf| = Such a file may be specified with the --aliases option, otherwise a .hgchurn file will be looked for in the working directory root. Aliases will be split from the rightmost "=". cS`s|d|tj|S(Nt (Rtcolwidth(R\R((s1/usr/lib64/python2.7/site-packages/hgext/churn.pytpadsR_s.hgchurntrbt=isskipping malformed alias: %s NR]R?cS`st|d |fS(Ni(tsum(tx((s1/usr/lib64/python2.7/site-packages/hgext/churn.pytscs`s!|]\}}t|VqdS(N(Rh(t.0tktv((s1/usr/lib64/python2.7/site-packages/hgext/churn.pys sg?cs`s!|]\}}t|VqdS(N(R;(RkRlRm((s1/usr/lib64/python2.7/site-packages/hgext/churn.pys ssassuming %i character terminal iR^ic`s_|\}}d|d||fjd|djd|dfS(Ns %s %15s %s%s s+%d/-%dR sdiffstat.insertedR sdiffstat.deleted(tlabel(tnameR^RR(tcharnumtmaxnameReR(s1/usr/lib64/python2.7/site-packages/hgext/churn.pytformats  ic`s0d|t|dt|fS(Ns %s %6d %s t*(Rh(Rotcount(RpRqRe(s1/usr/lib64/python2.7/site-packages/hgext/churn.pyRrsc`st|S(N(tint(Rt(tmaxcounttwidth(s1/usr/lib64/python2.7/site-packages/hgext/churn.pyRps(R9tostpathtexiststwjointopentrsplitRMR8t ValueErrortwarnRtlistRRtitemsR]R#tmaxt termwidthtdebugtwrite(RRRPR*RBR_RtaliastactualREtttywidthRrRoRt((RpRvRqReRRws1/usr/lib64/python2.7/site-packages/hgext/churn.pyRSfsD7 "*  $ "   (t__doc__t __future__RRR RxR!tmercurial.i18nRt mercurialRRRRRRR tmercurial.utilsR tcmdtabletcommandt testedwithRRRRJtwalkoptstCATEGORY_MAINTENANCEtTrueRS(((s1/usr/lib64/python2.7/site-packages/hgext/churn.pyt s>   4  6     !