File: //usr/lib/python3/dist-packages/mercurial/__pycache__/store.cpython-310.pyc
o
�]Lbe � @ s. d dl mZ d dlZd dlZd dlZd dlZd dlZddlmZ ddl m
Z
ddlmZ ddl
mZmZmZmZm Z mZmZ ddlmZ e�d �Zd
Zdd� Zd
d� Ze
ede�Zdd� Zdd� Zdd� Ze� \Z Z!dd� Z"dd� Z#dd� Z$e
edd�p~e$� Z%dZ&dZ'dd � Z(d!Z)d"Z*d"e*d d# Z+d$d%� Z,d&d'� Z-d(d)� Z.e
ed*e.�Z.d+d,� Z/d-d.� Z0g d/�Z1d0Z2d1Z3d2Z4e�5d3�Z6d4d5� Z7d6d7� Z8d8Z9d9Z:d:Z;d;Z<d<Z=dZ>d=Z?e9e=B Z@e9e>B ZAe:e=B ZBe:e>B ZCe;e=B ZDe;e>B ZEe<ZFG d>d?� d?eG�ZHG d@dA� dAeH�ZIG dBdC� dCeG�ZJG dDdE� dEejK�ZLG dFdG� dGeH�ZMdS )H� )�absolute_importN� )�_)�getattr)�hex)� changelog�error�manifest�policy�pycompat�util�vfs)�hashutil�parsersi@B c C sl |du rdS t | �} | �d�r|| td�td� � �S | �d�r/|�| td�td� � �S t�d| ��)z�parses a fncache entry and returns whether the entry is tracking a path
matched by matcher or not.
If matcher is None, returns TrueNT� data/� .i� meta/s
/00manifest.is cannot decode path %s)� decodedir�
startswith�len�visitdirr �ProgrammingError)�path�matcher� r �1/usr/lib/python3/dist-packages/mercurial/store.py�_matchtrackedpath$ s
r c C s | � dd�� dd�� dd�S )aM
>>> _encodedir(b'data/foo.i')
'data/foo.i'
>>> _encodedir(b'data/foo.i/bla.i')
'data/foo.i.hg/bla.i'
>>> _encodedir(b'data/foo.i.hg/bla.i')
'data/foo.i.hg.hg/bla.i'
>>> _encodedir(b'data/foo.i\ndata/foo.i/bla.i\ndata/foo.i.hg/bla.i\n')
'data/foo.i\ndata/foo.i.hg/bla.i\ndata/foo.i.hg.hg/bla.i\n'
� .hg/� .hg.hg/� .i/� .i.hg/� .d/� .d.hg/��replace�r r r r �
_encodedir7 s
�r&