
    q&f                     ,    d Z ddlmZ ddlmZmZ ddZy)aB  reject_new_heads is a hook to check that branches touched by new changesets
have at most one open head. It can be used to enforce policies for
merge-before-push or rebase-before-push. It does not handle pre-existing
hydras.

Usage:
  [hooks]
  pretxnclose.reject_new_heads =     python:hgext.hooklib.reject_new_heads.hook
    )_)errorpycompatNc                    |dk7  r4t        j                  t        d      t        j                  |      z        |j                         |   }t               }|j                  j                  |j                               D ]&  }||   }|j                  |j                                ( |D ]T  }t        |j                  d|            dkD  s"t        j                  t        d      t        j                  |      z         y )Ns   pretxncloses   Unsupported hook type %r)startz&head() and not closed() and branch(%s)   s/   Changes on branch %r resulted in multiple heads)r   Abortr   r   bytestr
unfilteredset	changelogrevsrevaddbranchlen)	uirepohooktypenodekwargsctxbranchesr   r   s	            @/usr/lib/python3/dist-packages/hgext/hooklib/reject_new_heads.pyhookr      s    >!kk)*X-=-=h-GG
 	
 //
D
!CuH~~"""3 #3iSZZ\"#  tyyA6JKaO++DE""6*+     )N)__doc__mercurial.i18nr   	mercurialr   r   r    r   r   <module>r!      s   	 r   