File: //usr/lib/python3/dist-packages/mercurial/__pycache__/subrepo.cpython-310.pyc
o
�]Lb� � @ s� d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl Z d dl
Zddlm
Z
ddlmZmZmZ ddlmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z" ddl#m$Z$m%Z%m&Z&m'Z' da(ej)Z)ej*Z*ej+Z+e j,Z,dd � Z-d
d� Z.G dd
� d
ej/�Z0dd� Z1dd� Z2dd� Z3dd� Z4dddd�Z5dd� Z6d(dd�Z7dd� Z8G dd � d e9�Z:G d!d"� d"e:�Z;G d#d$� d$e:�Z<G d%d&� d&e:�Z=e;e<e=d'�Z>dS ))� )�absolute_importN� )�_)�bin�hex�short)�cmdutil�encoding�error�exchange�
logcmdutil�match�merge�pathutil�phases�pycompat�scmutil�subrepoutil�util�vfs)�dateutil�hashutil�procutil�urlutilc C s6 t �t�| ��}t �|�}|jst�t�|j��} | S )zU
get a path or url and if it is a path expand it and return an absolute path
) r �urllocalpathr �
expandpath�url�scheme�normpath�abspath�path)r �expandedpath�u� r# �3/usr/lib/python3/dist-packages/mercurial/subrepo.py�_expandedabspath8 s
r% c C s t t�t| ���� �dd� S )zEget a unique filename for the store hash cache of a remote repositoryr � )r r �sha1r% �digest)�
remotepathr# r# r$ �_getstorehashcachenameC s r* c @ s e Zd ZdZdd� ZdS )�SubrepoAbortzEException class used to avoid handling a subrepo error more than oncec O s: |� dd �| _|� dd �| _tjj| g|�R i |�� d S )N�subrepo�cause)�popr, r- r
�Abort�__init__)�self�args�kwr# r# r$ r0 K s zSubrepoAbort.__init__N)�__name__�
__module__�__qualname__�__doc__r0 r# r# r# r$ r+ H s r+ c s � fdd�}|S )Nc
s� z� | g|�R i |��}W |S t y } z|�d }~w tjyB } zt| �}|jd td�| }t ||j|t�� d��d }~ww )N� s (in subrepository "%s"))�hintr, r- ) r+ r
r/ �
subrelpath�messager r9 �sys�exc_info)r1 r2 �kargs�res�exr, �errormsg��funcr# r$ �decoratedmethodR s
������z-annotatesubrepoerror.<locals>.decoratedmethodr# )rC rD r# rB r$ �annotatesubrepoerrorQ s rE c C s>