
    q&fQ	                     t    d Z ddlZddlmZ ddlmZmZmZmZ i Z	 ej                  e	      Z
dZh dZd Zd Zy)	z+adds a new flag extras to commit (ADVANCED)    N)_)commandserror
extensions	registrars   ships-with-hg-core>
      close   topic   branch   source   amend_source   rebase_source   __touch-noise__   histedit_source   transplant_source   intermediate-sourcec           	          t        j                  t        j                  dt              }|d   }|j                  ddg t        d      t        d      f       y )Ns   commit       s   extras   set a changeset's extra valuess	   KEY=VALUE)r   wrapcommandr   table_commitappendr   )uientryoptionss      4/usr/lib/python3/dist-packages/hgext/commitextras.pyextsetupr   '   sM    ""8>>9gFEAhGNN01lO	
r   c                     t        |d      r|j                         } G fdd|j                        |_         | ||g|i S )N
unfilteredc                   $     e Zd Z fdZ xZS )_commit.<locals>.repoextrac                    	j                  d      }|D ]  }d|vr#t        d      }t        j                  ||z        |j	                  dd      \  }}|s#t        d      }t        j                  ||z        t        j                  d|      r t        d      }t        j                  |      |t        v r#t        d      }t        j                  ||z        ||d   |<    t        
| &  |i |S )	Nextra   =s4   unable to parse '%s', should follow KEY=VALUE formatr   s)   unable to parse '%s', keys can't be emptys   [^\w-]s8   keys can only contain ascii letters, digits, '_' and '-'s2   key '%s' is used internally, can't be set manually)
getr   r   
InputErrorsplitresearchusedinternallysupercommit)self	innerpats	inneroptsextrasrawmsgkv	__class__opts	repoextras           r   r,   z!_commit.<locals>.repoextra.commit:   s
   XXg&F *s?,C  **3955yyq)1HIC**395599Z+(C  **3//&$C  **3733()	'"1%/*0 D0)IyIIr   )__name__
__module____qualname__r,   __classcell__)r5   r6   r7   s   @r   r7   r!   9   s    	J 	Jr   r7   )hasattrr   r5   )origr   repopatsr6   r7   s       `@r   r   r   5   sK    t\" JDNN J: DND(4(4((r   )__doc__r(   mercurial.i18nr   	mercurialr   r   r   r   cmdtablecommand
testedwithr*   r   r    r   r   <module>rG      sK    2 
   
)

H
%"
")r   