Ë =ý6y§òF™ãó”—ddlZddlmZddlmZmZmZddlmZejjgd¢« ddl Z ddl Z ddlZ ddlZ e j j"Ze j$Ze j&Ze j(Zej* ddlmZdZGd „d ej4«Zy#e$r ddl mZYŒ%wxYw#e$rYŒ0wxYw) éN)Ú_)Ú demandimportÚerrorÚutilé)Úcommon)zbreezy.transactionszbreezy.urlutilsÚ ElementPath)Ú NoSuchFile)ÚfileÚsymlinkcól‡—eZdZdZdˆfd„ Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„ZˆxZS)Ú bzr_sourcez>Reads Bazaar repositories by using the Bazaar Python librariescóÒ•—tt|� ||||¬«tjj tjj |d««s!tjtd«|z«‚ ttj|«}|j|« tjj!|j#««}|j%«|_i|_|j/dd«|_y#t$rtjtd««‚wxYw#t(j*$r"tjtd«|z«‚wxYw)N)Úrevss.bzrs)%s does not look like a Bazaar repositorys"Bazaar modules could not be loadedsconverts bzr.saverev)ÚsuperrÚ__init__ÚosÚpathÚexistsÚjoinrÚNoReporÚbzrdirÚ NameErrorrÚabspathÚ_checkrepotypeÚBzrDirÚopenÚdecodeÚopen_repositoryÚ sourcerepoÚerrorsÚNoRepositoryPresentÚ _parentidsÚ configboolÚ_saverev)ÚselfÚuiÚrepotyperrÚbzr_dirÚ __class__s €ú5usr/lib/python3.12/site-packages/hgext/convert/bzr.pyrzbzr_source.__init__>s'ø€Ü Œj˜$Ñ(¨¨X°tÀ$Ð(ÔGä�w‰w�~‰~œbŸg™gŸl™l¨4°Ó9Ô:Ü—-‘-ÜÐ>Ó?À$ÑFóð ð Jå ô�|‰|˜DÓ!ˆØ ×јDÔ!ð Ü—m‘m×(Ñ(¨¯©«Ó7ˆGØ%×5Ñ5Ó7ˆDŒO𠈌؟ ™  j°.ÓAˆ� øôò JÜ—-‘-¤Ð"GÓ HÓIÐ Ið Jûô×)Ñ)ò Ü—-‘-ÜÐ>Ó?À$ÑFóð ð úsÁ8DÂ%AD1Ä(D.Ä15E&cóR— tjj|j««d} |j d¬«}|j }|�g|jjj|jjjk7r%|jjtd««yyy#t jt jf$rd}|j«}YŒ¡wxYw#t $r'|jj#td««YywxYw)NrF)Úrecommend_upgradesawarning: lightweight checkouts may cause conversion failures, try with a regular branch instead. s(bzr source type could not be determined )rrÚopen_containingrÚopen_workingtreeÚbranchr!Ú NoWorkingTreeÚ NotLocalUrlÚ open_branchÚ controldirÚroot_transportÚbaser'ÚwarnrÚ ExceptionÚnote)r&rÚdirÚtreer0s r+rzbzr_source._checkrepotypeXs€ð JÜ—-‘-×/Ñ/°· ± ³ Ó>¸qÑAˆCð +Ø×+Ñ+¸eÐ+ÓD�ØŸ™�ð Ð Ø—O‘O×2Ñ2×7Ñ7Ø×$Ñ$×3Ñ3×8Ñ8ò9ð—‘— ‘ Üð-óõð9ð!øô ×(Ñ(¬&×*<Ñ*<Ð=ò +Ø�ØŸ™Ó*’ð +ûôò JØ �G‰G�L‰LœÐGÓHÖ Ið Jús5‚0C6³B;ÁA'C6Â;5C3Ã0C6Ã2C3Ã3C6Ã6-D&Ä%D&có8—|jj«y)a 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)r Ú lock_read©r&s r+Úbeforezbzr_source.beforers€ð �‰×!Ñ!Õ#ócó8—|jj«y©N)r Úunlockr>s r+Úafterzbzr_source.afters€Ø �‰×ÑÕ r@có:—|jjd¬«S)NT)Úusing)r Ú find_branchesr>s r+Ú _bzrbrancheszbzr_source._bzrbranches‚s€Ø�‰×,Ñ,°4Ð,Ó8Ð8r@cóB—|js6t|j«D�cgc]}|j«‘Œc}«}n¤d}|j«D]\} |jdj «}t j j|«}|j|«}j}Œ^|€.tjtd«|jdz«‚|g}|D�cgc] }|dk7sŒ |‘Œ }}|Scc}w#tj$rYŒrwxYwcc}w)Nrs%s is not a valid revisionsnull:)rÚsortedrHÚ last_revisionrÚ revisionspecÚ RevisionSpecÚ from_stringÚ in_historyr!ÚBzrErrorÚrev_idrÚAbortr) r&ÚbÚheadsÚrevidr0ÚrevspecÚrÚinfoÚhs r+Úgetheadszbzr_source.getheads…s€Ø�yŠyä°t×7HÑ7HÔ7JÓKÑ7J°!˜AŸO™OÕ-Ð7JÑKÓL‰EàˆEØ×+Ñ+Ö-�ðØ"Ÿi™i¨™l×1Ñ1Ó3�GÜ$×1Ñ1×=Ñ=¸gÓF�AØŸ<™<¨Ó/�D🠙 ‘ð.ðˆ}Ü—k‘kÜÐ3Ó4°t·y±yÀ±|ÑCóðð�GˆEá!Ó3™E�q Q¨(£]’˜EˆÐ3؈ ùò%Løô—‘òÙðüò4s$¤C>ÁA DÃ+ DÃ6DÄDÄDcóÊ—|j«}|jj|«} |j|«}|t vry|j |j«|f}|dk(rH|j|«}|€#tjtd«||fz«‚|j«|fS|j|«}|j«|fS#t$rYywxYw)N)NNr s%s.%s symlink has no target)rr Ú revision_treeÚkindr ÚsupportedkindsÚ _modecacheÚencodeÚget_symlink_targetrrRrÚget_fileÚread)r&ÚnameÚrevÚrevtreer]ÚmodeÚtargetÚsios r+Úgetfilezbzr_source.getfileœsâ€Ø�{‰{‹}ˆØ—/‘/×/Ñ/°Ó4ˆð Ø—<‘< Ó%ˆDð ”~Ñ %àØ�‰ § ¡ £ ¨sÐ3Ñ4ˆØ �9Ò Ø×/Ñ/°Ó5ˆF؈~Ü—k‘kÜÐ4Ó5¸¸s¸ ÑCóðð—=‘=“? DÐ(Ð (à×"Ñ" 4Ó(ˆCØ—8‘8“:˜tÐ#Ð #øôò Ùð ús­Cà C"Ã!C"cóZ—|rtjtd««‚i|_|jj |«|_|jj|«}|jj |d«}|j|j |«\}}||t«fS)Ns(convert from cvs does not support --fullr) rrRrr_r r\Ú_revtreer#ÚpopÚ_gettreechangesÚset)r&ÚversionÚfullÚ parentidsÚprevtreeÚfilesÚchangess r+Ú getchangeszbzr_source.getchanges³sŒ€Ù Ü—+‘+œaÐ KÓLÓMÐ M؈ŒØŸ™×5Ñ5°gÓ>ˆŒ à—O‘O×'Ñ'¨Ó0ˆ à—?‘?×0Ñ0°¸1±Ó>ˆØ×-Ñ-¨d¯m©m¸XÓF‰ˆˆwØ�gœs›uÐ$Ð$r@c ó.—|jj|«}|js!g}tjf|j |<n*|j |j«}||j |<|jjdd«}|dk(rd}tj|d|j|j fz|j|j«|j|j«|j!d«||j"¬«S)Nz branch-nickÚdefaultÚtrunks%d %dÚutf8)ÚparentsÚdateÚauthorÚdescr0reÚsaverev)r Ú get_revisionÚ parent_idsÚrevisionÚ NULL_REVISIONr#Ú _filterghostsÚ propertiesÚgetrÚcommitÚ timestampÚtimezoneÚrecodeÚ committerÚmessager`r%)r&rprer{r0s r+Ú getcommitzbzr_source.getcommit¿s߀Ø�o‰o×*Ñ*¨7Ó3ˆà�~Š~؈GÜ(0×(>Ñ(>Ð'@ˆD�O‰O˜GÒ $à×(Ñ(¨¯©Ó8ˆGØ'.ˆD�O‰O˜GÑ $à—‘×#Ñ# M°9Ó=ˆØ �WÒ ØˆFÜ�}‰}ØØ˜SŸ]™]¨S¯\©\¨MÐ:Ñ:Ø—;‘;˜sŸ}™}Ó-Ø—‘˜SŸ[™[Ó)Ø—=‘= Ó(ØØ—M‘Mô ð r@cóè—i}|j«D]\}|j«sicS|jj«}|j «D]\}}|||j |«<ŒŒ^|SrB)rHÚ supports_tagsÚtagsÚ get_tag_dictÚitemsrŠ)r&Úbytetagsr0Útagdictrdres r+Úgettagszbzr_source.gettagsÖsk€ØˆØ×'Ñ'Ö)ˆFØ×'Ñ'Ô)Ø’ Ø—k‘k×.Ñ.Ó0ˆGØ$Ÿ]™]ž_‘ ��cØ.1�˜Ÿ™ TÓ*Ò+ñ-ð *ð ˆr@có—i|_|jj|«}|�|j||}ntj }|jj|«}|j ||«dD�cgc]}|d‘Œ }}|Scc}w)Nr)r_r r\r#r‚rƒrn)r&reÚiÚcurtreeÚparentidrsÚerus r+Úgetchangedfileszbzr_source.getchangedfilesàs�€ØˆŒØ—/‘/×/Ñ/°Ó4ˆØ ˆ=Ø—‘ sÑ+¨AÑ.‰Hô ×-Ñ-ˆHà—?‘?×0Ñ0°Ó:ˆØ!%×!5Ñ!5°g¸xÓ!HÈÒ!KÓLÑ!K˜A�1�Q“4Ð!KˆÐL؈ùòMsÁ: B có^—|j}g}i}t«} |j}d„}t |j |«|d¬«} | D�]<} | j} | j} | j} | ddk(s| ddk(rŒ9| ddk(�r4| ddvr%|j|j| d«|f«| ddk(rþd| vrú| d| dk7}|j| d«}|j|«D]Ç\}}|jdk(rŒ|j| dd z|z«}||vrŒ5|j|«|sŒI|j| dd z|z«}|j||f«|j||f«|jxrd xs|jd k(xrd xsd }||j||f<|||<ŒÉ�Œv| \}}|�|j|«}|�|j|«}|j|xs|«|€|j||f«�ŒÍ|r||k7r|||<|j||f«| | fD�cgc]}|d‘Œ c}\} } | xrd xs | d k(xrdxsd }||j||f<|j||f«�Œ?||fS#t$r|j}Y�Œ~wxYwcc}w)NcóJ—|jdxs|jdxsdS)NrrÚ)r)Úcs r+Úkeyz'bzr_source._gettreechanges..keyüs"€Ø—6‘6˜!‘9Ò/ §¡ q¡ Ò/¨RÐ /r@T)r ÚreverserržrÚ directory)Nr¢Ú/óxr ósr@ól)Ú _revision_idroÚroot_inventoryÚAttributeErrorÚ inventoryrJÚ iter_changesrr]Ú executableÚappendrŠÚpath2idÚ iter_entriesÚaddr_)r&ÚcurrentÚoriginrUruÚrenamesÚseenrªr Ú curchangesÚchangeÚpathsr]r¬ÚrenamingÚsubdirrdÚentryÚfrompathÚtopathrgrršs r+rnzbzr_source._gettreechangesís€Ø×$Ñ$ˆØˆØˆÜ‹uˆð )Ø×-Ñ-ˆIò 0ôØ × Ñ  Ó (ØØô ˆ ô !ˆFØ—K‘KˆEØ—;‘;ˆDØ×*Ñ*ˆJØ�Q‰x˜3Š %¨¡(¨c¢/àð�A‰w˜+Ó%ؘ‘7Ð"5Ñ5ð—N‘N D§K¡K°°a±Ó$9¸5Ð#AÔBà˜‘7˜kÒ)¨d¸%Ñ.?Ø$ Q™x¨5°©8Ñ3�Hð'×.Ñ.¨u°Q©xÓ8�Fà'0×'=Ñ'=¸fÖ'E™ ˜˜eà Ÿ:™:¨Ò4Ø$Ø#'§;¡;¨u°Q©x¸#©~ÀÑ/DÓ#E˜Ø# tÑ+ð %ØŸ™ Ô*Ù'Ø$Ø!%§¡¨U°1©X¸©^¸dÑ-BÓ!C˜àŸ™¨°%Ð'8Ô9ØŸ™¨° Ô7ð#×-Ñ-Ò6°$ò#Ø %§ ¡ ¨iÑ 7Ò @¸Dò#à"ðð <@˜Ÿ™¨°¨Ñ8à*2˜ šð7(Fñ<ð!‰LˆD�&ØÐØ—{‘{ 4Ó(�ØÐ!ØŸ™ VÓ,�Ø �H‰H�T’^˜VÔ $àˆ~à—‘  e˜}Ô-Ùñ˜ šØ"&�˜‘Ø—‘  e˜}Ô-ð04°ZÑ.@ÓAÑ.@¨  !£Ð.@ÑAÑ ˆD�*ØÒ' 4ÒO¨T°YÑ->Ò-GÀ4ÒOÈCˆDØ/3ˆD�O‰O˜V U˜OÑ ,Ø �N‰N˜F E˜?Ö +ðY!ð\˜ÐÐøôyò )Ø×(Ñ(‹Ið )üòn Bsœ JÈ< J*ÊJ'Ê&J'có‚—|jj|«}t|D�cgc] }||vsŒ|‘Œ c}«}|Scc}w)zqFilters out ghost revisions which hg does not support, see )r Úget_parent_mapÚtuple)r&ÚidsÚ parentmapÚparentr{s r+r„zbzr_source._filterghostsTsC€ð—O‘O×2Ñ2°3Ó7ˆ Ü©cÓI©c F°V¸yÒ5Hš¨cÑIÓJˆØˆùòJs¥ <¯<rB)Ú__name__Ú __module__Ú __qualname__Ú__doc__rrr?rDrHrZrjrvr�r•r›rnr„Ú __classcell__)r*s@r+rr;sKø„ÙHõBò4Jò4 $ò!ò9òò.$ò. %ò ò.ò òe öNr@r)rÚmercurial.i18nrÚ mercurialrrrržrÚIGNORESÚupdateÚbreezy.bzr.bzrdirÚbreezyÚ breezy.errorsÚbreezy.revisionÚbreezy.revisionspecÚbzrrr!r‚rLrMÚbreezy.transportr Ú ImportErrorr^Úconverter_sourcer©r@r+ÚrÖsÉðó å÷ñõ ð ×Ñ×Ñòôð óÛÛÛð�Z‰Z× Ñ €FØ �]‰]€FØ�‰€HØ×&Ñ&€LØ×Òð-å/ð %€ô_�×(Ñ(õ_øð ò-ß,ð-ûàò Ùð ús0¹AB?ÂB.Â. B<Â9B?Â;B<Â<B?Â?CÃC