File: //usr/lib/python3/dist-packages/mercurial/__pycache__/sparse.cpython-310.pyc
o
�]Lb}i � @ s: d dl mZ d dlZddlmZ ddlmZ ddlmZm Z
mZm
ZmZmZmZmZmZ ddlmZ dZd d
� Zdd� Zd
d� Zdd� Zd3dd�Zdd� Zdd� Zdd� Zdd� Zdd� Z dd� Z!d4d d!�Z"d"d#� Z#d5d$d%�Z$d&d'� Z% d6d(d)�Z&d5d*d+�Z'd5d,d-�Z( . . . . . d7d/d0�Z) d8d1d2�Z*dS )9� )�absolute_importN� )�_)�hex) �error�match�merge�
mergestate�pathutil�pycompat�requirements�scmutil�util)�hashutilFc C sP t �dt|�|��� t� }t� }t� }d}d}|�d�D ]u}|�� }|r)|�d�r*q|�d�r?|dd� �� }|r>|�|� q|dkrY|rT||krTt� t
d �d
|i ��d}|}q|dkrbd}|}q|r�|du rxtj t
d
�||d� t
d�d��|�� �d�r�| �t
d�||d� � q|�|� q|||fW d � S 1 s�w Y dS )z�Parse sparse config file content.
action is the command which is trigerring this read, can be narrow, sparse
Returns a tuple of includes, excludes, and profiles.
z+sparse.parseconfig(ui, %d bytes, action=%s)NF�
� #s %include � s [include]s5 %(action)s config cannot have includes after excludes� actionTs [exclude]s4 %(action)s config entry outside of section: %(line)s)r s lines<