
    6hD5                        S SK Jr  S SKrS SKJrJr  SSKJr  SSKJrJ	r	J
r
JrJrJr  \R                   (       a  \r\rSS jr  SS jrS	 rS
 r SS jr   SS jrS rg)    )annotationsN)AnyTuple   )_)cmdutilcontexterror
logcmdutilmergestatec                J   [        X/UQ70 UD6nUu  pVnUS:X  a  gUS:X  a  Ub   e[        R                  " XU5      $ US:X  a  Ub   e[        XU5      $ US:X  a  [	        XU/UQ76 $ US:X  a  [        XU/UQ76 $ SUR                  S5      -  n[        R                  " U5      e)	z?implement the graft command as defined in mercurial/commands.pyERRORABORTSTOPGRAFTGRAFT-TOs   unknown action: %sascii)	_process_argsr   
abortgraft
_stopgraft_graft_revisions_graft_revisions_in_memoryencoder
   ProgrammingError)	uireporevsoptsretaction
graftstateargsmsgs	            ;/usr/lib/python3/dist-packages/mercurial/cmd_impls/graft.py	cmd_graftr'      s    

04
04
0C"F	7	||!!"J77	6	||"J//	7	*<t<<	:	)"JFFF#fmmG&<<$$S))    c                   U(       a0  UR                  S5      (       a  U R                  [        S5      5        [        U5      nUR	                  UR                  S5      5        0 n/ US'   / SQnUSS/-   nSU4SS/4S	U4S
U4/n[
        R                  " US
S	S5        U H  u  p[
        R                  " X8U	5        M     [
        R                  " X5        Sn
[        R                  " US5      nUR                  S5      (       a.  [        R                  " XS   S5      nUR                  5       US'   OUS   R                  5       nUR                  S	5      (       a  SUS4$ UR                  S
5      (       a  SUS4$ UR                  S5      (       a  Sn
U(       a  [        R                   " [        S5      5      eUR#                  5       (       a  [
        R$                  " X5      nUR                  S5      (       a  UR                  S5      US'   UR                  S5      (       a  UR                  S5      US'   US   nU Vs/ s H  oU   R'                  5       PM     nnO[
        R(                  " U[        S5      5        O~U(       d  [        R                   " [        S5      5      e[
        R*                  " U5        UR                  S5      (       d  [
        R,                  " U5        [        R.                  " X5      nS H7  nUR                  UR1                  S5      5      nU(       d  M,  X;  d  M3  UXO'   M9     [3        5       nSnUR                  S5      (       a-  [        R                  " XS   S5      nUR                  5       US'   UcG  UR5                  SU5       H1  nU R                  [        S5      U-  5        UR7                  U5        M3     U Vs/ s H  nUU;  d  M  UPM     nnU(       d  gUb.  [9        U5      S:w  a  [        R                   " [        S5      5      eU
(       Gd  UR                  S5      (       Gd  UGc  UR5                  S X,R'                  5       5      nU H%  nU R                  [        S!5      UUU   4-  5        M'     U Vs/ s H  nUU;  d  M  UPM     nnU(       d  g0 nUR3                  S"U5       H_  nUR'                  5       UUR                  5       '   UR;                  5       R                  S#5      nU(       d  ML  UR'                  5       UU'   Ma     U R=                  S$5        UR5                  S%UR'                  5       U5       GHk  nUU   nUR;                  5       R                  S#5      nUU;   a   UU   R'                  5       nUU;   a7  U R                  [        S&5      UUU   UU4-  5        URA                  U5        M  UU   U;   ax  Uc/  U R                  [        S'5      UU   UUU      UUUSS( 4-  5        O/U R                  [        S)5      UU   UUU      UUUUSS( 4-  5        URA                  UU   5        GM   GM  UR                  5       U;   d  GM  UUR                  5          nUU;   d  GM6  U R                  [        S*5      UUU   UU4-  5        URA                  U5        GMn     U(       d  g[
        RB                  " S1S+S0UD6n[E        UR                  S,5      5      nUR                  S-S.5      nUR                  S5      (       a	  S/XUUUU44$ S0XUUU
UU44$ s  snf s  snf s  snf ! [        R>                   a    Sn GNf = f)2zprocess the graft command argument to figure out what to do

This also filter the selected revision to skip the one that cannot be graft
or were already grafted.
revsL   warning: inconsistent use of --rev might give unexpected revision ordering!
   newnodes)editloguserdatecurrentdatecurrentusertobase	no_commitcontinuer2   stopabortFs
   graftstateN   tor   r   Ts&   can't specify --continue and revisions	   no_commit   base   nodes   grafts   no revisions specified)   date   user   logr9   s   dry_runr   s   %ld and merge()s'   skipping ungraftable merge revision %d
)r   NN   s%   only one revision allowed with --baseforces   %ld & (::%d)s!   skipping ancestor revision %d:%s
   %ld   sources   scanning for duplicate grafts
s   only(%d,ancestor(%ld))s3   skipping revision %d:%s (already grafted to %d:%s)
sK   skipping already grafted revision %d:%s (%d:%s also has unknown origin %s)
   sF   skipping already grafted revision %d:%s (%d:%s also has origin %d:%s)
sA   skipping already grafted revision %d:%s (was grafted from %d:%s)
editformdry_runtoolr(   r   r    )#getwarnr   listextendr   check_at_most_one_argcheck_incompatible_argumentsresolve_commit_optionsstatemodcmdstater   	revsinglehexp1r
   
InputErrorexistsreadgraftstater*   wrongtooltocontinuecheckunfinishedbailifchangedrevrangedecodesetr   addlenextradebugRepoLookupErrorremovegetcommiteditorbool)r   r   r   r    	statedatacommit_argsnofollow_argsarg_compatibilitiesargincompatiblecontr#   toctxnodesnodeovskippedbasectxr*   r	ancestorsidsctxneditorrF   rG   s                               r&   r   r   2   s    
(	
 :DKK IIkK  65/1M 
k"	dV		- 	 !!$D0,,TE 1 ""2,D""47Jxx~~$$T:t< 99;	%T
xxz4''	'		
D((	*		""1%N#OPP..t@I}}\**$-MM,$?[!}}W%%(}}W5Vh'E167JNN$D7D''ak:q!:;<<%xx~~!!$'""4. HHQXXg&' 1#IL eGGxx&&t&\4@$[[]	'99/6CGGAABSHIKK 7 0t!q/AtD0"s4yA~q!IJKK DHHW%%7?IIotYY[A	CGGA;<T#Y?OOP   64a1I#546& 88FD)C WWYC	N			*AqA	 * 	34 996		TJCs)C			*ACxQA 9GG< d1gsC0	1 KKNVt^y!H  #1vtCF|S#q"vF	G !C  #1vtCF|S#q!CR&I	J KKA'# $$ c!	N9GG: d1gsC0	1 KKN[ K\ &$$?h?$?F488I&'G88FC Dxx~~:4$'OOOJD&$ NNNy 8D 1$ 70 ,, As0   ]
]']
](]]]/.]/c                F   SUR                  5       UUR                  5       R                  SS5      S   4-  nUR                  UR	                  5       5      UR                  UR	                  5       5      -   nU(       a  USSR                  U5      -  -  n[        S5      U-  $ )Ns
   %d:%s "%s"   
r@   r   s    (%s)    s   grafting %s
)r*   descriptionsplitnodetagsro   nodebookmarksjoinr   )r   r   rw   rev_sumnamess        r&   _build_progressr      s    	q)!, G
 MM#((*%(:(:388:(FFE8dii...((r(   c                   UR                  5       R                  S5      n0 nU(       a  XES'   UR                  5       US'   OUR                  5       US'   UR                  SUR                  5       5      nUR                  SUR	                  5       5      nUR                  5       nUR                  S5      (       a  USUR                  5       -  -  nXgX4$ )NrC   s   intermediate-sourcer>   r=   r?   s   
(grafted from %s))r`   rI   rS   r.   r/   r}   )	r   r   rw   rf   sourcer`   r.   r/   messages	            r&   _build_metar     s    YY[__Y'FE!i(+	$%779i==#((*-D==#((*-DooG}}V)CGGI55''r(   c                D   UR                  5          UR                  S5         XS      nU H  n	X   n
U R                  [        XU
5      5        U(       a  M+  [        R
                  " U5      nUR                  U5        SU;   a  XS      nOU
R                  5       n[        XX5      u  pnn SU0nU R                  US5         [        R                  " UU
UUS9  SSS5        UR#                  UUUUUS	9nUR%                  U5      nUU   nM      SSS5        SSS5        g
! , (       d  f       NM= f! [        R                   a,  n[        R                  " S[        [!        U5      5      S9eSnAff = f! , (       d  f       O= fSSS5        g! , (       d  f       g= f)z:graft revisions in memory

Abort on unresolved conflicts.
r<   r8   r:   s   uis
   forcemerge)wctxNs'   cannot graft in memory: merge conflicts)hint)r.   r/   r`   ry   r   )locktransactionstatusr   r	   overlayworkingctxsetbaserT   r   configoverridemergemodgraftr
   InMemoryMergeConflictsErrorAbortr   bytestomemctx	commitctx)r   r   r#   rf   r   ry   rF   rG   targetrt   rw   r   r3   r.   r/   r   r`   	overridesemctxro   s                        r&   r   r     s{    
d&&x0&'A'CIIob45 ,,T2DLL )#g./vvx+6r+P(T%3T:	&&y(;NN!	 < == ! D >>$'D$ZFO P U 1* <; 44 kk>58 9 10sk   FB
E7.D4D#	D4$.E7F#
D1-D40E71D44E4	'E/	/E4	4E77
F	F
Fc	           	        [        UR                  SU5      5       GH  u  pU R                  [        XU
5      5        U(       a  M*  [	        XX5      u  ppU(       d  SU0nSU;   a  XS      nOU
R                  5       nU R                  US5         [        R                  " XU/ SQ5      nSSS5        WR                  S:  at  XIS  Vs/ s H  nUU   R                  5       PM     nnUUS'   S	nUR                  UU5        U R                  [        S
5      5        U R                  [        S5      5          g	OSnUR                  S5      (       a  GM7  UR                  XXUS9nUc0  U R!                  [        S5      U
R#                  5       U
4-  5        GM{  UR                  S5      c  GM  US   n[%        U[&        5      (       d   eUR)                  U5        GM     U(       d  UR+                  5         g! , (       d  f       GNR= fs  snf )zactually graft some revisionsrB   r   r:   r<   )s   localr<   s   parent of graftNr   r;   r@   s,   abort: unresolved conflicts, can't continue
s-   (use 'hg resolve' and 'hg graft --continue')
Fr9   )textr.   r/   r`   ry   s2   note: graft of %d:%s created no changes to commit
r+   )	enumerater]   r   r   r   rT   r   r   r   unresolvedcountrS   saver
   r   rI   commitrJ   r*   
isinstancerK   appenddelete)r   r   r#   rf   r   ry   rl   rF   rG   posrw   r.   r/   r   r`   r   r3   statsr*   rn   stateversionro   nns                          r&   r   r   Q  s    dhhvt45
		/"C01'22S'L$W /6I)#g./vvx""9h7 t%M 8
 $$q(48J?JScJ?&+	(# i8KLMLMN ) D }}\**;;d  D |LMwwy#&'
 {+7{+!"d++++		$] 6b K 87 @s   G6	H6
H	c                R   UR                  5       (       d  [        R                  " [        S5      5      eUS   n[        R
                  " U5        UR                  5         U R                  [        S5      5        U R                  [        S5      UR                  5       SS -  5        g)zstop the interrupted grafts   no interrupted graft found   .s   stopped the interrupted graft
s   working directory is now at %s
NrD   r   )	rV   r
   
StateErrorr   r   clean_updater   r   rS   )r   r   r#   pctxs       r&   r   r     s    q!>?@@:D$IIa234IIa34txxz#2FGr(   )returnint)r   z;Tuple[_ActionT, statemod.cmdstate | None, _CmdArgsT | None])r(   )FFr(   )
__future__r   typingr   r   i18nr    r   r	   r
   r   r   r   r   rP   TYPE_CHECKINGstr_ActionT	_CmdArgsTr'   r   r   r   r   r   r   rH   r(   r&   <module>r      sy    # 
   
HI**EO@EOP	)(0 
8D 
	@F	r(   