\x89\x50\x4E\x47\x0D\x0A\x1A\x0A PNG  \x89\x50\x4E\x47\x0D\x0A\x1A\x0A  13\c@@sddlmZddlZddlmZddlmZmZddlm Z ej j ddd gy_ddl Z ddlZ ddlZ ddlZ e jZe jZe jZe jZejWnek rnXdZd e jfd YZdS(i(tabsolute_importN(t_(t demandimportterrori(tcommonsbzrlib.transactionssbzrlib.urlutilst ElementPathtfiletsymlinkt bzr_sourcecB@seZdZddZdZdZdZdZdZ dZ dZ d Z d Z d Zd Zd ZRS(s>Reads Bazaar repositories by using the Bazaar Python librariescC@s tt|j|||d|tjjtjj|ds_tjt d|nyt Wn&t k rtjt dnXtjj |}|j |yt jj|j|_Wn-tjk rtjt d|nXi|_|jdd|_dS(Ntrevss.bzrs)%s does not look like a Bazaar repositorys"Bazaar modules could not be loadedtconverts bzr.saverev(tsuperRt__init__tostpathtexiststjoinRtNoRepoRtbzrdirt NameErrortabspatht_checkrepotypetBzrDirtopentopen_repositoryt sourcerepoterrorstNoRepositoryPresentt _parentidst configboolt_saverev(tselftuitrepotypeRR ((s7/usr/lib64/python2.7/site-packages/hgext/convert/bzr.pyR /s""!    cC@sytjj|d}y|jdt}|j}Wn/tjtjfk rid}|j }nX|dk r|jj j |jj j kr|j jtdnWn'tk r|j jtdnXdS(Nitrecommend_upgradesawarning: lightweight checkouts may cause conversion failures, try with a regular branch instead. s(bzr source type could not be determined (RRtopen_containingtopen_workingtreetFalsetbranchRt NoWorkingTreet NotLocalUrltNonet open_branchtroot_transporttbaseR twarnRt Exceptiontnote(RRtdirttreeR&((s7/usr/lib64/python2.7/site-packages/hgext/convert/bzr.pyRFs  cC@s|jjdS(s Before the conversion begins, acquire a read lock for all the operations that might need it. Fortunately read locks don't block other reads or writes to the repository, so this shouldn't have any impact on the usage of the source repository. The alternative would be locking on every operation that needs locks (there are currently two: getting the file and getting the parent map) and releasing immediately after, but this approach can take even 40% longer.N(Rt lock_read(R((s7/usr/lib64/python2.7/site-packages/hgext/convert/bzr.pytbeforeYs cC@s|jjdS(N(Rtunlock(R((s7/usr/lib64/python2.7/site-packages/hgext/convert/bzr.pytafterfscC@s|jjdtS(Ntusing(Rt find_branchestTrue(R((s7/usr/lib64/python2.7/site-packages/hgext/convert/bzr.pyt _bzrbranchesiscC@s|js7tg|jD]}|j^q}nd}x`|jD]R}y,tjj|jd}|j|}Wnt j k rnX|j }qJW|dkrt j td|jdn|g}g|D]}|dkr|^q}|S(Nis%s is not a valid revisionsnull:(R tsortedR9t last_revisionR)t revisionspect RevisionSpect from_stringt in_historyRtBzrErrortrev_idRtAbortR(RtbtheadstrevidR&trtinfoth((s7/usr/lib64/python2.7/site-packages/hgext/convert/bzr.pytgetheadsls  .   %c C@s|jj|}|j|j|jp*d}d}|dk rW|j|}n|tkrgdS|j||f}|dkr|j |}|dkrt j t d||fn||fS|j |}|j|fSdS(Nsutf-8Rs%s.%s symlink has no target(NN(Rt revision_treetpath2idtdecodetencodingR)tkindtsupportedkindst _modecachetget_symlink_targetRRBRtget_filetread( RtnametrevtrevtreetfileidRNtmodettargettsio((s7/usr/lib64/python2.7/site-packages/hgext/convert/bzr.pytgetfiles !     cC@s|rtjtdni|_|jj||_|jj|}|jj|d}|j |j|\}}||t fS(Ns(convert from cvs does not support --fulli( RRBRRPRRJt_revtreeRtpopt_gettreechangestset(Rtversiontfullt parentidstprevtreetfilestchanges((s7/usr/lib64/python2.7/site-packages/hgext/convert/bzr.pyt getchangess cC@s|jj|}|js7g}tjf|j|streverseiuit directoryt/txRtsttl(NR(t _revision_idR_troot_inventorytAttributeErrort inventoryR:t iter_changesR8R)tappendRsRKt iter_entriesRNtaddt executableRP(RtcurrenttoriginRERetrenamestseenRt curchangesRWtpathstchanged_contentt versionedtparentRTRNRtrenamingtsubdirtentrytfrompathttopathRXRR((s7/usr/lib64/python2.7/site-packages/hgext/convert/bzr.pyR^sr       " #       )cC@sA|jj|}tg|D]}||kr|^q}|S(sqFilters out ghost revisions which hg does not support, see (Rtget_parent_mapttuple(Rtidst parentmapRRi((s7/usr/lib64/python2.7/site-packages/hgext/convert/bzr.pyRr,s+N(t__name__t __module__t__doc__R)R RR3R5R9RIR[RfR{RRR^Rr(((s7/usr/lib64/python2.7/site-packages/hgext/convert/bzr.pyR,s        _(RR(t __future__RR tmercurial.i18nRt mercurialRRRRtIGNOREStupdatet bzrlib.bzrdirtbzrlibt bzrlib.errorstbzrlib.revisiontbzrlib.revisionspecRRRpR<R=t ImportErrorROtconverter_sourceR(((s7/usr/lib64/python2.7/site-packages/hgext/convert/bzr.pyt s,