File: //usr/lib/python3/dist-packages/mercurial/pure/__pycache__/parsers.cpython-310.pyc
o
�]Lb�} � @ s� d dl mZ d dlZd dlZd dlZddlmZmZ ddlm Z ddl
mZmZm
Z
mZ ddl
mZ ddl
mZ ejZejZejZejZejZd Zd
Zd
ZdZ dZ!dZ"d
Z#dZ$dZ%dZ&dZ'dZ(dZ)dZ*dZ+dZ,dZ-dZ.dZ/e j0ddd�G dd� de1��Z2dd � Z3G d!d"� d"e1�Z4G d#d$� d$e4�Z5G d%d&� d&e5�Z6G d'd(� d(e4�Z7ej8fd)d*�Z9d+d,� Z:G d-d.� d.e5�Z;G d/d0� d0e;�Z<d1d2� Z=d3d4� Z>d5d6� Z?dS )7� )�absolute_importN� )�nullrev�sha1nodeconstants)�attr)�error�pycompat�revlogutils�util)�nodemap)� constants������� � � � � �@ � � i i i i i i @ i � TF)�slots�initc @ s� e Zd ZdZe�� Ze�� Ze�� Ze�� Z e�� Z
e�� Ze�� Ze�� Z
e�� Ze�� Z dCdd�Zedd� �Zed d
� �Zdd� Zd
d� Zdd� Zdd� Zdd� Zedd� �Zedd� �Zedd� �Zdd� Zedd� �Zedd � �Zed!d"� �Z e j!d#d$� �Z"ed%d&� �Z#ed'd(� �Z$e$j!d)d*� �Z%ed+d,� �Z&ed-d.� �Z'ed/d0� �Z(ed1d2� �Z)ed3d4� �Z*ed5d6� �Z+ed7d8� �Z,d9d:� Z-d;d<� Z.d=d>� Z/d?d@� Z0dAdB� Z1dS )D�DirstateItema� represent a dirstate entry
It hold multiple attributes
# about file tracking
- wc_tracked: is the file tracked by the working copy
- p1_tracked: is the file tracked in working copy first parent
- p2_info: the file has been involved in some merge operation. Either
because it was actually merged, or because the p2 version was
ahead, or because some rename moved it there. In either case
`hg status` will want it displayed as modified.
# about the file state expected from p1 manifest:
- mode: the file mode in p1
- size: the file size in p1
These value can be set to None, which mean we don't have a meaningful value
to compare with. Either because we don't really care about them as there
`status` is known without having to look at the disk or because we don't
know these right now and a full comparison will be needed to find out if
the file is clean.
# about the file state on disk last time we saw it:
- mtime: the last known clean mtime for the file.
This value can be set to None if no cachable state exist. Either because we
do not care (see previous section) or because we could not cache something
yet.
FTNc C s� || _ || _|| _|| _|| _d | _d | _d | _d | _d| _ |d u r'd}d}n|d d u r/d}|r;|d | _|d | _|rI|d \| _| _| _ d S d S )NFr r r )
�_wc_tracked�_p1_tracked�_p2_info�_fallback_exec�_fallback_symlink�_mode�_size�_mtime_s� _mtime_ns�_mtime_second_ambiguous) �self�
wc_tracked�
p1_tracked�p2_info�has_meaningful_data�has_meaningful_mtime�parentfiledata�
fallback_exec�fallback_symlink� r- �8/usr/lib/python3/dist-packages/mercurial/pure/parsers.py�__init__m s2
��zDirstateItem.__init__c C s� t |t@ �}t |t@ �}d}|t
@ rd}d}d}|t@ r!|t@ }d} |t@ r+|t@ } |rLtj dks4J �|t
@ r;d}nd}|t@ rG|tjO }n|tj
O }|t@ }
| t |t@ �t |t@ �t |t@ �|||||||
ff|| d�S )z,Build a new DirstateItem object from V2 dataNFr i� i� )r% r&