
    q&f	                     "    d dl mZ d dlmZ d Zy)    )_)errorc                 V      fd G  fdd|j                         |_         |S )zCAdd narrow spec dirstate ignore, block changes outside narrow spec.c                       fd}|S )Nc                     j                         }|D ]3  }| ||      r|| vst        j                  t        d      |z          | g|i |S )Ns2   cannot track '%s' - it is outside the narrow clone)narrowmatchr   Abortr   )selfargskwargsr   ffnrepos        =/usr/lib/python3/dist-packages/hgext/narrow/narrowdirstate.py_wrapperz1wrapdirstate.<locals>._editfunc.<locals>._wrapper   sp    **,K =QATM++2 	  d,T,V,,     )r   r   r   s   ` r   	_editfunczwrapdirstate.<locals>._editfunc   s    	- r   c                        e Zd ZW  fd       ZW  fd       ZW  fd       ZW  fd       ZW  fd       ZW  fd       ZW  fd       Z	W  fd       Z
d
 fd		Z xZS )$wrapdirstate.<locals>.narrowdirstatec                 "    t        |   |i |S N)supernormalr
   r   r   	__class__narrowdirstates      r   r   z+wrapdirstate.<locals>.narrowdirstate.normal#   s    5tFvFFr   c                 "    t        |   |i |S r   )r   set_trackedr   s      r   r   z0wrapdirstate.<locals>.narrowdirstate.set_tracked'   s    :DKFKKr   c                     t        |   | S r   )r   set_untrackedr
   r   r   r   s     r   r!   z2wrapdirstate.<locals>.narrowdirstate.set_untracked+   s    <dCCr   c                     t        |   | S r   )r   addr"   s     r   r$   z(wrapdirstate.<locals>.narrowdirstate.add/   s    2D99r   c                     t        |   | S r   )r   normallookupr"   s     r   r&   z1wrapdirstate.<locals>.narrowdirstate.normallookup3   s    ;TBBr   c                     t        |   | S r   )r   copyr"   s     r   r(   z)wrapdirstate.<locals>.narrowdirstate.copy7   s    3T::r   c                     t        |   | S r   )r   remover"   s     r   r*   z+wrapdirstate.<locals>.narrowdirstate.remove;   s    5t<<r   c                     t        |   | S r   )r   merger"   s     r   r,   z*wrapdirstate.<locals>.narrowdirstate.merge?   s    4d;;r   c                     |&|D cg c]  } j                         |      s| }}t        |   |||       y c c}w r   )r   r   rebuild)r
   parentallfileschangedfilesr   r   r   r   s        r   r.   z,wrapdirstate.<locals>.narrowdirstate.rebuildC   sJ    # (0I!3E43C3C3Ea3HAII.$/,O Js   <<r   )__name__
__module____qualname__r   r   r!   r$   r&   r(   r*   r,   r.   __classcell__)r   r   r   r   s   @r   r   r       s     
	G 
	G 
	L 
	L 
	D 
	D 
	: 
	: 
	C 
	C 
	; 
	; 
	= 
	= 
	< 
	<	P 	Pr   r   )r   )r   dirstater   r   s   ` @@r   wrapdirstater7      s2     (P (P++ (PT (HOr   N)mercurial.i18nr   	mercurialr   r7   r   r   r   <module>r:      s     >r   