File: //usr/lib/python3/dist-packages/mercurial/__pycache__/bundlerepo.cpython-310.pyc
o
�]Lb,] � @ sb d Z ddlmZ ddlZddlZddlmZ ddlmZm Z ddl
mZmZm
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ ddlm Z dd lm!Z" G d
d� dej�Z#G dd
� d
e#e
j
�Z$G dd� de#ej%�Z&G dd� dej�Z'G dd� dej(�Z)G dd� dej*�Z+dd� Z,G dd� de-�Z.d#dd�Z/dd� Z0G dd� de-�Z1 d$d!d"�Z2dS )%z�Repository class for viewing uncompressed bundles.
This provides a read-only repository interface to bundles as if they
were part of the actual repository.
� )�absolute_importN� )�_)�hex�nullrev)�bundle2�changegroup� changelog�cmdutil� discovery�encoding�error�exchange�filelog� localrepo�manifest�mdiff�pathutil�phases�pycompat�revlog�revlogutils�util�vfs)�urlutil)� constantsc sX e Zd Zdd� Zddd�Zdd� Zd� fdd � Zd
d� Zdd
� Zdd� Z dd� Z
� ZS )�bundlerevlogc C sL t �|�}tjj| |||d� || _t| �}|d | _t� | _|� � D ]�}|\}} }
}}}
}}t|
�}|�
� | }| j�|�rJ| j�
| j�|�� q#||krQt}n||�}| |
fD ]}| j�|�skt�|| jtd���qY| j�|�s{t|| jtd���| �|�}tj|||||| �| �| �|
�|d�}| j�|� | j�
|� |d7 }q#d S )N)�target�radixr s unknown parents unknown delta base)�flags�data_offset�data_compressed_length�data_delta_base�link_rev�parent_rev_1�parent_rev_2�node_id)�vfsmod�readonlyvfsr �__init__�bundle�len�
repotiprev�set�
bundlerevs� deltaiter�tell�index�has_node�add�revr r
�LookupError�
display_idr r �entry�append)�self�openerr r �
cgunpacker�
linkmapper�n� deltadata�node�p1�p2�cs� deltabase�deltar �sidedata�size�start�linkrev�p�baserev�e� rL �6/usr/lib/python3/dist-packages/mercurial/bundlerepo.pyr) 8 sR
���
�
�zbundlerevlog.__init__Nc C s<