File: //usr/lib/python3/dist-packages/hgext/hooklib/__pycache__/reject_new_heads.cpython-310.pyc
o
�]Lb� � @ s: d Z ddlmZ ddlmZ ddlmZmZ ddd�ZdS ) 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
� )�absolute_import)�_)�error�pycompatNc K s� |dkrt �td�t�|� ��|�� | }t� }|jj|� � d�D ]
}|| }|�
|�� � q"|D ]}t|�d|��dkrJt �td�t�|� ��q2d S )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 � r �@/usr/lib/python3/dist-packages/hgext/hooklib/reject_new_heads.py�hook s$ �����r )N) �__doc__�
__future__r �mercurial.i18nr � mercurialr r r r r r r �<module> s