https://t.me/RX1948
Server : Apache
System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
User : dh_edsupp ( 6597262)
PHP Version : 8.2.26
Disable Function : NONE
Directory :  /lib/python3/dist-packages/hgext/convert/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/hgext/convert/__pycache__/filemap.cpython-310.pyc
o

�]Lb�F�@s|ddlmZmZddlZddlmZddlmZmZddl	m
Z
e
jZdd�Zd	d
�Z
Gdd�de�ZGd
d�de
j�ZdS)�)�absolute_import�print_functionN)�_)�error�pycompat�)�commonccsT�t|�}|dkr#|d|�||dd�fV|�dd|�}|dks	d|fVdS)aYield tuples with path split at '/', starting with the full path.
    No leading, trailing or double '/', please.
    >>> for x in rpairs(b'foo/bar/baz'): print(x)
    ('foo/bar/baz', '')
    ('foo/bar', 'baz')
    ('foo', 'bar/baz')
    ('.', 'foo/bar/baz')
    ���Nr�/r�.)�len�rfind)�path�i�r�7/usr/lib/python3/dist-packages/hgext/convert/filemap.py�rpairss�	�rcCs|durdSt�|�S)z}We use posixpath.normpath to support cross-platform path format.
    However, it doesn't handle None input. So we wrap it up.N)�	posixpath�normpath)rrrr�	normalize%s
rc@sBeZdZdZddd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dS)�
filemapperz�Map and filter filenames when importing.
    A name can be mapped to itself, a new name, or None (omit from new
    repository).NcCsB||_i|_i|_i|_d|_|r|�|�rt�td���dSdS)Nserrors in filemap)	�ui�include�exclude�rename�targetprefixes�parser�Abortr)�selfrrrrr�__init__2s
�zfilemapper.__init__cs<d}��fdd�}tj|dd�����}|r�|dkr/t����}|||�jd�7}|�j|<ng|dkrQt����}|||�jd�7}|||�jd�7}|�j|<nE|dkrpt����}t����}|||�jd�7}|�j|<n&|d	kr�|��t�����7}n�j�	t
d
��j�jt
�|�f�|d7}���}|s|S)Nrc	s�|s�j�td��j�j|f�dS||vr)�j�td��j�j||f�dS|�d�s7|�d�s7d|vrL�j�td��j�j|t�|�f�dSdS)Ns%s:%d: path to %s is missing
rs%s:%d: %r already in %s list
r
s//s%s:%d: superfluous / in %s %r
r)	r�warnr�infile�lineno�
startswith�endswithr�bytestr)�name�mapping�listname��lexrrr�check?s,������zfilemapper.parse.<locals>.checks!@#$%^&*()-=+[]{}|;:,./<>?)�filepath�	wordcharssincludesexcludesrenamessources%s:%d: unknown directive %r
r)r�shlexer�	get_tokenrrrrrrr rr!r"rr%)rr�errsr+�cmdr&�src�destrr)rr<s@����zfilemapper.parsec	CsJt|�}t|�D]\}}z
||||fWStyYqwd|dfS)N�)rr�KeyError)rr&r'�pre�sufrrr�lookuprs�
zfilemapper.lookupcCsv|jdurt�|_t�|j�D]
\}}|j�|�q|jr"d|jvr$dSt|�}t|�D]\}}||jvr8dSq,dS)z�Return true if the given target filename is covered as a destination
        of the filemap. This is useful for identifying what parts of the target
        repo belong to the source repo and what parts don't.NrTF)r�setr�	iteritemsr�addrr)r�filename�before�afterr6r7rrr�istargetfile{s

�zfilemapper.istargetfilecCs�|jr
|�||j�d}n|}|jr|�||j�d}nd}|js#|s+t|�t|�kr-dS|�||j�\}}}|rR|dkr?|S|rP|�d�rJ||S|d|S|S|S)Nrr4rr
)rr8rrrr$)rr&�inc�exc�newprer6r7rrr�__call__�s$
zfilemapper.__call__cCst|jp	|jp	|j�S�N)�boolrrr�rrrr�active�szfilemapper.activerD)
�__name__�
__module__�__qualname__�__doc__rrr8r?rCrGrrrrr-s

6	rcs�eZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Z�ZS)+�filemap_sourcecsjtt|��||j�||_t||�|_i|_i|_i|_d|_	d|_
i|_i|_i|_
|j�dd�|_dS)NFsconvertsignoreancestorcheck)�superrLr�repotype�baser�commits�	parentmap�wantedancestors�convertedorder�_rebuilt�origparents�children�seenchildrenr�
configbool�ignoreancestorcheck)rr�
baseconverter�filemap��	__class__rrr�s
�zfilemap_source.__init__cC�|j��dSrD)rOr=rFrrrr=��zfilemap_source.beforecCr^rD)rOr>rFrrrr>�r_zfilemap_source.afterc	Cs�||_tti}t�}g}|jD]4}||}||v}|r&|||<||j|<n|||j|<||j|<||}|tkr<d}|�|||f�q||_|j�	|�SrD)
rT�SKIPREVr9�orderrQrR�appendrSrO�	setrevmap)	r�revmap�seen�dummyset�	converted�rev�mapped�wanted�argrrrrc�s$

