Ë €’ xw˜Eºãó¤—ddlZddlmZddlmZddlmZmZmZm Z ddl m Z Gd„d«Z hd £Z Gd „d e je j«Zy) éN)Ú_)Úsha1nodeconstants)ÚconfigÚerrorÚpycompatÚutilé)Úcommoncó—eZdZd„Zd„Zd„Zy)Ú submodulecó.—||_||_||_y©N)ÚpathÚnodeÚurl)Úselfrrrs ú5usr/lib/python3.12/site-packages/hgext/convert/git.pyÚ__init__zsubmodule.__init__s€ØˆŒ ؈Œ ؈�ócó8—d|j|jfzS)Ns %s = [git]%s)rr©rs rÚhgsubzsubmodule.hgsubs€Ø $§)¡)¨T¯X©XÐ!6Ñ6Ð6rcó8—d|j|jfzS)Ns%s %s)rrrs rÚ hgsubstatezsubmodule.hgsubstates€Ø˜4Ÿ9™9 d§i¡iÐ0Ñ0Ð0rN)Ú__name__Ú __module__Ú __qualname__rrr©rrr r s„òò 7ó1rr >ótreeócloseóbranchóauthoróparentó committerc󚇗eZdZd„Zd„Zd„Zd„Zd„Zd„Zdˆfd„ Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zdd„ZˆxZS)Ú convert_gitcó4—|d|jzg|¢­i|¤ŽS)Ns --git-dir=%s©r)rÚcmdÚargsÚkwargss rÚ_gitcmdzconvert_git._gitcmd5s €Ù�? T§Y¡YÑ.Ð@°Ò@¸Ñ@Ð@rcóB—|j|jg|¢­i|¤ŽSr)r,Úrun0©rr*r+s rÚgitrun0zconvert_git.gitrun08s!€Øˆt�|‰|˜DŸI™IÐ7¨Ò7°Ñ7Ð7rcóB—|j|jg|¢­i|¤ŽSr)r,Úrunr/s rÚgitrunzconvert_git.gitrun;s!€Øˆt�|‰|˜DŸH™HÐ6 tÒ6¨vÑ6Ð6rcóB—|j|jg|¢­i|¤ŽSr)r,Ú runlines0r/s rÚ gitrunlines0zconvert_git.gitrunlines0>s!€Øˆt�|‰|˜DŸN™NÐ<¨TÒ<°VÑ<Ð| dk(sŒD|xsd} ŒK| r | rtjtd««‚d| v}d| v}|r |rtjtd««‚|r | rtjtd ««‚| s| sd} ||| | d!œ|_ y)"N)Úrevssgits/.gits/objectss&%s does not look like a Git repositoryóconvertsgit.similarityréds$similarity must be between 0 and 100s-C%d%%sgit.findcopiesharders--find-copies-hardersgit.renamelimits-l%dscat-files--batchs git.extrakeyss%copying of extra key is forbidden: %ss, sgit.committeractions)ómessagedifferentó messagealwaysó=r rAs committer:rBsFcommitteractions cannot define both messagedifferent and messagealwaysó dropcommitteró replaceauthorsCcommitteractions cannot define both dropcommitter and replaceauthorsCcommitteractions cannot define both dropcommitter and messagealways)rDrErArB)!Úsuperr&rr Ú commandlinerÚabspathÚosrÚisdirÚexistsÚNoReporÚ configintrÚAbortÚsimoptÚ configboolÚappendÚ checktoolÚ submodulesr<Ú catfilepipeÚuiÚ configlistÚ copyextrakeysÚsetÚbannedextrakeysÚjoinÚsortedÚ startswithÚsplitÚcommitteractions)rrUÚrepotyperr>Ú similarityÚfindcopiesharderÚ renamelimitÚbannedr^ÚmessagedifferentÚ messagealwaysÚaÚkÚvÚ dropcommitterÚ replaceauthorÚ __class__s €rrzconvert_git.__init__Gs ø€Ü Œk˜4Ñ)¨"¨h¸À4Ð)ÔHÜ×Ñ×#Ñ# D¨"¨fÔ5ô�|‰|˜DÓ!ˆä �7‰7�=‰=˜ ™Ô )Ø �HÑ ˆDÜ�w‰w�~‰~˜d [Ñ0Ô1Ü—-‘-ÜÐ;Ó<¸tÑCóð ð —\‘\ *Ð.?Ó@ˆ Ø ˜Š>˜Z¨#Ò-Ü—+‘+œaÐ GÓHÓIÐ IØ ˜Š>Ø$ zÑ1Ð2ˆDŒKØ!Ÿ}™}ØÐ3ó Ð ñ Ø— ‘ ×"Ñ"Ð#:Ô;àŸ,™, zÐ3EÓFˆKØ �K‰K× Ñ ˜w¨Ñ4Õ 5àˆDŒKä×ј Ô(àˆŒ ؈ŒàŸ<™<¨ °ZÓ@ˆÔà!ŸW™W×/Ñ/° Ðr3Ú splitlinesrrNrrQ)rÚoutputÚstatusÚheadsÚrevÚrawheadÚrets rÚgetheadszconvert_git.getheads±s²€Ø�yŠyØ!Ÿ[™[ؘm¨\ó‰NˆF�Fð×%Ñ%Ó'ˆEÙÜ—k‘k¤!Ð$@Ó"AÓBÐBðˆ ð ˆEØ—y”y�Ø#Ÿ{™{¨<¸ÀcÓJ‘ �˜Ø— ‘ ˜W S b˜\Ô*ÚÜŸ+™+¤aÐ(HÓ&IÈCÑ&OÓPÐPð !ð ˆ rcó|—|tjk(rt‚|jdj |dz«|jdj «|jdj «j«}|d|k7r6tjtd«tj|«|fz«‚t|d«}|jdj|«}t|«|kr#tjtd«||fz«‚|jdjd«|S)Nró r scannot read %r object at %sés,cannot read %r object at %s: unexpected size)rÚnullhexÚIOErrorrTÚwriteÚflushÚreadliner]rrNrrÚbytestrÚintÚreadÚlen)rrwÚftypeÚinfoÚsizeÚdatas rÚcatfilezconvert_git.catfileÂs&€Ø Ô#×+Ñ+Ò +܈MØ ×јÑ×!Ñ! #¨¡+Ô.Ø ×јÑ×!Ñ!Ô#Ø×Ñ Ñ"×+Ñ+Ó-×3Ñ3Ó5ˆØ �‰7�eÒ Ü—+‘+ÜÐ0Ó1Ü×#Ñ# EÓ*¨CÐ0ñ1óð ô�4˜‘7‹|ˆØ×Ñ Ñ"×'Ñ'¨Ó-ˆÜ ˆt‹9�tÒ Ü—+‘+ÜÐAÓBؘ#�,ñóð ð ×јÑ× Ñ  Ô#؈ rcó¤—|tjk(ry|dk(rAdj|j«D�cgc]}|j «‘Œc}«}d}||fS|dk(rAdj|j«D�cgc]}|j «‘Œc}«}d}||fS|j |d«}|j||f}||fScc}wcc}w)N)NNó.hgsubr|ró .hgsubstatesblob)rr~rZÚ submoditerrrr‹Ú modecache)rÚnamerwÚmrŠÚmodes rÚgetfilezconvert_git.getfileØsÚ€Ø Ô#×+Ñ+Ò +ØØ �9Ò Ø—:‘:°$·/±/Ô2CÓDÑ2C¨Q˜qŸw™w�yÐ2CÑDÓEˆD؈Dð�TˆzÐð �^Ò #Ø—:‘:°t·±Ô7HÓIÑ7H°!˜qŸ|™|�~Ð7HÑIÓJˆD؈Dð�TˆzÐð—<‘<  WÓ-ˆDØ—>‘> 4¨ +Ñ.ˆDØ�TˆzÐùòEùòJs ·CÁ=C c#óŽK—tj}t|jd„¬«D]}|j|k7sŒ|–—Œy­w)Ncó—|jSrr()Úps rÚz(convert_git.submoditer..ès€°q·v²vr)Úkey)rr~r[rSr)rÚnullr’s rr�zconvert_git.submoditeræs7èø€Ü ×(Ñ(ˆÜ˜Ÿ™Ñ-=×>ˆAØ�v‰v˜‹~Ø“ñ?ùs ‚;A¾Ac ór—g|_tj«}|jddjd„|j d«D«««|j «D]R}t |j|««}d|vsŒ"d|vsŒ'|jjt|dd|d««ŒTy)z�Parse the formatted .gitmodules file, example file format: [submodule "sub"] path = sub url = git://giturl ó .gitmodulesr|c3ó<K—|]}|j«–—Œy­wr)Ústrip)Ú.0Úlines rÚ z.convert_git.parsegitmodules..÷sèø€ÐEÑ0D¨�t—z‘z—|Ñ0Dùs‚surlspathrN) rSrÚparserZr]ÚsectionsÚdictÚitemsrQr )rÚcontentÚcÚsecÚss rÚparsegitmoduleszconvert_git.parsegitmodulesìs”€ð ˆŒÜ �M‰M‹Oˆà �‰Ø Ø �J‰JÑE°· ± ¸eÔ0DÓEÓ Eô ð—:‘:–<ˆCä�Q—W‘W˜S“\Ó"ˆAؘŠ{˜w¨!š|Ø—‘×&Ñ&¤y°°7±¸SÀ!ÀFÁ)Ó'LÕMñ  rcóÊ—|jdd|dfz«\}}|r(|jjtd«|z«y |j |«|jD]>}|jdd||jfz«\}}|rŒ*|j«|_ Œ@y#t j $r*|jjtd«|z«YywxYw)Nsshows%s:%srœs2warning: cannot read submodules config file in %s s+warning: unable to parse .gitmodules in %s rq) r3rUÚwarnrrªrÚ ParseErrorrSrržr)rÚversionÚmodulesryr’rs rÚretrievegitmoduleszconvert_git.retrievegitmodulesÿsâ€Ø—{‘{Ø �X ¨.Ð 9Ñ9ó ‰ ˆ�ñ ð �G‰G�L‰LÜÐHÓIØñô ð ð Ø × Ñ  Ô )𗔈AØŸ ™  L°(¸gÀqÇvÁvÐ=NÑ2NÓO‰IˆD�#ÙØØ—Z‘Z“\ˆA�Fñ !øô ×Ñò Ø �G‰G�L‰LÜÐAÓBÀWÑLô ñ ð  úsÁB%Â%:C"Ã!C"c󲇇‡‡‡‡—|rtjtd««‚i‰_gd¢‰jz|gz}‰j |Ž\}}|r!tjtd«|z«‚gŠi}t «Šd}dgŠdgŠ|jd«}t|«} d} ‰jjdd«Šˆˆˆˆˆˆfd „} | | kr§|| } | d z } |s3| jd «sŒ#td „| j«D««}ŒD| } |d ddk(r| }|| }| d z } |} |||<| ‰vr | || d«|d ddk(r'|| }| d z } |‰vr| ||d«| dk7r |dk7r| ||<d}| | krŒ§‰drI‰dr"‰jdtjf«n"‰j!|«‰jd«‰|t «fS)Ns(convert from git does not support --full)ó diff-trees-zó--rootó-mó-rócannot read changes in %sFórr?sgit.skipsubmodulescóЕ—‰j|«|d}|ddk(}|ddk(}| xr |dddk(}|dk(rK‰ ryd ‰ d<|dd k(s|r'd ‰ d<‰jd tjf«y‰jd «y|dd k(s|ddk(r ‰ sd ‰ d<yy|rtj}|xrdxs |xrdxsd‰ j||f<‰j||f«y)Nér s100755s120000éróRrœTóDr�)r�rs160000s:160000óxólr)ÚaddrQrr~r�) ÚentryrnÚisdestÚhr—r©Ú renamesourceÚchangesÚseenrÚskipsubmodulesÚ subdeletedÚ subexistss €€€€€€rr¿z#convert_git.getchanges..add2s ø€Ø �H‰H�QŒKØ�a‘ˆAØ�a‘˜IÑ%ˆAØ�a‘˜IÑ%ˆAØ%˜:Ò=¨%°©(°1©+¸Ñ*=ˆLà�NÒ"Ù!Øà#� ˜!‘ ؘ‘8˜tÒ#¡|Ø$(�J˜q‘MØ—N‘N IÔ/@×/HÑ/HÐ#IÕJà—N‘NÐ#3Õ4Ø�q‘˜YÒ&¨%°©(°jÒ*@Ù%Ø#'�I˜a’Lð&ñ Ü)×1Ñ1�AØ*+ª*°Ò)L¸!º*ÀÒ)LÈ�—‘  1˜vÑ&Ø—‘  1˜vÕ&rr ó:c3óFK—|]}tj|«–—Œy­wr)rrƒ)rŸr—s rr¡z)convert_git.getchanges..Rsèø€ÐE¹9°aœh×.Ñ.¨q×1¹9ùs‚!rºóCr»TrœrŽ)rŽr)rrNrr�rOr3rXr]r†rUrPr\ÚtuplerQrr~r°)rr®Úfullr)rtruÚcopiesrÀÚdifftreeÚlcountÚir¿ÚlrnÚcopysrcÚcopydestÚfdestrÄrÅrÆrÇrÈs` @@@@@rÚ getchangeszconvert_git.getchangessý€Ù Ü—+‘+œaÐ KÓLÓMÐ M؈Œâ :Ø�k‰kñ àˆiñ ð ð %˜Ÿ™ cÐ*‰ˆ�Ù Ü—+‘+œaÐ <Ó=ÀÑGÓHÐ H؈؈܋uˆØˆØ�Gˆ Ø�Wˆ Ø—<‘< Ó(ˆÜ�X“ˆØ ˆàŸ™×+Ñ+¨JÐ8MÓNˆ÷ 'ñ 'ð4�&Šjؘ‘ ˆAØ �‰FˆAÙØ—|‘| DÔ)ØÜÑE¸1¿7¹7¼9ÓEÓE�ØØˆAØ�Q‰x˜‰{˜dÒ"Ø�Ø# A™;�Ø�Q‘�Ø�Ø#*��xÑ Ø˜‰}Ù�E˜1˜eÔ$ð�Q‰x˜‰{˜dÒ"à  ™ �Ø�Q‘�Ø Ñ$Ù˜˜u dÔ+ð˜NÒ*¨u¸Ò/FØ()˜˜u™ ؈Eð;�&‹jð> �QŠ<ؘ!Š}Ø—‘ Ô0A×0IÑ0IÐJÕKà×'Ñ'¨Ô0Ø—‘Ð4Ô5ؘ¤£Ð'Ð'rc ó<—|j|d«}|jd«}||dzd}|j|«}|d|j«}g}dx}}i} |ddD]ß} | j dd«\} } | dk(rJ| j «} | dd\}}dj | dd«}|dd k(r|dd }|j|«}| d k(rJ| j «} | dd\}}dj | dd«}|dd k(r|dd }|j|«}| d k(r|j | «| |jvsŒÛ| | | <Œá|jd rd}n|jdr|}|r<|jd}|jd}|r |d||fzz }n|r||k7r |d||fzz }dddz|dd|dd}}}t|« t|«dzt|«zz}dzd|zz}|jjdd«}tj|||||| |¬«}|S)Nscommits r}r ó r"éþÿÿÿró‘> &Ô)ØØ*.ˆG�Cœ˜F› ˜ Ð&Ò 'ðóˆCØ�|‰|˜FÔ#Ø!(¨¡��S˜˜"�X’à˜‘< 7Ñ*Øà '¨¡ �D˜’Iððˆ rc óÀ—g}|€q|jdddd|«\}}|r!tjtd«|z«‚|D]/}d|vrŒ|ddj d«\}}|j |«Œ1|S|jdddd|d ||d zfzd «\}}|r!tjtd«|z«‚|D�cgc]}|j d «‘Œ}}|Scc}w) Nr²r³r´rµr¶ó rrs --name-onlys%s^%dr s--r|)r9rrNrr]rQÚrstrip) rr®rÑrÄrtrurÒr’rns rÚgetchangedfileszconvert_git.getchangedfilesÕs€ØˆØ ˆ9Ø!×-Ñ-ؘi¨°°wó‰NˆF�FñÜ—k‘k¤!Ð$@Ó"AÀGÑ"KÓLÐLÛ�Ø ‘>ØØ˜˜"�v—|‘| EÓ*‘��1Ø—‘˜qÕ!ð ð&ˆð"×-Ñ-ØØØØØØ˜G Q¨¡UÐ+Ñ+Øó‰NˆF�FñÜ—k‘k¤!Ð$@Ó"AÀGÑ"KÓLÐLÙ06Ó7±¨1�q—x‘x •°ˆGÐ7àˆùò8sÂ?Ccón—i}|jjdd«}d|dzfdg}dh} |jd«\}}|D]_}|j«}|j dd«\}} |D]3\} } | j | «r| |vrŒd | | t | «dfz} ||| <Œ5Œa |S#t$rY|SwxYw) Nr?sgit.remoteprefixsrefs/remotes/origin/ó/)s refs/heads/rsrefs/remotes/origin/HEADsshow-refr s%s%s)rUrr9ržr]r\r†Ú Exception) rÚ bookmarksÚ remoteprefixÚreftypesÚexcludertrur rwr‘Ú gitprefixÚhgprefixs rÚ getbookmarkszconvert_git.getbookmarksòsï€Øˆ ð—w‘w—~‘~ jÐ2EÓFˆ ð% l°TÑ&9Ð :Ø !ð ˆð (ð ˆð Ø!×-Ñ-¨kÓ:‰NˆF�FÛ�Ø—z‘z“|�Ø ŸJ™J t¨QÓ/‘ ��Tã+3Ñ'�I˜xØŸ?™?¨9Ô5¸À¹Ø Ø" h°´S¸³^Ð5EÐ0FÐ%GÑG�DØ&)�I˜d’Oñ ,4ñ ðÐøôò Ø àÐð ús¬A8B'Â' B4Â3B4có(—|j||«y)z$git revision string is a 40 byte hexN)Úcheckhexformat)rÚrevstrÚmapnames rÚcheckrevformatzconvert_git.checkrevformats€à ×јF GÕ,rr)s splicemap)rrrr,r0r3r6r9r<rrorzr‹r”r�rªr°rÖrñrórûrÿr rÚ __classcell__)rks@rr&r&0ssø„ò Aò8ò7ò=ò<ò9õd òLòò"ò, òò Nò&"ò6W(òr9òvòò>ò:÷>-rr&)rIÚmercurial.i18nrÚmercurial.noderÚ mercurialrrrrÚr r rYÚconverter_sourcerGr&rrrÚrsLðó åÝ,÷óõ÷ 1ñ 1ò €ôc-�&×)Ñ)¨6×+=Ñ+=õc-r