
    \Zio                    v    S r SSKJr  SSKrSSKJr  SSKJr  SSKJ	r	  \(       a
  SSK
JrJrJr  S
S jrSS	 jrg)zCLI implementation for `conda rename`.

Renames an existing environment by cloning it and then removing the original environment.
    )annotationsN)partial)TYPE_CHECKING)CondaEnvException)ArgumentParser	Namespace_SubParsersActionc                    SSK Jn  SSKJnJn  SnU" SU S35      nU" S5      nU R
                  "  SUUUS	.UD6nU" U5        UR                  S
SS9  U" U5        UR                  SS9  U$ )N   )dals   )add_output_and_prompt_optionsadd_parser_prefixzRename an existing environment.z	
        z

        This command renames a conda environment via its name (-n/--name) or
        its prefix (-p/--prefix).

        The base environment and the currently-active environment cannot be renamed.
        z
        Examples::

            conda rename -n test123 test321

            conda rename --name test123 test321

            conda rename -p path/to/test123 test321

            conda rename --prefix path/to/test123 test321

        )helpdescriptionepilogdestinationz#New name for the conda environment.)r   zconda.cli.main_rename.execute)func)rename)
auxlib.ishr   helpersr   r   
add_parseradd_argumentset_defaults)	sub_parserskwargsr   r   r   summaryr   r   ps	            5lib/python3.13/site-packages/conda/cli/main_rename.pyconfigure_parserr       s    !I/G			 			K 	F 				
 	A aNN='LNM!!$NN7N8H    c                  ^ ^^^	^
^^ SSK Jm  SSKJm  SSKJm
  SSKJn  SSKJ	m  SSK
Jn  UR                  5       nUR                  5         UR                  5       (       a  [        S5      eTR                   (       a5  UR"                  R%                  TR                   5      (       a  [        S	5      eXB" TR&                  5      :X  a  [        S
5      e[)        UR"                  5      m[*        R,                  T R.                  ;   a"  U" T R.                  5      nUR1                  SS9  OUR3                  T R.                  5      n[)        UR"                  5      m	T R4                  (       d.  UR7                  5       (       a  [        SUR"                   S35      eSUU UU	U
UU4S jjnT R4                  (       a"  U" T	T R8                  S9   U" 5         SSS5        gU" 5         g! , (       d  f       g= f)z:Executes the command for renaming an existing environment.r   )DRY_RUN_PREFIX)context)install)
PrefixData)rm_rf)rename_contextz(The 'base' environment cannot be renamedz$Cannot rename the active environmentzMCannot rename an environment if it is configured as `default_activation_env`.T)expand_pathzThe environment 'z&' already exists. Override with --yes.c            
     :  > [        TR                  TTTR                  TR                  S9[        TT5      4n U  H]  nTR                  (       aB  [        T SUR                  R                   SSR                  UR                  5       35        MV  U" 5         M_     g )N)quietjson ,)
r   cloner+   r,   dry_runprintr   __name__joinargs)	actionsr   r#   r4   r$   r   r%   r'   sources	     r   clone_and_remove!execute.<locals>.clone_and_removek   s    mm\\ E6"	(
 D||($))*<*<)=Qsxx		?R>STU	 r!   )r0   Nr   )returnNone)base.constantsr#   base.contextr$   clir%   core.prefix_datar&   gateways.disk.deleter'   gateways.disk.updater(   from_contextassert_environmentis_baser   active_prefixprefix_pathsamefiledefault_activation_prefixstrossepr   validate_path	from_nameyesexistsr0   )r4   parserr&   r(   source_prefix_datadest_prefix_datar7   r#   r$   r   r%   r'   r6   s   `      @@@@@@r   executerR   E   s   /&-,5 $002))+!!## JKK!3!?!?!H!H" "   FGGZ(I(IJJ[
 	
 #//0F 
vv!!!%d&6&67&&4&8%//0@0@A&223K88(//11 0 < <==cd
 	
 & xxK> ?  		 ?> s   G
G-)r   r	   r9   r   )r4   r   rO   r   r9   int)__doc__
__future__r   rI   	functoolsr   typingr   conda.exceptionsr   argparser   r   r	   r    rR    r!   r   <module>r[      s/   
 # 	    .EE.b>r!   