ó œt•Pc@sddlZddlZddlmZddlmZddlmZmZd„Z d„Z de fd„ƒYZ d efd „ƒYZ dS( iÿÿÿÿN(t_(tutil(tSKIPREVtconverter_sourceccsZt|ƒ}x<|dkrJ|| ||dfV|jdd|ƒ}qWd|fVdS(Niÿÿÿÿit/it.(tlentrfind(tnamete((s9/sys/lib/python2.7/site-packages/hgext/convert/filemap.pytrpairs s  cCs|dkrdStj|ƒS(s We use posixpath.normpath to support cross-platform path format. However, it doesn't handle None input. So we wrap it up. N(tNonet posixpathtnormpath(tpath((s9/sys/lib/python2.7/site-packages/hgext/convert/filemap.pyt normalizes t filemappercBs>eZdZdd„Zd„Zd„Zd„Zd„ZRS(s€Map and filter filenames when importing. A name can be mapped to itself, a new name, or None (omit from new repository).cCsX||_i|_i|_i|_|rT|j|ƒrTtjtdƒƒ‚qTndS(Nserrors in filemap(tuitincludetexcludetrenametparseRtAbortR(tselfRR((s9/sys/lib/python2.7/site-packages/hgext/convert/filemap.pyt__init__ s    csÌd}‡‡fd†}tjt|ƒ|tƒ‰ˆjd7_ˆjƒ}xw|rÇ|dkržtˆjƒƒ}|||ˆjdƒ7}|ˆj|?RRRtsources%s:%d: unknown directive %r i(tshlextopentTruet wordcharst get_tokenRRRRRRRRRR(RRterrsR!tcmdRtsrctdest((R Rs9/sys/lib/python2.7/site-packages/hgext/convert/filemap.pyR)s6      " cCs_t|ƒ}xCt|ƒD]5\}}y||||fSWqtk rMqXqWd|dfS(Nt(RR tKeyError(RRRtpretsuf((s9/sys/lib/python2.7/site-packages/hgext/convert/filemap.pytlookupVs  cCsç|jr%|j||jƒd}n|}|jrP|j||jƒd}nd}|j rf|s~t|ƒt|ƒkr‚dS|j||jƒ\}}}|rã|dkr¶|S|rß|jdƒrÓ||S|d|S|S|S(NiR,RR(RR0RRR RR(RRtinctexctnewpreR.R/((s9/sys/lib/python2.7/site-packages/hgext/convert/filemap.pyt__call___s$  (  cCst|jp|jp|jƒS(N(tboolRRR(R((s9/sys/lib/python2.7/site-packages/hgext/convert/filemap.pytactiveusN( t__name__t __module__t__doc__R RRR0R4R6(((s9/sys/lib/python2.7/site-packages/hgext/convert/filemap.pyRs  - tfilemap_sourcecBsªeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„Zd„Zd„ZRS(cCs}tt|ƒj|ƒ||_t||ƒ|_i|_i|_i|_d|_ t |_ i|_ i|_ i|_dS(N(tsuperR:RtbaseRtcommitst parentmaptwantedancestorsR tconvertedordertFalset_rebuiltt origparentstchildrent seenchildren(RRt baseconvertertfilemap((s9/sys/lib/python2.7/site-packages/hgext/convert/filemap.pyR‡s        cCs|jjƒdS(N(R<tbefore(R((s9/sys/lib/python2.7/site-packages/hgext/convert/filemap.pyRH˜scCs|jjƒdS(N(R<tafter(R((s9/sys/lib/python2.7/site-packages/hgext/convert/filemap.pyRI›sc CsÜ| |_itt6}tƒ}g}xš|jD]}||}||k}|rl|||<||j|R?R tappendR@R<t setrevmap( Rtrevmaptseentdummysett convertedtrevtmappedtwantedtarg((s9/sys/lib/python2.7/site-packages/hgext/convert/filemap.pyRMžs$           cCs|jr tSt|_|jjƒ|jjƒ|jjƒxt|jD]i\}}}||jkr|j|ƒj |j|tclearR?RER@RCt getcommittparentsR RDtgett mark_wantedtmark_not_wantedt_discard(RRRRTRURX((s9/sys/lib/python2.7/site-packages/hgext/convert/filemap.pytrebuild½s$      ' cCs |jjƒS(N(R<tgetheads(R((s9/sys/lib/python2.7/site-packages/hgext/convert/filemap.pyR^ÔscCsU|jj|ƒ}|j|RB(Rtrevstr((s9/sys/lib/python2.7/site-packages/hgext/convert/filemap.pyR\äs       cCsjy|jj||ƒ}Wn&tk rAtjtdƒƒ‚nXx!|D]}|j|ƒrItSqIWtS(Ns+source repository doesn't support --filemap( R<tgetchangedfilestNotImplementedErrorRRRRR%RA(RRRtitfilestf((s9/sys/lib/python2.7/site-packages/hgext/convert/filemap.pyRTðs  cCs_|dkr3t|j|RJR?(RRRR`((s9/sys/lib/python2.7/site-packages/hgext/convert/filemap.pyR[s   cCsY||j|RJtupdateR?tadd(RRRRXtwrevR`((s9/sys/lib/python2.7/site-packages/hgext/convert/filemap.pyRZs     c sÀˆj|j}t|ƒdkr/ˆjƒng}tƒ}ˆj|j}t}xÔt|ƒD]Æ\}‰ˆjˆ‰ˆt ksaˆ|kr˜qant j ‡‡‡fd†|Dƒƒ}| r| rt|ƒdkrˆj ˆƒj|krt }qn|jˆˆ||fƒ|jˆƒqaW|rWg|D]} | ds8| ^q8}nd} |r™td„|Dƒƒ} g|D]} | d^q€}n|r¨d} n|ˆj|R?(t.0tp2(tmp1tp1R(s9/sys/lib/python2.7/site-packages/hgext/convert/filemap.pys <sicss|]}|dVqdS(iN((RlR`((s9/sys/lib/python2.7/site-packages/hgext/convert/filemap.pys Ksitclosei(R=RXRR]RJtbranchRAt enumerateR>RRtanyRaR%RLRjR tmaxRCtextraRTR[R@R\RZR<t getchangesRtsortedtitems(RRRRXtmparentst knownparentsRqthasbranchparentRft isancestorR`twptclosedt pbranchestchangestcopiesRgRhRctnewftncopiesR_tnewct newsource((RnRoRs9/sys/lib/python2.7/site-packages/hgext/convert/filemap.pyRv st   %  &   %  ,     cCs|\}}|jj||ƒS(N(R<tgetfile(RRRRtrealnametrealrev((s9/sys/lib/python2.7/site-packages/hgext/convert/filemap.pyR†‚s cCs |jjƒS(N(R<tgettags(R((s9/sys/lib/python2.7/site-packages/hgext/convert/filemap.pyR‰†scCs |jjƒS(N(R<thasnativeorder(R((s9/sys/lib/python2.7/site-packages/hgext/convert/filemap.pyRŠ‰scCs|jj|ƒS(N(R<t lookuprev(RRR((s9/sys/lib/python2.7/site-packages/hgext/convert/filemap.pyR‹ŒscCs |jjƒS(N(R<t getbookmarks(R((s9/sys/lib/python2.7/site-packages/hgext/convert/filemap.pyRŒs(R7R8RRHRIRMR]R^RWRaR\RTR[RZRvR†R‰RŠR‹RŒ(((s9/sys/lib/python2.7/site-packages/hgext/convert/filemap.pyR:†s$            b    (R R#tmercurial.i18nRt mercurialRtcommonRRR RtobjectRR:(((s9/sys/lib/python2.7/site-packages/hgext/convert/filemap.pyts    k