ó œçƒQc @sddlmZmZmZmZddlmZddlmZddl m Z ddl m Z m Z ddlmZmZddlmZddlmZdd lmZdd lmZdd lZdd lZdd lZdd lZdd lm Z mZmZdd lm Z da!d„Z"dedfde dfdedfde dfdedfdedfdedfdedfdedfg Z#de fdefgZ$d„Z%d„Z&de'fd„ƒYZ(de'fd „ƒYZ)e*e*d!„Z+d S("iÿÿÿÿ(tNoRepot MissingTooltSKIPREVtmapfile(t convert_cvs(t darcs_source(t convert_git(tmercurial_sourcetmercurial_sink(t svn_sourcetsvn_sink(tmonotone_source(tgnuarch_source(t bzr_source(t p4_sourceN(thgtutiltencoding(t_tasciicCs<t|tƒr|jtdƒS|jdƒjtdƒSdS(Ntreplacesutf-8(t isinstancetunicodetencodet orig_encodingtdecode(ts((s9/sys/lib/python2.7/site-packages/hgext/convert/convcmd.pytrecodestcvst branchsorttgittsvnRt sourcesorttdarcstmtntgnuarchtbzrtp4c Csg}|rK|gtD]}|d^qkrKtjtdƒ|ƒ‚nxmtD]e\}}}y-| sw||kr||||ƒ|fSWqRttfk r¶} |j| ƒqRXqRW|jséx"|D]} |jd| ƒqËWntjtdƒ|ƒ‚dS(Nis"%s: invalid source repository types%s s%%s: missing or unsupported repository( tsource_convertersRtAbortRRRtappendtquiettwrite( tuitpathttypetrevt exceptionsRtnametsourcetsortmodetinst((s9/sys/lib/python2.7/site-packages/hgext/convert/convcmd.pyt convertsource1s)  cCsï|rE|gtD]}|d^qkrEtjtdƒ|ƒ‚nxŠtD]‚\}}y$| sn||kr{|||ƒSWqLtk r¨}|jtdƒ|ƒqLtk rÍ}tjd|ƒ‚qLXqLWtjtdƒ|ƒ‚dS(Nis'%s: invalid destination repository types convert: %s s%s s%s: unknown repository type(tsink_convertersRR'RRtnoteR(R+R,R-RR0tsinkR3((s9/sys/lib/python2.7/site-packages/hgext/convert/convcmd.pyt convertsink@s)tprogresssourcecBs,eZd„Zd„Zd„Zd„ZRS(cCs(||_||_||_d|_dS(Ni(R+R1t filecountt retrieved(tselfR+R1R:((s9/sys/lib/python2.7/site-packages/hgext/convert/convcmd.pyt__init__Ns   cCsM|jd7_|jjtdƒ|jd|d|jƒ|jj||ƒS(Nis getting filestitemttotal(R;R+tprogressRR:R1tgetfile(R<tfileR.((s9/sys/lib/python2.7/site-packages/hgext/convert/convcmd.pyRATscCs|jj|ƒS(N(R1t lookuprev(R<R.((s9/sys/lib/python2.7/site-packages/hgext/convert/convcmd.pyRCZscCs|jjtdƒdƒdS(Ns getting files(R+R@RtNone(R<((s9/sys/lib/python2.7/site-packages/hgext/convert/convcmd.pytclose]s(t__name__t __module__R=RARCRE(((s9/sys/lib/python2.7/site-packages/hgext/convert/convcmd.pyR9Ms   t convertercBsbeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z RS( cCsü||_||_||_||_i|_i|_d|_t||ƒ|_ |jjƒ}|rˆt j j |ƒrˆ|j |ƒn|jdƒrÂ|j |jdƒƒ|jjƒ|_ntj|jdƒƒ|_t||jdƒƒ|_dS(Nt authormapt splicemapt branchmap(R1tdestR+toptst commitcachetauthorsRDt authorfileRtmaptosR,texistst readauthormaptgettcommontparsesplicemapRJRK(R<R+R1RLt revmapfileRMRP((s9/sys/lib/python2.7/site-packages/hgext/convert/convcmd.pyR=as        cCsò|}tƒ}i}x½|rÔ|jdƒ}||ks||jkrNqn|j|ƒ|jjtdƒt|ƒdtdƒƒ|j|ƒ}g||áscst|dˆƒdS(Ntkeyi(Ri(Rw(tkeyfn(s9/sys/lib/python2.7/site-packages/hgext/convert/convcmd.pyRzâs((Rz(R<(Rs9/sys/lib/python2.7/site-packages/hgext/convert/convcmd.pytmakesourcesorterßscs"‡fd†‰‡fd†}|S(sClose order sort.cs$dˆj|jkˆj|jfS(NRE(RNtextraR|(Re(R<(s9/sys/lib/python2.7/site-packages/hgext/convert/convcmd.pyR}èscst|dˆƒdS(NR~i(Ri(Rw(R(s9/sys/lib/python2.7/site-packages/hgext/convert/convcmd.pyRzês((Rz(R<(Rs9/sys/lib/python2.7/site-packages/hgext/convert/convcmd.pytmakeclosesorteræscs+i‰‡‡fd†‰‡fd†}|S(sSort revisions by date.cs4|ˆkr,tjˆj|jƒˆ|s@"            ÿU