ó œçƒQc@sÊddlZddlZddlZddlmZddlmZmZmZddl m Z m Z m Z m Z mZddlmZmZmZmZdefd„ƒYZdefd „ƒYZdS( iÿÿÿÿN(t_(tbinthextnullid(thgtutiltcontextt bookmarksterror(tNoRepotcommittconverter_sourcetconverter_sinktmercurial_sinkcBs}eZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „ZRS( cCsÕtj|||ƒ|jddtƒ|_|jddtƒ|_|jdddƒ|_d|_ t j j |ƒrtt j|ƒƒdkryDtj|j|ƒ|_|jjƒsÔttdƒ|ƒ‚nWq¶tjk r }|jƒt|jdƒ‚q¶Xn¨yq|jtdƒ|ƒtj|j|d tƒ|_|jjƒsnttdƒ|ƒ‚n|jj|ƒWn4tjk rµ|jƒttd ƒ|ƒ‚nXd|_d|_t|_ dS( Ntconvertshg.usebranchnamesshg.clonebranchess hg.tagsbranchtdefaultis&%s is not a local Mercurial repositorys'initializing destination %s repository tcreates)could not create hg repository %s as sink(!R t__init__t configbooltTruet branchnamestFalset clonebranchestconfigt tagsbranchtNonet lastbranchtostpathtisdirtlentlistdirRt repositorytuitrepotlocalR RRt RepoErrort tracebacktargststatustcreatedtappendtlocktwlockt filemapmode(tselfR!Rterr((s4/sys/lib/python2.7/site-packages/hgext/convert/hg.pyRs8 -        cCs8|jjdƒ|jjƒ|_|jjƒ|_dS(Ns"run hg sink pre-conversion action (R!tdebugR"R+R*(R-((s4/sys/lib/python2.7/site-packages/hgext/convert/hg.pytbefore<scCsF|jjdƒ|jr)|jjƒn|jrB|jjƒndS(Ns#run hg sink post-conversion action (R!R/R*treleaseR+(R-((s4/sys/lib/python2.7/site-packages/hgext/convert/hg.pytafterAs   cCs|jjdƒS(Ntshamap(R"tjoin(R-((s4/sys/lib/python2.7/site-packages/hgext/convert/hg.pyt revmapfileHscCs|jjdƒS(Nt authormap(R"R4(R-((s4/sys/lib/python2.7/site-packages/hgext/convert/hg.pyt authorfileKscCs/|jjjƒ}g|D]}t|ƒ^qS(N(R"t changelogtheadsR(R-thtx((s4/sys/lib/python2.7/site-packages/hgext/convert/hg.pytgetheadsNsc Cs/|js dS||jk}||_|s4d}ng|D]*}|d|dr\|dp_df^q;}|r|ddp‚d}tjj|j|ƒ}|r|jƒytj|j|ƒ|_ Wn/t k rútj|j|dt ƒ|_ nX|j ƒni}x[|D]S}y|j j |dƒWqt k rg|j|dgƒj|dƒqXqW|r+|jƒxŸt|jƒƒD]‹\}}tjj|j|ƒ} tj|ji| ƒ} |jjtdƒ||fƒ|j j| g|D]} | j | ƒ^qþƒqW|j ƒndS(NRiiRspulling from %s into %s (RRRRR4R2RR R!R"t ExceptionRR0tlookupt setdefaultR)tsortedt iteritemstpeertnoteRtpull( R-tbrancht pbranchest setbranchtbtpbrancht branchpathtmissingsR9t pbranchpathtprepoR:((s4/sys/lib/python2.7/site-packages/hgext/convert/hg.pyRGRs<   7  "   )  3cCsštjƒ}x|jƒD]s}|jddƒ}t|ƒdkrIqn|j|j|dƒƒ}|sqqn|jd||dfƒqW|jƒS(Nt iiis%s %s ( t cStringIOtStringIOt splitlinestsplitRtgett lookuprevtwritetgetvalue(R-tsourcetrevmaptdatatfptlinetstrevid((s4/sys/lib/python2.7/site-packages/hgext/convert/hg.pyt _rewritetagsxs c s†tˆƒ‰‡‡‡‡‡fd†}g}x*|D]"} | |kr4|j| ƒq4q4W|}t|ƒ} ˆjr±| dkr±ˆjjjt|dƒƒd} |d} nt|ƒdkrÓ|jtƒnt|ƒdkrõ|jtƒn|j dƒ} |j }|j j ƒ}ˆj r>|jr>|j|dRRžR8Rrt descendantsR‹t __contains__tkeeptalways(R-R!RRrt startnodetstartrevtchildren((s4/sys/lib/python2.7/site-packages/hgext/convert/hg.pyRës8        cCs2|j|kr+|j||_||_n|jS(N(R§R"R¨(R-Rr((s4/sys/lib/python2.7/site-packages/hgext/convert/hg.pyt changectx s cCs8g|jƒD]'}|r |j|jƒƒr |^q S(N(R|R­R‹(R-R…R~((s4/sys/lib/python2.7/site-packages/hgext/convert/hg.pyR|scCs`|jr%|j|jjƒg}n|jjƒ}g|D]!}|j|ƒr;t|ƒ^q;S(N(RrR"R‹R9R­R(R-R9R:((s4/sys/lib/python2.7/site-packages/hgext/convert/hg.pyR<s cCsVy-|j|ƒ|}|jƒ|jƒfSWn"tjk rQ}t|ƒ‚nXdS(N(R²RYtflagsRt LookupErrortIOError(R-tnameRrtfctxR.((s4/sys/lib/python2.7/site-packages/hgext/convert/hg.pyR`s c CsA|j|ƒ}|j|ƒ}|s{t|jƒƒ}|j|||ƒg|D]!}||jkrP||f^qPifS|jr°|jd|kr°|jd\}}}n2|jj|dj ƒ|j ƒƒd \}}}|j||||ƒ} g|||D]!} | |jkr | |f^q } t| ƒ| fS(Niii( R²R|R@Rxt getcopiesR¥R©R"R'R‹( R-RrR…R|RgRctmtatrRfR¶tchanges((s4/sys/lib/python2.7/site-packages/hgext/convert/hg.pyt getchanges$s22!c Csi}x |D]}||jkr(q ny‡|j|ƒjƒ\}}||jkse|j|ƒ rkw nt}x$|D]} || krxt}PqxqxW|s¤w n|||RR$R(R-Rr((s4/sys/lib/python2.7/site-packages/hgext/convert/hg.pyRTˆscCstj|jƒS(N(Rt listbookmarksR"(R-((s4/sys/lib/python2.7/site-packages/hgext/convert/hg.pyt getbookmarksŽsN(R R¡RRR²R|R<R`R½R¸RÌRÏRÑRÕR0R2RÖR×RTRÙ(((s4/sys/lib/python2.7/site-packages/hgext/convert/hg.pyR¢ês" "              (RRROtmercurial.i18nRtmercurial.nodeRRRt mercurialRRRRRtcommonR R R R R R¢(((s4/sys/lib/python2.7/site-packages/hgext/convert/hg.pyts $("Î