File: //kunden/lib/python3/dist-packages/breezy/__pycache__/shelf.cpython-39.pyc
a
�*�^�I � @ s� d dl mZ d dlZd dlZddlmZ ddlmZ ee� d� G dd� dej�Z G d d
� d
ej�Z
G dd� dej�ZG d
d� de�Z
G dd� de�ZG dd� de�ZdS )� )�absolute_importN� )�errors)�lazy_importzt
from breezy import (
bencode,
merge,
merge3,
transform,
)
from breezy.bzr import (
pack,
)
c @ s e Zd ZdZdS )�ShelfCorruptzShelf corrupt.N)�__name__�
__module__�__qualname__�_fmt� r r �./usr/lib/python3/dist-packages/breezy/shelf.pyr % s r c @ s e Zd ZdZdd� ZdS )�
NoSuchShelfIdz.No changes are shelved with id "%(shelf_id)d".c C s t jj| |d� d S )N)�shelf_id�r �BzrError�__init__��selfr r r r r . s zNoSuchShelfId.__init__N�r r r r
r r r r r r
* s r
c @ s e Zd ZdZdd� ZdS )�InvalidShelfIdz?"%(invalid_id)s" is not a valid shelf id, try a number instead.c C s t jj| |d� d S )N)�
invalid_idr )r r r r r r 6 s zInvalidShelfId.__init__Nr r r r r r 2 s r c @ s� e Zd ZdZd'dd�Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
edd� �Zdd� Z
dd� Zdd� Zd(dd�Zdd� Zdd� Zdd � Zed)d!d"��Zd*d#d$�Zed+d%d&��ZdS ),�ShelfCreatorz5Create a transform to shelve objects and its inverse.Nc C s� || _ |�� | _zZ|| _t�| j�| _z(i | _i | _i | _ |j
| j|d�| _
W n | j�� � Y n0 W n | j�� � Y n0 dS )a� Constructor.
:param work_tree: The working tree to apply changes to. This is not
required to be locked - a tree_write lock will be taken out.
:param target_tree: The tree to make the working tree more similar to.
This is not required to be locked - a read_lock will be taken out.
:param file_list: The files to make more similar to the target.
)Zspecific_filesN)� work_treeZ
get_transform�work_transform�target_tree� transform�TransformPreview�shelf_transform�renames�creation�deletion�iter_changes�finalize)r r r Z file_listr r r r = s$
�
zShelfCreator.__init__c c s | j D �]�}|jd du r*|jd dkr*q|jd du rH|jd dkrHq|jd du sd|jd du r�|jd |jd |jd |jf| j|j<