File: //usr/lib/python3/dist-packages/mercurial/__pycache__/repoview.cpython-310.pyc
o
�]Lb�C � @ s2 d dl mZ d dlZd dlZddlmZ ddlmZmZ ddl m
Z
mZmZ ddl
mZmZmZm Z mZmZ ddlmZ d d
� Zdd� Zd
d� Zd(dd�Zd(dd�Zd(dd�Zd(dd�Zd(dd�Zeeeeeed�ZddhZe e�Z!dd� Z"d(dd�Z#d d!� Z$G d"d#� d#e%�Z&G d$d%� d%e%�Z'e�(� Z)d&d'� Z*dS ))� )�absolute_importN� )�_)�hex�nullrev)�delattr�getattr�setattr)�error�obsolete�phases�pycompat�tags�util)�repoviewutilc C s, t �| d�}| j�| tj�}t|�}||B S )ak Revision candidates to be hidden
This is a standalone function to allow extensions to wrap it.
Because we use the set of immutable changesets as a fallback subset in
branchmap (see mercurial.utils.repoviewutils.subsettable), you cannot set
"public" changesets as "hideable". Doing so would break multiple code
assertions and lead to crashes.s obsolete)r �getrevs�_phasecache� getrevsetr �localhiddenphases� frozenset)�repo� obsoletes� internals� r �4/usr/lib/python3/dist-packages/mercurial/repoview.py�hideablerevs# s r c s� | j � t� }|�dd� | d �� D �� |�� fdd�| j�� D �� i }t�| j| |i � |rG� j j
�|��fdd�|�� D �� |�d� ddlm
} |j
�| �}|�� rs|�� rs|j|jfD ]}� j �
|���durr|��� qa|S ) z8revisions blocking hidden changesets from being filteredc S s g | ]}|� � �qS r ��rev)�.0�parr r r �
<listcomp>7 s zpinnedrevs.<locals>.<listcomp>Nc s g | ]}� � |��qS r r )r �bm��clr r r 8 s c 3 s � | ] }� |d �V qdS �r Nr )r �tr r r � <genexpr>>