zfilemap_source.setrevmapc	Cs|jrdSd|_|j��|j��|j��|jD]8\}}}||jvrBz|�|�j|j|<Wnt	j
yA|j�d|�Yqw|durR|j
�|d�d|j
|<q|jD].\}}}z|j|}Wn	tykYqVw|ru|�||�n|�||�|j|g|�R�qVdS)NTsunknown revmap source: %s
rr)rTrQ�clearrRrWrSrU�	getcommit�parentsr�RepoLookupErrorr�debugrV�getr5�mark_wanted�mark_not_wanted�_discard)rrhrjrkrnrrr�rebuild�s8



���zfilemap_source.rebuildcC�
|j��SrD)rO�getheadsrFrrrrw�
zfilemap_source.getheadscCs>|j�|�}|j|<|jD]}|j�|d�d|j|<q|S�Nrr)rOrmrPrnrVrq)rrh�c�prrrrms
zfilemap_source.getcommitcCrvrD)rO�
numcommitsrFrrrr| rxzfilemap_source.numcommitscCs ||jvr
|j|S|j�|�SrD)rPrOrm�rrhrrr�
_cachedcommit#s

zfilemap_source._cachedcommitcGsv|D]6}|dur	q|j�|d�d|j|<|j||j|kr8|j�|d�|j�|d�|j|=|jr8|j|=qdSry)rWrqrVrR�poprQrT)r�revs�rrrrrt(s��zfilemap_source._discardcCslz	|j�||�}Wntyt�td���w|D]
}|�|�r$dSq|jjr+dS|o5d|j|j	vS)Ns+source repository doesn't support --filemapTF�close)
rO�getchangedfiles�NotImplementedErrorrrrrrrP�extra)rrhr�files�frrrrj4s�
�zfilemap_source.wantedcCsF|durt|j|<th|j|<dS|j||j|<|j||j|<dSrD)r`rQrR)rrhr{rrrrsPs
zfilemap_source.mark_not_wantedcCsf||j|<t�}|D]}||jvr|�|j|�q
|j�td�||f�q
|�|�||j|<dS)Ns!warning: %s parent %s is missing
)rQr9rR�updaterr rr;)rrhrn�wrevr{rrrrr_s

�
zfilemap_source.mark_wantedcs��j|j}t|�dkr�js���g}t�}�j|j}d}t|�D]E\}��j���t	ks5�|vr6q$�joFt
���fdd�|D��}	|	s[|s[t|�dkr[����j|kr[d}|���||	f�|�
��q$|rsdd�|D�}d}
|r�tdd�|D��}
d	d�|D�}n|r�d
}
|�j|<d}d�j|jvr��fdd�|D�}||vr�d}t|�d
kr�|sو�||
�s�d}
|r�||
}
��||
��j�|d|
f��j|��j|S|�j|_��||��j�|ddf��j|��j�||�\}}}i}t|�}|D]'\}}��|�}|�r+||k�s||v�r+||f||<||k�r+|�|��qt|���}i}|D]}��|�}|�rO��||�}|�rO|||<�q7|||fS)NrFc3s8�|]}�|kr��j|kr��j|vr|VqdSrD)rQrR)�.0�p2��mp1�p1rrr�	<genexpr>�s���z,filemap_source.getchanges.<locals>.<genexpr>TcSsg|]}|ds|�qS)�r�r�r{rrr�
<listcomp>��z-filemap_source.getchanges.<locals>.<listcomp>css�|]}|dVqdS)�Nrr�rrrr��s�cSsg|]}|d�qS)rrr�rrrr��srr�csg|]}��|�j�qSr)r~�branchr�rFrrr��r�r�)rPrnrrYrur9r��	enumeraterQr`�anyr~rbr;�maxrUr�rjrsrSrtrrrO�
getchangesr�discard�sorted�items)rrh�fullrn�mparents�knownparentsr��hasbranchparentr�
isancestor�wp�closed�	pbranchesr{�changes�copies�cleanp2r��ncleanp2r�r��newf�ncopiesrz�newc�	newsourcerr�rr�ts�
�






�
�
zfilemap_source.getchangescC�|j�|�SrD)rr?)r�targetfilenamerrr�targetfilebelongstosource��z(filemap_source.targetfilebelongstosourcecCs|\}}|j�||�SrD)rO�getfile)rr&rh�realname�realrevrrrr��szfilemap_source.getfilecCrvrD)rO�gettagsrFrrrr��rxzfilemap_source.gettagscCrvrD)rO�hasnativeorderrFrrrr��rxzfilemap_source.hasnativeordercCr�rD)rO�	lookuprevr}rrrr��r�zfilemap_source.lookuprevcCrvrD)rO�getbookmarksrFrrrr��rxzfilemap_source.getbookmarkscCs|j�||�dSrD)rOrg)rrh�sinkrevrrrrg�szfilemap_source.converted)rHrIrJrr=r>rcrurwrmr|r~rtrjrsrrr�r�r�r�r�r�r�rg�
__classcell__rrr\rrL�s,jrL)�
__future__rrr�mercurial.i18nr�	mercurialrr�rr`rr�objectr�converter_sourcerLrrrr�<module>s

https://t.me/RX1948 - 2025