File: //usr/lib/python3/dist-packages/hgext/convert/__pycache__/monotone.cpython-310.pyc
o
^�UbO6 � @ sv d dl mZ d dlZd dlZd dlmZ d dlmZ d dlm Z m
Z
d dlmZ ddl
mZ G d d
� d
ejej�ZdS )� )�absolute_importN)�_)�open)�error�pycompat)�dateutil� )�commonc @ s� e Zd Zd&dd�Zdd� Zdd� Zdd � Zd
d� Zdd
� Zdd� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� ZdS )'�monotone_sourceNc C s t j�| ||||� |rt|�dkrt�td���t j�| |d� || _|| _ d| _
|| _t �td�| �}t
j �t
j �|d��sczt|d�}|�d�}|�� W n ty\ d }Y nw |d
krc|�d}d} | }
d
}d}t�|d | �| _t�|d | d | �| _t�|d | d | �| _t�|d | d | d | �| _t�|d | d | �| _t�|d | �| _t�|d | d | �| _t�|| d | d |
�| _|d | | d | }
t�|
d | d �| _d | _d | _ d | _!d | _"t j#dddd � d S )!Nr s9 monotone source does not support specifying multiple revss mtnFs+ %s does not look like a monotone repositorys _MTNs rb� � s SQLite format 3 s \s*s \s+"((?:\\"|[^"])*)"\s*s \s+\[(\w+)\]\s*s (?:.|\n)+s dirs files contents add_files patchs froms tos renames deletes tags revisions names values attrs
"mtn:execute"s "true"s monotone)�abort�debname)$r �converter_source�__init__�lenr �Abortr �commandline�ui�path�
automatestdio�revs�NoRepo�os�exists�joinr �read�close�IOError�re�compile�dir_re�file_re�add_file_re�patch_re� rename_re� delete_re�tag_re�cert_re�attr_execute_re�manifest_rev�manifest�files�dirs� checktool)�selfr �repotyper r �norepo�f�header�space�name�value�revision�lines�attr� r: �8/usr/lib/python3/dist-packages/hgext/convert/monotone.pyr sn ��
�
������zmonotone_source.__init__c O s&