Ë  Z¢¡‚Ç`—ãó°—dZddlZddlmZddlmZddlmZmZm Z ddl m Z m Z m Z mZmZmZmZmZmZmZmZmZmZmZmZmZddlmZmZm Z Gd„d e jB«Z"iZ#ejHe#«Z$d Z%iZ&ejNe&«Z'e'd d d¬ «e'd dd¬ «Gd„d«Z(Gd„d«Z)Gd„d«Z*d„Z+d„Z,e$d ddded«ed«fddged«ed«fd d!ded"«fd#d$ged%«ed«fd&d'ged(«ed«fdd)ded*«ed«fd+d,d-ed.«fddded/«fdd0d-ed1«fd2d3ded4«fdd ded5«ed6«fg ed7«e$jZ¬8«d9„«Z.d:„Z/d;„Z0ejb«Z1e1d<«d=„«Z2ejf«Z3e3d>d?h¬@«dA„«Z4dB„Z5e2e4gZ6y)CaVcommand to transplant changesets from another branch This extension allows you to transplant changes to another parent revision, possibly in another repository. The transplant is done using 'diff' patches. Transplanted patches are recorded in .hg/transplant/transplants, as a map from a changeset hash to its hash in the source repository. éN)Ú_)Úopen)ÚbinÚhexÚshort)Ú bundlerepoÚcmdutilÚerrorÚexchangeÚhgÚ logcmdutilÚmatchÚmergeÚpatchÚpycompatÚ registrarÚrevsetÚsmartsetÚstateÚutilÚvfs)ÚprocutilÚ stringutilÚurlutilcó —eZdZy)ÚTransplantErrorN)Ú__name__Ú __module__Ú __qualname__©óú4usr/lib/python3.12/site-packages/hgext/transplant.pyrr3s„Ør!rsships-with-hg-coreó transplantófilter)Údefaultólogcó—eZdZd„Zy)Útransplantentrycó —||_||_y©N)ÚlnodeÚrnode)Úselfr+r,s r"Ú__init__ztransplantentry.__init__Os€ØˆŒ ؈� r!N)rrrr.r r!r"r(r(Ns„ór!r(có2—eZdZdd„Zd„Zd„Zd„Zd„Zd„Zy) Ú transplantsNcó¶—||_||_||_|s$tj|j«|_i|_d|_|j«y©NF)ÚpathÚtransplantfileÚopenerÚvfsmodrr0ÚdirtyÚread)r-r3r4r5s r"r.ztransplants.__init__UsG€ØˆŒ Ø,ˆÔ؈Œ áÜ Ÿ*™* T§Y¡YÓ/ˆDŒKØˆÔØˆŒ Ø � ‰ � r!cóè—tjj|j|j«}|jr²tjj |«r’|j j |j«j«D][}tt|jd««\}}|jj|g«}|jt||««Œ]yyy)Nó:)Úosr3Újoinr4Úexistsr5r8Ú splitlinesÚmaprÚsplitr0Ú setdefaultÚappendr()r-ÚabspathÚliner+r,Úlists r"r8ztransplants.read`s­€Ü—'‘'—,‘,˜tŸy™y¨$×*=Ñ*=Ó>ˆØ × Ò ¤2§7¡7§>¡>°'Ô#:ØŸ ™ ×(Ñ(¨×)<Ñ)<Ó=×HÑHÖJ�Ü"¤3¨¯ © °4Ó(8Ó9‘ ��uØ×'Ñ'×2Ñ2°5¸"Ó=�Ø— ‘ œO¨E°5Ó9Õ:ñKð$;Ð r!cóü—|jré|jrÝtjj |j«stj |j«|j |jd«}|jj«D]L}|D]E}tt|j|jf«\}}|j|dz|zdz«ŒGŒN|j«d|_y)Nówr:ó F)r7r4r;r3ÚisdirÚmkdirr5r0Úvaluesr?rr+r,ÚwriteÚclose)r-ÚfprEÚtÚlÚrs r"rLztransplants.writehs¶€Ø �:Š:˜$×-Ò-Ü—7‘7—=‘= §¡Ô+Ü—‘˜Ÿ™Ô#Ø—‘˜T×0Ñ0°$Ó7ˆBØ×(Ñ(×/Ñ/Ö1�Û�AÜœs Q§W¡W¨a¯g©gÐ$6Ó7‘D�A�qØ—H‘H˜Q ™X¨™\¨EÑ1Õ2ñð2ð �H‰HŒJ؈� r!có@—|jj|«xsgSr*)r0Úget)r-r,s r"rSztransplants.getts€Ø×Ñ×#Ñ# EÓ*Ò0¨bÐ0r!có€—|jj|g«}|jt||««d|_y©NT)r0rArBr(r7)r-r+r,rEs r"Úsetztransplants.setws4€Ø×Ñ×*Ñ*¨5°"Ó5ˆØ � ‰ ”O E¨5Ó1Ô2؈� r!có†—|jj|j«}|r||j|«=d|_yyrU)r0rSr,Úindexr7)r-Ú transplantrEs r"Úremoveztransplants.remove|s>€Ø×Ñ×#Ñ# J×$4Ñ$4Ó5ˆÙ Ø�T—Z‘Z  Ó+Ð,؈D�Jð r!)NNN) rrrr.r8rLrSrVrZr r!r"r0r0Ts „ó ò;ò ò1òó r!r0cót—eZdZd„Zd„Zdd„Zd„Z dd„Zd„Zd„Z d „Z d „Z d „Z d „Z d „Zdd„Zd„Zd„Zd„Zy)Ú transplanterc󇇗||_‰|_‰jjd«|_t j|j«|_t|jd|j ¬«|_ˆˆfd„}||_y)Nr#s transplants)r5cóŠ•—tj‰dd«}tjdd|itj‰«¤ŽS)Nr#Úeditformr )r Ú mergeeditformÚgetcommiteditorrÚ strkwargs)r_ÚoptsÚrepos €€r"raz.transplanter.__init__..getcommiteditor�sGø€Ü×,Ñ,¨T°$©Z¸ÓGˆHÜ×*Ñ*ñØ!ðÜ%-×%7Ñ%7¸Ó%=ñð r!) Úuirdrr<r3r6r5r0ra)r-rerdrcras `` r"r.ztransplanter.__init__„sdù€ØˆŒØˆŒ Ø—H‘H—M‘M -Ó0ˆŒ Ü—j‘j §¡Ó+ˆŒ Ü&Ø �I‰I�~¨d¯k©kô ˆÔõ ð /ˆÕr!có—t||«r|jj|«}t||«r?|jj|«}|jjg|d¬«}||vry|jj |«D]}}t||j «s|jj|«y|jj|j «}||jjg|d¬«vsŒ}yy)zmreturns True if a node is already an ancestor of parent or is parent or has already been transplantedT)Ú inclusiveF)ÚhasnodeÚ changelogÚrevÚ ancestorsr0rSr+rZ) r-rdÚnodeÚparentÚ parentrevrjÚ reachablerOÚlnoderevs r"Úappliedztransplanter.applied•sø€ô �4˜Ô ØŸ™×*Ñ*¨6Ó2ˆIÜ �4˜Ô Ø—.‘.×$Ñ$ TÓ*ˆCØŸ™×0Ñ0Ø� ˜S¨Dð1óˆIð�iÑØØ×!Ñ!×%Ñ% dÖ+ˆAä˜4 §¡Ô)Ø× Ñ ×'Ñ'¨Ô*ÙØ—~‘~×)Ñ)¨!¯'©'Ó2ˆHؘ4Ÿ>™>×3Ñ3Ø� ˜X°ð4óòñð,ðr!Nc ó —|€i}t|«}|jj«}g}tj|j |«} d| _dx} } |j«} |jd«} |D�]S} || } d| t| «fz}|j|| |«r(|j jtd«|z«ŒT|jj| «}|jd«s‘|jd«s€|d|k(r|j!| «| }Œ­|rb||k7r&t#j$||j'«|¬ «t)j*||d «|jj«}g}d }| |vr5d}t-|| «s't#j$||j'«| g¬ «d }|d |j.k7r“|jd «s5|j j1td«| t| «fz«d}nR|j3|d «}||vr:t5j6td«t|«t| «fz«‚|d}|rd}npt9j:d¬«\}}t=j>|d«}tj@|| | ¬«}|D]}|jC|«Œ|jE«|| =|s|s�Œv |jG|| |jjI| «|||jd«|jd«¬«}|r5|r3|j jMtd«|t|«fz«n=|r;|j jMtd«t| «t|«fz«|s�Œ?t=jN|«�ŒV| jE«|rAt#j$||j'«|¬ «t)j*||d «|jQ||«|jRjC«| r| jU«| r| jU«yy#tJ$r| jE«‚wxYw#|rt=jN|«wwxYw#|jQ||«|jRjC«| r| jU«| r| jU«wwxYw)z:apply the revisions in revmap one by one in revision orderNTr#s%d:%ss%skipping already applied revision %s r$r&r)ÚheadséÿÿÿÿFéóparentsskipping merge changeset %d:%s ó%s is not a parent of %sóhg-transplant-©ÚprefixÚwb)rc)rÚlogÚfilters%s merged at %s s%s transplanted to %s )+ÚsortedÚdirstateÚp1rÚdifffeatureoptsreÚgitÚlockÚ transactionrrqÚwarnrriÚparentsrSrBr ÚpullÚpeerrÚupdaterhÚnullidÚnoteÚlookupr ÚAbortrÚmkstempr;ÚfdopenÚdiffrLrMÚapplyoner8rÚstatusÚunlinkÚ saveseriesr0Úrelease)r-rdÚsourceÚrevmapÚmergesrcÚrevsr€ÚpullsÚdiffoptsrƒÚtrrjrlÚrevstrr†ÚdomergeÚ skipmergermÚ patchfileÚfdrNÚgenÚchunkÚns r"Úapplyztransplanter.apply­sa€à ˆ<؈DÜ�f‹~ˆØ �]‰]× Ñ Ó ˆØˆÜ×(Ñ(¨¯©°$Ó7ˆØˆŒ àЈˆrði Ø—9‘9“;ˆDØ×!Ñ! -Ó0ˆBÜ�ؘc‘{�Ø! S¬%°«+Ð$6Ñ6�à—<‘<  d¨BÔ/Ø—G‘G—L‘LÜÐCÓDÀvÑMôðà ×*Ñ*×2Ñ2°4Ó8�ØŸ™ Ô+¨t¯x©x¸Ô/?ð˜q‘z RÒ'ØŸ ™  TÔ*Ø!˜Ø ÙØ! Tš>Ü$ŸM™M¨$°· ± ³ ÀUÕKÜŸ ™  T¨%°©)¡_Ô5Ø!Ÿ]™]×-Ñ-Ó/˜Ø "˜à�ؘ6‘>ð#�GÜ" 4¨Ô.Ü Ÿ ™  d¨F¯K©K«MÀ$ÀÕHà!� ؘ1‘: §¡Ò,ØŸ8™8 IÔ.ØŸ™Ÿ ™ ÜÐAÓBØ"¤E¨$£KÐ0ñ1ôð%)™ à!'§¡¨t°I©Ó!?˜Ø!¨Ñ0Ü"'§+¡+Ü !Ð"=Ó >Ü#(¨£=´%¸³+Ð">ñ!?ó#ðð % Q™Z�FáØ $‘Iä$,×$4Ñ$4Ðapply the patch in patchfile to the repository as a transplantNés%d %dótransplant_sources (transplanted from %s)s applying %s s %s %s %s s"can only omit patchfile if merging)ÚfilesÚeolmodeóseries)rrHs=fix up the working directory and run hg transplant --continue)ÚextrarÚeditorsskipping emptied changeset %s )!r}rrer’rrr‹r r�rVrrEÚ Exceptionr;r3r<r=r“rr€r|rLrÚ forcebytestrrÚ setparentsrÚalwaysÚexactÚcommitrar…r0)r-rdrlÚclr rr|r}Úmanifestr±ÚtimeÚtimezoner¸Úmessager²r»ÚinstÚ seriespathr€Úp2Úmr¤s r"r‘ztransplanter.applyoneFsY€ð>@ÀÀ¸VÑ:ˆ�4Ñ)˜$ ¨5°'ؘ4 Ð*Ñ*ˆØ% tÐ,ˆÙ Ø$(§K¡K°¸¸bÀ)Ó$LÑ !ˆT�4˜á à Ð2´S¸³YÑ>Ñ >ˆGà �‰�‰”qÐ)Ó*¬U°4«[Ñ8Ô9Ø �‰� ‰ �^ t¨T°7Ð&;Ñ;Ô<á¡Ü—+‘+œaÐ EÓFÓGÐ GÙ ð Ü›�Ü— ‘ ˜DŸG™G T¨9¸EÈ4ÕPܘU› ‘ð ˆEÙ Ø—‘×!Ñ!Ó#ˆBØ �O‰O˜B Ô %Ü— ‘ “‰Aä— ‘ ˜EÓ"ˆAà �K‰KØ Ø Ø ØØØ×'Ñ'Ó)ð ó ˆñØ �G‰G�L‰LœÐ=Ó>ÄÀtÃÑLÔ MØÙØ × Ñ × Ñ   DÔ )àˆøôKò ÜŸW™WŸ\™\¨$¯)©)°YÓ?� Ü—7‘7—>‘> *Ô-Ü—I‘I˜jÔ)Ø—]‘]×%Ñ%Ó'�Ø�Ø—‘˜˜t W¨b°"¸E�ÔBØ—‘— ‘ œj×5Ñ5°dÓ;¸eÑCÔDÜ%Üð4óóðûð úsÂ=9G Ç J-ÇCJ(Ê(J-có�—tjjtjj|jd««S©Nójournal)r;r3r=r<©r-s r"Ú canresumeztransplanter.canresume…s(€Ü�w‰w�~‰~œbŸg™gŸl™l¨4¯9©9°jÓAÓBÐBr!có,—tjjtjj|jd««r…|j |||«\}}|r<|j j td«t|«t|«fz«n1|j j td«t|«fz«tjj|jd«}tjj|«s|jj«y|j«\}}i} |D] }|| |jj|«<Œ"tj|«|j||| ||«y)z7recover last transaction and apply remaining changesetsrÎs%s transplanted as %s s%s skipped due to empty diff rºN)r;r3r=r<Úrecoverrer’rrr0rLÚ readseriesrirjr“r¥) r-rdr–rcr¤rlrÉÚnodesr˜r—s r"Úresumeztransplanter.resumeˆs(€ä �7‰7�>‰>œ"Ÿ'™'Ÿ,™, t§y¡y°*Ó=Ô >Ø—l‘l 4¨°Ó6‰GˆAˆtÙØ—‘—‘ÜÐ0Ó1´U¸4³[Ä%ÈÃ(Ð4KÑKõð—‘—‘ÜÐ7Ó8¼EÀ$»K¸>ÑIôô—W‘W—\‘\ $§)¡)¨YÓ7ˆ Ü�w‰w�~‰~˜jÔ)Ø × Ñ × "Ñ "Ô $Ø ØŸ™Ó)‰ ˆˆv؈ۈAØ./ˆF�6×#Ñ#×'Ñ'¨Ó*Ò +ðä � ‰ �*Ôà � ‰ �4˜ ¨°Õ6r!cóÊ—|j«\}}}}}d} |r |r|r|dstjtd««‚|d} t |«dkDr`|j d«rM|j |d«} | |vr7tjtd«t| «t|«fz«‚d} d|i} |jj«} | | k7r*tjtd «t| «z«‚| r|j| |d«|j«} | j| j| j| j f\}}}}| s|s|s|s|rc|j#|||| |j%«¬ «}|stjtd ««‚| s|j&j)||«nd }|j+«||fS#wxYw) z/commit working directory using journal metadataFrstransplant log file is corruptrurvrwTr·s-working directory not at transplant parent %s)r»r¼s commit failedN)Úreadlogr r�rÚlenrSrŒrrr€rr¿r’ÚmodifiedÚaddedÚremovedÚdeletedrÂrar0rVÚunlog)r-rdr–rcrlr±r²rÇr†rrmr»r€ÚstrÙrÚrÛrÜr¤s r"rÒztransplanter.recover sÕ€à-1¯\©\«^Ñ*ˆˆd�D˜' 7؈á™4¡w°g¸a²jÜ—+‘+œaÐ AÓBÓCÐ Cà˜‘ˆÜ ˆw‹<˜!Ò Ø�x‰x˜ Ô"ØŸ™ t¨I¡Ó7�Ø Ñ(ÜŸ+™+ÜÐ5Ó6Ü  ›=¬%°«+Ð6ñ7óðð �à% tÐ,ˆð$ Ø—‘×!Ñ!Ó#ˆBØ�VŠ|Ü—k‘kÜÐFÓGܘ&“kñ"óðñØ—‘  G¨A¡JÔ/Ø—‘“ˆBà— ‘ Ø—‘Ø— ‘ Ø— ‘ ð 1Ñ -ˆH�e˜W gñ ™¡E©W¹Ø—K‘KØØØØØ×/Ñ/Ó1ð  ó�ñÜŸ+™+¤aÐ(8Ó&9Ó:Ð:ÙØ×$Ñ$×(Ñ(¨¨DÕ1à�Ø �J‰JŒLà�d�7ð øˆDús Â:D%G Ç G"có —|j«rs|d}tj|«|jt d««|jt d«|j «ddz«|j «yy)z'logic to stop an interrupted transplantó.s#stopped the interrupted transplant sworking directory is now at %s Né r)rÐrÚ clean_updater’rrrÝ)r-rerdÚstartctxs r"Ústopztransplanter.stopÛso€à �>‰>Ô Ø˜D‘zˆHÜ × Ñ ˜xÔ (Ø �I‰I”aÐ?Ó@Ô AØ �I‰IÜÐ5Ó6¸¿¹»ÈÈÐ9LÑLô ð �J‰JŒLØð r!cóΗg}g}|}|jjd«j«D]0}|jd«r|}Œ|j t |««Œ2||fS)Nrºs# Merges)r5r8r>Ú startswithrBr)r-rÔr˜ÚcurrDs r"rÓztransplanter.readseriesçsc€ØˆØˆØˆØ—K‘K×$Ñ$ YÓ/×:Ñ:Ö<ˆDØ�‰˜{Ô+Ø�ØØ �J‰J”s˜4“yÕ !ð =ð �vˆÐr!có¬—|sytjj|j«stj|j«|j dd«}t |«D]"}|j t||«dz«Œ$|r5|j d«|D]}|j t|«dz«Œ!|j«y)NrºrGrHs # Merges ) r;r3rIrJr5r~rLrrM)r-r—r˜ÚseriesrjrËs r"r”ztransplanter.saveseriesósš€ÙØ ä�w‰w�}‰}˜TŸY™YÔ'Ü �H‰H�T—Y‘YÔ Ø—‘˜Y¨Ó-ˆÜ˜&–>ˆCØ �L‰Lœ˜V C™[Ó)¨EÑ1Õ 2ð"á Ø �L‰L˜Ô 'Û�Ø— ‘ œS ›V e™^Õ,ðà� ‰ �r!cóh—g}g}|jj}d}d}d}|j«j«D]¸}|r|j |«Œ|j d«r|dd}Œ.|j d«r|dd}ŒE|j d«rt |dd«}Œe|j d«r|j t |dd««Œ”|j d «rŒ¦d }|j |«Œºd||fvrtjtd ««‚|||d j|«|fS) NFs# User és# Date s # Node ID é ó # Parent é s# Ts,filter corrupted changeset (no user or date)rH) rdrŠr8r>rBrærr r�rr<) r-rNr†rÇrlÚinmsgr±r²rDs r"r°ztransplanter.parselogs€ØˆØˆØ�y‰y×ш؈؈؈ؗG‘G“I×(Ñ(Ö*ˆDÙØ—‘˜tÕ$Ø—‘ Ô,ؘA˜B�x‘Ø—‘ Ô,ؘA˜B�x‘Ø—‘ Ô/ܘ4  ˜9“~‘Ø—‘ Ô.Ø—‘œs 4¨¨ 8›}Õ-Ø—_‘_ UÕ+Ø�Ø—‘˜tÕ$ð+ð �D˜$�<Ñ Ü—+‘+ÜÐAÓBóð ð�d˜D %§*¡*¨WÓ"5°wÐ?Ð?r!có*—tjj|j«stj|j«|j dd«}|j d|z«|j d|z«|j dt |«z«|j dt |«zdz«|r |j dt |«zdz«|j |j«dz«|j«y) z,journal changelog metadata for later recoverrÎrGr©s # Date %s s # Node ID %s rírHN) r;r3rIrJr5rLrÚrstriprM)r-r±r²rÇr€rÊrrNs r"r|ztransplanter.logsÈ€ô�w‰w�}‰}˜TŸY™YÔ'Ü �H‰H�T—Y‘YÔ Ø �[‰[˜ TÓ *ˆØ �‰� $Ñ&Ô'Ø �‰� $Ñ&Ô'Ø �‰Ð"¤S¨£WÑ,Ô-Ø �‰�¤ B£Ñ'¨%Ñ/Ô0Ù Ø �H‰H�\¤C¨£GÑ+¨eÑ3Ô 4Ø �‰�—‘Ó! EÑ)Ô*Ø �‰� r!cóB—|j|jd««SrÍ)r°r5rÏs r"r×ztransplanter.readlog,s€Ø�}‰}˜TŸ[™[¨Ó4Ó5Ð5r!có—tjj|jd«}tjj|«rtj|«yy)zremove changelog journalrÎN)r;r3r<r=r“)r-Úabsdsts r"rÝztransplanter.unlog/s;€ä—‘—‘˜dŸi™i¨Ó4ˆÜ �7‰7�>‰>˜&Ô !Ü �I‰I�fÕ ð "r!c󇇇‡—ˆˆˆˆfd„}|S)Ncó•—‰j‰|‰«ry‰jj|«d‰jk7ry‰jj |«d}|j d«}|r‰j‰|‰«ryy)NFrur¶r·T)rqrir†rŠr8rS)rlr»ÚcnoderdÚrootr-r–s €€€€r"Úmatchfnz.transplanter.transplantfilter..matchfn6s}ø€Ø�|‰|˜D $¨Ô-ØØ×Ñ×'Ñ'¨Ó-¨aÑ0°D·K±KÒ?ØØ×$Ñ$×)Ñ)¨$Ó/°Ñ2ˆEØ—I‘IÐ2Ó3ˆEÙ˜Ÿ™ d¨E°4Ô8ØØr!r )r-rdr–rørùs```` r"Útransplantfilterztransplanter.transplantfilter5sû€÷ ðˆr!r*)FFN)F)rrrr.rqr¥r}r‘rÐrÕrÒrärÓr”r°r|r×rÝrúr r!r"r\r\ƒs`„ò/ò"ó0tòl!!ðHIMó=ò~Cò7ò09òv ò ò ò@ó6 ò6òó r!r\cóp— |jj|«duS#tj$rYywxYwr2)rirjr Ú StorageError)rdrls r"rhrhDs9€ðØ�~‰~×!Ñ! $Ó'¨tÐ3Ð3øÜ × Ñ òÙðús ‚Ÿ5´5có†—tj|||«}g}g}td«}|D�]}|j||«d} | s¨|j |«} d| | dz} | dk(r5|j |«dD]\} } |j d| | fz«Œd} nR| dk(rM|jj|«d} tj|| |«D]}|j |«Œd} | sŒ¨| d k(r|j|«ŒÛ| d k(r|j|«Œò| d k(rn | d k(sŒÿd }d }n|j«||fS)z#interactively transplant changesetssÓapply changeset? [ynmpcq?]:$$ &yes, transplant this changeset$$ &no, skip this changeset$$ &merge at this changeset$$ show &patch$$ &commit selected changesets$$ &quit and cancel transplant$$ &? (show this help)Nsynmpcq?ruó?s%s: %s ópróyómócóqr ) r ÚchangesetdisplayerrÚshowÚ promptchoiceÚextractchoicesrLrir†rr�rBrM)rerdrÔrcÚ displayerr0r˜ÚpromptrlÚactionÚchoiceÚcrOrmr£s r"Ú browserevsr Ks[€ä×-Ñ-¨b°$¸Ó=€IØ€KØ €FÜ ð "ó €FôˆØ�‰�t˜D‘zÔ"ØˆÙØ—_‘_ VÓ,ˆFØ ¨°!©Ð4ˆFؘŠ~Ø×-Ñ-¨fÓ5°aÔ8‘D�A�qØ—H‘H˜[¨A¨q¨6Ñ1Õ2ð9à‘Ø˜4’ØŸ™×/Ñ/°Ó5°aÑ8�Ü"ŸZ™Z¨¨f°dÖ;�EØ—H‘H˜U•Oð<à�òð �TŠ>Ø × Ñ ˜tÕ $Ø �tŠ^Ø �M‰M˜$Õ Ø �tŠ^Ù Ø �t‹^؈K؈FÙ ð1ð2‡O�OÔØ ˜Ð Ð r!ósósourcer!stransplant changesets from REPOsREPOóbóbranchs!use this source changeset as headsREVóaóalls0pull all changesets up to the --branch revisionsrÿóprunes skip over REVrómerges merge at REVrvs)parent to choose when transplanting mergeóeseditFs invoke editor on commit messagess%append transplant info to log messageóstopsstop interrupted transplantrócontinues7continue last transplant session after fixing conflictss!filter changesets through commandsCMDsChg transplant [-s REPO] [-b BRANCH [-a]] [-p REV] [-m REV] [REV]...)Ú helpcategorycón—|j«5t||g|¢­i|¤Žcddd«S#1swYyxYw)aîtransplant changesets from another branch Selected changesets will be applied on top of the current working directory with the log of the original changeset. The changesets are copied and will thus appear twice in the history with different identities. Consider using the graft command if everything is inside the same repository - it will use merges and will usually give a better result. Use the rebase extension if the changesets are unpublished and you want to move them instead of copying them. If --log is specified, log messages will have a comment appended of the form:: (transplanted from CHANGESETHASH) You can rewrite the changelog message with the --filter option. Its argument will be invoked with the current changelog message as $1 and the patch as $2. --source/-s specifies another repository to use for selecting changesets, just as if it temporarily had been pulled. If --branch/-b is specified, these revisions will be used as heads when deciding which changesets to transplant, just as if only these revisions had been pulled. If --all/-a is specified, all the revisions up to the heads specified with --branch will be transplanted. Example: - transplant all changes up to REV on top of your current revision:: hg transplant --branch REV --all You can optionally mark selected transplanted changesets as merge changesets. You will not be prompted to transplant any ancestors of a merged transplant, and you can merge descendants of them normally instead of transplanting them. Merge changesets may be transplanted directly by specifying the proper parent changeset by calling :hg:`transplant --parent`. If no merges or revisions are provided, :hg:`transplant` will start an interactive changeset browser. If a changeset application fails, you can fix the merge by hand and then resume where you left off by calling :hg:`transplant --continue/-c`. N)ÚwlockÚ _dotransplant)rerdr™rcs r"rYrYws,€ðT �‰�ܘR Ð5¨Ò5°Ñ5÷ �Šús‘+«4có‚ ‡‡—tjfd„}tjfd„}d„}tj|«}|||«|j d«s|j dd«|d<|j d«s|j dd«|d<t |||«}|jj«}t|«dkDr-||jk(rtjtd««‚|j d «r.|j«s™tjtd ««‚|j d «r@|j«stjtd ««‚|j!||«St#j$|«t#j&|«|j d «} | r¹t)j*d|| «} t-j.||| «} tj0| j2|j dd««} t5| «} |D]#} | j7| j3|««Œ%t;j<||| t?| «d¬«\}}}n4|}tj0|j2|j dd««} d} |j d «r|jA|||« |r|«yy|jC|||«Š|j d«rKtEjF||j d««D�chc]}||jI«’Œc}Šˆˆfd„}n‰}tj0|j2|j dd««}i}|r;tEjF||«D]!}||jI«|tK|«<Œ#n‹|j d«s|sx||k7r |||¬«}n |||| |¬«}|j d«r|}n"tM||||«\}}|jO|«|D] }|||jPjS|«<Œ"|D] }|||jPjS|«<Œ"|jU|||||«|r|«yy#tj8$rY�ŒywxYwcc}w#|r|«wwxYw)Nc3ó4K—|D]}||«sŒ |–—Œy­wr*r )rdÚcsetsrrls r"Úincwalkz_dotransplant..incwalkæsèø€ÛˆDÙ�T�{Ø“ ñùs‚‘c3óK—|s|j«}g}||}|D]3}|j|j||«j««Œ5|jj ||«dD]}||«sŒ |–—Œy­w)z’Yield all nodes that are ancestors of a head but not ancestors of dest. If no heads are specified, the heads of repo will be used.rN)rsrBÚancestorrlriÚ nodesbetween)rdÚdestrsrrkÚctxÚheadrls r"Útransplantwalkz%_dotransplant..transplantwalkësèø€ñØ—J‘J“LˆE؈ Ø�4‰jˆÛˆDØ × Ñ ˜SŸ\™\¨$¨t©*Ó5×:Ñ:Ó<Õ =ðà—N‘N×/Ñ/° ¸5ÓAÀ!ÔDˆDÙ�T�{Ø“ ñEùs ‚A.checkoptsùsë€Ø �8‰8�KÔ Ü × 0Ñ 0Ø�kÒ#@ô ð Ø �8‰8�GÔ Ü × 0Ñ 0Ø�gÒ<ô ð à �H‰H�YÔ ÙØ�x‰x˜Ô!Ø�x‰x˜ Ô"ä—+‘+Üð%óóð ð �8‰8�FÔ Ø—8‘8˜IÔ&Ü—k‘k¤!Ð$GÓ"HÓIÐIÙÜ—k‘kÜÐCÓDóððð r!r&r#r$rsno revision checked outrsno transplant to continuersno interrupted transplant foundrrr T)Ú onlyheadsÚforcercó •—‰|«xr|‰vSr*r )ÚxÚpruneÚtfs €€r"Úz_dotransplant..Psø€¡ 1£Ò 8¨!°5¨.Ð 8r!rr)r)+rrÀrÚ byteskwargsrSÚconfigr\rr€rØrŠr r�rrÐÚ StateErrorrär ÚcheckunfinishedÚ bailifchangedrÚget_unique_pull_path_objr rˆÚmaplistrŒrVÚaddÚ RepoErrorrÚgetremotechangesr~rÕrúr ÚrevrangerlÚintr Úextendrirjr¥)rerdr™rcr r'r*Útpr€Ú sourcerepor3rˆrsÚtargetrQr–rÚ cleanupfnrùr˜r—ÚalltransplantsÚ newmergesr/r0s @@r"rrås&ù€Ü#'§;¡;óô 15· ± ó òô> × Ñ  Ó %€DÙ ˆd�DÔà �8‰8�FÔ à—y‘y °Ó7ˆˆV‰ Ø �8‰8�IÔ àŸ)™) M°9Ó=ˆˆY‰ä �b˜$ Ó %€Bà �‰× Ñ Ó €BÜ ˆ4ƒy�1‚}˜˜tŸ{™{Ò*Ü�k‰kœ!Ð6Ó7Ó8Ð8Ø ‡x�x� ÔØ�|‰|Œ~Ü×"Ñ"¤1Ð%AÓ#BÓCÐ CØ �‰�'Ô Ø�|‰|Œ~Ü×"Ñ"¤1Ð%GÓ#HÓIÐ IØ�w‰w�r˜4Ó Ð ä×Ñ Ô%Ü×јdÔ#à—‘˜)Ó$€JÙÜ×/Ñ/° ¸rÀ:ÓNˆÜ�w‰w�t˜T 4Ó(ˆÜ× Ñ  §¡¨d¯h©h°yÀ"Ó.EÓFˆÜ�U“ˆÛˆAð Ø— ‘ ˜4Ÿ;™; q›>Õ*ðô $.×#>Ñ#>Ø ��d¤f¨V£n¸Dô$ Ñ ˆ�‘yðˆÜ× Ñ  §¡°·±¸ÀBÓ0GÓHˆØˆ ð'Ø �8‰8�KÔ Ø �I‰I�d˜F DÔ )Ø ñF Ù �Kð ðC× Ñ   v¨rÓ 2ˆØ �8‰8�HÔ ô$×,Ñ,¨V°T·X±X¸hÓ5GÔHóáH�Að�q‘ —‘Õ ØHñˆEô9‰GàˆGÜ×!Ñ! &§-¡-°·±¸(ÀBÓ1GÓHˆØˆÙ Ü×(Ñ(¨°Ö6�Ø!'¨¡§¡Ó!1�”s˜1“v’ñ7à �X‰X�fÔ ¡VؘŠ~Ù!(¨°¸gÔ!F‘á!/ؘB ¨Wô"�ð�x‰x˜ÔØ%‘ä",¨R°¸ÈÓ"N‘��iØ— ‘ ˜iÔ(Û�Ø23��v×'Ñ'×+Ñ+¨AÓ.Ò/ðãˆAØ./ˆF�6×#Ñ#×'Ñ'¨Ó*Ò +ðð �‰��v˜v v¨tÔ4á Ù �Kð øôa—?‘?ò Úð üò"øñ> Ù �Kð ús8È4 RÊ3$R2Ë#A R2Ì.R-ÍER2ÒR*Ò)R*Ò-R2Ò2 R>cóŽ—|j«5t||i«}|j||i«cddd«S#1swYyxYw)zAlogic to resume an interrupted transplant using 'hg continue'N)rr\rÕ)rerdr?s r"Ú continuecmdrFos5€ð �‰�Ü ˜"˜d BÓ 'ˆØ�y‰y˜˜t RÓ(÷ �Šús ‘ ;»Astransplanted([set])cóЗ|rtj|||«}n|}tj|D�cgc]'}||j «j d«sŒ&|‘Œ)c}«Scc}w)z?Transplanted changesets in set, or all transplanted changesets.r·)rÚgetsetrÚbasesetr»rS)rdÚsubsetr.ÚsrQs r"ÚrevsettransplantedrLzs^€ñ Ü �M‰M˜$ ¨Ó *‰à ˆÜ × Ñ ÙÓC‘Aˆq˜˜a™Ÿ™›×,Ñ,Ð-AÕBŠ�AÑCó ðùÚCs °'A#ÁA#s transplantedóctx)ÚrequirescóŠ—|j|d«}|j«jd«}|xr t|«xsdS)zEString. The node identifier of the transplanted changeset if any.rMr·r!)Úresourcer»rSr)ÚcontextÚmappingr%r¤s r"ÚkwtransplantedrS‰s>€ð × Ñ ˜7 FÓ +€CØ � ‰ ‹ �‰Ð,Ó-€AØ Š<”�Q“Ò ˜3Ðr!c óf—tjdddttd«td«¬«y)Nr#stransplant/journalTsMTo continue: hg transplant --continue To stop: hg transplant --stops8use 'hg transplant --continue' or 'hg transplant --stop')ÚfnameÚ clearableÚ continuefuncÚ statushintÚcmdhint)ÚstatemodÚ addunfinishedrFr)res r"Úextsetupr\’s4€Ü ×ÑØØ#ØÜ Üð 4ó ôÐMÓNö r!)7Ú__doc__r;Úmercurial.i18nrÚmercurial.pycompatrÚmercurial.noderrrÚ mercurialrr r r r r rrrrrrrrrZrrr6Úmercurial.utilsrrrr�rÚcmdtableÚcommandÚ testedwithÚ configtableÚ configitemr(r0r\rhr ÚCATEGORY_CHANGE_MANAGEMENTrYrrFÚrevsetpredicaterLÚtemplatekeywordrSr\Ú i18nfunctionsr r!r"Úrls«ðñó åÝ#÷ñ÷ ÷÷÷ó÷$ñô �e—k‘kô ð €Ø ˆ)× Ñ ˜HÓ %€ð #€ à€ Ø !ˆY× !Ñ ! +Ó .€ á ØØ Ø õñ  ØØ Ø õ÷ñ÷ ,ñ,÷^~ñ~òBò)!ñX Øð Ø Ø Ù Ð0Ó 1Ù ˆg‹Jð  ð Ø Ø Ù Ð2Ó 3Ù ˆf‹Ið  ð Ø Ø Ù ÐAÓ Bð  ð ˆx˜™QÐ/Ó0±!°F³)Ð<Ø ˆx˜™Q˜Ó/±°6³Ð;à Ø Ø Ù Ð:Ó ;Ù ˆf‹Ið  ð ˆw˜™qÐ!DÓEÐFØ ˆf�d™AÐFÓGÐHØ ˆg�u™aÐ >Ó?Ð@à Ø Ø Ù ÐHÓ Ið  ð Ø Ø Ù Ð2Ó 3Ù ˆf‹Ið  ðO.ñ^ð óð×3Ñ3ôk6ñn46óo6ðn46ònGòT)ð,�)×+Ñ+Ó-€ñÐ'Ó(ñó)ðð,�)×+Ñ+Ó-€ñ�¨F¨8Ô4ñó5ðò ð$ ^Ð4� r!