
    	^c              
       H   d Z ddlmZ ddlmZmZ ddlmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZ ddlmZ i Z ej        e          ZdZ edd	d
d ed           ed          fddd ed          fgej        z    ed          ej        d          d             Zd Zd ZdS )z=command to split a changeset into smaller ones (EXPERIMENTAL)    )_)nullrevshort)	bookmarkscmdutilcommandserrorhg
logcmdutilpycompat	registrar
revsetlangrewriteutilscmutilutil   )rebases   ships-with-hg-core   split   r   rev    s   revision to splits   REV   rebaseTs   rebase descendants after splits!   hg split [--no-rebase] [[-r] REV])helpcategory	helpbasicc           
         t          j        |          }g }|                    d          r(|                    |                    d                     |                    |           |                                5  |                                5  |                    d          }t          j	        |          5  t          j        ||pdg          }t          |          dk    r!t          j        t          d                    |                                }||t"          k    rF|                     t          d                     	 ddd           ddd           ddd           dS ||         }|                                !t          j        t          d                    |                    d	          rIt)          |                    d
||                    }t)          |                    d||                    }	ng }	t-          j        ||g|	z   d           t          |                                          dk    r!t          j        t          d                    t3          j        |           |j        }
|
r7|j        |
         |                                k    rt;          j        |           |d                                         }d}	 t?          | ||||          }|||                                k    rtA          j!        ||d           |
rt;          j"        ||
           nN# |||                                k    rtA          j!        ||d           |
rt;          j"        ||
           w w xY w|	r|rtG          | ||	|           ddd           n# 1 swxY w Y   ddd           n# 1 swxY w Y   ddd           dS # 1 swxY w Y   dS )af  split a changeset into smaller ones

    Repeatedly prompt changes and commit message for new changesets until there
    is nothing left in the original changeset.

    If --rev was not given, split the working directory parent.

    By default, rebase connected non-obsoleted descendants onto the new
    changeset. Use --no-rebase to avoid the rebase.
    r   r      .r   s   cannot split multiple revisionsNs   nothing to split
s   cannot split working directoryr   s   (%d::) - (%d)s   %ld - (%ld & obsolete())::s   cannot split a merge changesetF
show_stats)$r   byteskwargsgetappendextendwlocklocktransactionr   acceptinterventionr   revrangelenr	   
InputErrorr   firstr   statusnodelistrevsr   precheckparentsr   bailifchanged_activebookmark
_bookmarksr   
deactivatedosplitr
   cleanactivatedorebase)uirepor.   optsrevlisttrrevctxdescendantstorebasebnamewnodetops                -/usr/lib/python3/dist-packages/hgext/split.pysplitrF   .   s   , %%DGxx )txx''(((NN4	 72 72tyy{{ 72 72h'' $R(( 3	2 3	2&tW->??D4yy1}}&q)K'L'LMMM**,,C {cWnn		!1223333	2 3	2 3	2 3	2 3	2 3	2	72 72 72 72 72 72 72 72 72 72 72 72 72 72 s)Cxxzz!&q)J'K'KLLLxx	"" 
 #499-=sC#H#HIIII5{K    ux'7BBB3;;==!!A%%&q)J'K'KLLL!$''' (E +/388::==$T***JOO%%EC4b$C66 ;%388::"5"5HT5U;;;; 4&tU333 ;%388::"5"5HT5U;;;; 4&tU33334 2C 2T8S111g3	2 3	2 3	2 3	2 3	2 3	2 3	2 3	2 3	2 3	2 3	2 3	2 3	2 3	2 3	2	72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72 72s   =O*O<BN*OO0E-N*L:1A	N*:AN	N*O*N..O1N.2O5OO	OO		OO Oc                    g }|                                 |j                                        k    r)t          j        ||                                 d           |j                                        5  t          j        ||                                           d d d            n# 1 swxY w Y   d } ||          r|rt          d          t          |                                           z  }| 
                    ddid          5  |D ]-}t          j        | |d          }	|t          d          |	z  z  }.	 d d d            n# 1 swxY w Y   |t          d	          z  }n1t          d
          t          |                                           z  }|                    dd||                                z   d           |d         }
t          j        | |fi t#          j        |           |d         }|
                                 |                                 k    r|                    |            ||          |s!t)          j        t          d                    t-          |          dk    s0|d                                          |                                 k    r6t          j        ||                                 d |D             idd           |d         S )NFr   c                 x    |                                  }t          |j        |j        |j        |j        f          S )N)r+   anymodifiedaddedremoveddeleted)r:   sts     rE   
incompletezdosplit.<locals>.incomplete   s.    [[]]BK2:rzBCCCr   s1   HG: Splitting %s. So far it has been split into:
)s   templatealiass
   label(l,x)   xr   s	   HG: - %s
s7   HG: Write commit message for the next split changeset.
sF   HG: Splitting %s. Write commit message for the first split changeset.
T)s   edits   interactives   messager   s   cannot split an empty revisionr   r   c                 6    g | ]}|                                 S  )r,   ).0cs     rE   
<listcomp>zdosplit.<locals>.<listcomp>   s     666q!&&((666r   )	operationfixphase)r,   dirstatep1r
   r6   parentchanger   movedirstater   r   configoverrider   format_changeset_summaryupdatedescriptionr   commitr   	strkwargsr!   r	   r)   r(   cleanupnodes)r9   r:   r=   r?   r;   	committedrO   headerrT   summaryorigctxnewctxs               rE   r5   r5      s   I xxzzT]%%''''
sxxzze4444		#	#	%	% - -T36688,,,- - - - - - - - - - - - - - -D D D
 *T

 "% 	"E chhjj!!"F
 ""2D98  9 9 # 9 9A%>r1hOOGa..88FF99 9 9 9 9 9 9 9 9 9 9 9 9 9 9 aK  FF ,  chhjj!!"F 	 $"S__%6%66 	
 	
 	
 t*D==H$6t$<$<===d <<>>V[[]]**V$$$E *T

 "%H  Eq!BCCDDD
9~~il//11SXXZZ?? 	XXZZ66I6667		
 	
 	
 	
 R=s$   4(B((B,/B,1EEEc           
          t          j         | |t          j        d|          gt          j        d|                                                     d S )Ns   %lds   %d)r>   dest)r   r   
formatspecr>   )r9   r:   srcdestctxs       rE   r8   r8      sV    
M
"63//0"5'++--88	     r   N)__doc__mercurial.i18nr   mercurial.noder   r   	mercurialr   r   r   r	   r
   r   r   r   r   r   r   r    r   cmdtablecommand
testedwithcommitopts2CATEGORY_CHANGE_MANAGEMENTrF   r5   r8   rR   r   rE   <module>rx      s   D C             
                                  
)
H
%
% #
 		vsAA233QQvYY?	iqq!BCCD 	
 A*++3
 
 
G2 G2
 
G2T@ @ @F    r   