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/remotefilelog/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

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

�]LbZ5�@sddlmZddlZddlZddlmZmZmZmZddl	m
Z
ddlmZddl
mZmZmZmZmZddlmZdd	lmZmZmZmZmZmZd
d�Zdd
�Zd$dd�Zdd�Z dd�Z!dd�Z"dd�Z#dd�Z$dd�Z%dd�Z&dd�Z'd d!�Z(d"d#�Z)dS)%�)�absolute_importN)�bin�hex�sha1nodeconstants�short)�_)�open)�error�filelog�lock�pycompat�revlog)�hashutil�)�	constants�datapack�fileserverclient�historypack�repack�shallowutilc
Ks�|�d�}t||�\}}}|�td�|�|�td�|�|�td�t|��|�td��|�td�d�|g}|rz|�d�}||\}	}
}}|�td	�t|�t|	�t|
�t|�|f�|	tjkrl|�|	�|
tjkrv|�|
�|s?dSdS)
N�
decompressssize: %d bytes
s
path: %s 
s	key: %s 
�
s%12s => %12s %13s %13s %12s
)snodesp1sp2slinknodescopyfromrs%s => %s  %s  %s  %s
)	�get�
parsefileblob�statusrr�popr�nullid�append)
�ui�path�optsr�size�	firstnode�mapping�queue�node�p1�p2�linknode�copyfrom�r*�C/usr/lib/python3/dist-packages/hgext/remotefilelog/debugcommands.py�debugremotefilelog&s2
��
��



�r,c

Cs.tt�|����}tj�|jd|�}g}t�|�D]}d|vr+|�|j	|t
|�d��qt|dd�d�}|�d�}tj�
|�rDt�|�t�|jd�}Gd	d
�d
t�}|�}	|D]<}
|
��|vraqX|
���|
���}i}|
��r�|
��d|d<t|
��d
�|d<|�|
��||	|
��|d|d
�qX|S)Ns
store/datas_old)�fileidcSs|��S�N)�linkrev)�xr*r*r+�<lambda>Msz!buildtemprevlog.<locals>.<lambda>)�keysdata/temprevlog.is
temprevlogc@seZdZdd�ZdS)zbuildtemprevlog.<locals>.faketcSsdSr.r*)�self�a�b�cr*r*r+�addVsz"buildtemprevlog.<locals>.faket.addN)�__name__�
__module__�__qualname__r7r*r*r*r+�faketUsr;rscopyrscopyrev)rr�sha1�digest�osr�join�listdirr�filectxr�sorted�sjoin�exists�remover
�svfs�objectr%�parents�filenode�renamedr7�datar/)
�repo�file�filekey�filedir�fctxsrI�temppath�rr;�t�fctx�p�metar*r*r+�buildtemprevlogBs0�

&rWcKs�|�d�s|�d�s|�d�st�|�r|�|�s#||||fi|��St||�}|�dd�}|dvr;t�td�|��|jt	j
@}|rFd}nd	}|dkrV|�d
|d�n
|dkrc|�d
|d�|D]�}	|�|	�}
|rt|�
|	�}n|�|	�}|dkr�z|�|
�}Wnty�|j|jg}Ynw|�d|	|�|	�|�|	�||�|	�t|
�t|d�t|d�f�qe|dkr�|�|	�}
|�d|	|�|	�|�|	�|�|	�|�|	�||�|	�|
d|
dt|
�f
�qedS)z"dump the contents of an index file�	changelog�manifest�dirsformatr)rrsunknown format %ds deltas  bases   rev    offset  length s& linkrev nodeid       p1           p2
rs'   rev flag   offset   length     size s#   link     p1     p2       nodeid
s"% 6d % 9d % 7d % 6d % 7d %s %s %s
s0% 6d %04x % 8d % 8d % 8d % 6d % 6d % 6d % 6d %s
N)rr�	isenabled�shallowmatchrWr	�Abortr�versionr
�FLAG_GENERALDELTA�writer%�deltaparent�	chainbaserH�	Exceptionr�start�lengthr/r�
parentrevs�flags�rawsize)�origrrL�file_r rR�format�generaldelta�basehdr�ir%�base�pp�prr*r*r+�
debugindexis������

����

�

���
�����rrcCs�t�|�s||||�St|tj�|�dd��}|�d�|D]/}|�|�}|�|�}|�	d|�
|d�|f�|d|jkrN|�	d|�
|d�|f�q|�	d�dS)z(dump an index DAG as a graphviz dot fileN���sdigraph G {
s
	%d -> %d
rrs}
)rr[rWr>r�basename�writenoi18nr%rHr`�revr)rirrLrjrRrnr%rpr*r*r+�
debugindexdot�s



�rwcKs�|�d�}t�|�D]K\}}}|D]C}|dkrqtj�||�}t||�\}	}
}t�|�D]'\}}
}}|tj	krStj�
||�}t�d||�}|�
d|tj�
||�f�q,qq
dS)Nrsrepossreponames%s %s
)rr>�walkrr?rr�
itervaluesrr�relpathr�getcachekeyr)rrr r�root�dirs�filesrM�filepathr!r"r#r&r'r(r)�
actualpathr2r*r*r+�verifyremotefilelog�s(

������r�cCs
t�|�Sr.)�zlibr)�rawr*r*r+�_decompressblob�s
r�cCst|d�}z
|��}W|��n|��w|rt|�}t�|�\}}}||}d}i}	|t|�kr}|�d|d�}
|||d�}|sE|}||d|d�}||d|d�}
||d|d�}||d|
�}||
||f|	|<|
d}|t|�ks1|||	fS)Nsrb��P��(�<r)r�read�closer�r�parsesizeflags�len�index)rr�fr��offsetr!rgrdr"r#�divider�currentnoder&r'r(r)r*r*r+r�s.

�
rcs|D�]}d|vr|d|�d��}��d|�t�|�}|�d�}|r9|�dt|��}t�|fi|��dS|�d�rCt}d�nt}d�d�d�d������fd	d
�}i}	t	�}
d}|�
�D]�\}}}
}|
|	|<||
vr}��dt|��|d7}|
�|�|�kr�|�|dkr�d
n|}��d|���dd���d���d�d�d�d�f�|�d�d�|�
||�}tj|vr�|tj}�|7��|7�nd}��d||�||
�d|�d�t�|�f�qb|dur�|�|t�t	|
�|	�7}|dk�r��d|�dSqdS)Ns.datas%s:
r%��long�*�rcs��dur	��d��r
�sdS��}ddt|��|dkr!dndf}��dd�d	�td
��d��d�d��d
�|f�dS)Nrs
%0.1f%% %sgY@rssmallersbiggersTotal:%s%s  %s (%s)
r��sTotal:�%d��	)r`�absru�ljustr�)�
difference�deltastr��hashlen�lastfilename�
totalblobsize�totaldeltasizerr*r+�printtotalss$
����z"debugdatapack.<locals>.printtotalssBad entry: %s appears twice
rs(empty name)s	%s%s%s%s
�Node�
Delta Base�Delta Lengths	Blob Sizer�s	(missing)s
%s  %s  %s%s
r�s%d failures
)r�r`rr�
getdeltachainr�dumpdeltachainrr�set�iterentriesr7r��getmetar�METAKEYSIZEr�bytestr�_sanitycheck�warn)r�pathsr r�dpackr%�
deltachain�
hashformatterr��bases�nodes�failures�filename�	deltabase�deltalen�namerV�blobsizer*r�r+�
debugdatapacks�




���	


���

��r�cCs�d}|D]Q}t�}|}||}|tjkrP||vr*|�dt|�t|�f�|d7}n&||vr@|�dt|�t|�f�|d7}n|}|�|�||}|tjkstj||<q|S)z�
    Does some basic sanity checking on a packfiles with ``nodes`` ``bases`` (a
    mapping of node->base):

    - Each deltabase must itself be a node elsewhere in the pack
    - There must be no cycles
    rs,Bad entry: %s has an unknown deltabase (%s)
rs"Bad entry: %s has a cycle (at %s)
)r�rrr�rr7)rr�r�r�r%�seen�currentr�r*r*r+r�hs8
����

�r�c

Ks�t}d}d}|D]C\}}}}}	||kr|�d|�|}|�dd�|�d�|�d�|�d�d�f�|�d	||�||�tt�|	����t|	�f�qdS)
Nr��
%s
s%s  %s  %s  %s
r�r�s
Delta SHA1r��s%s  %s  %s  %d
)rr`r�rr<r=r�)
rr�r r�r�r�r�r%�
deltabasenode�deltar*r*r+r��s4���
����r�c
Cs�d|vr
|d|�d��}t�|�}d}|��D]C}|\}}}}}	}
||krG|�d|�|�dd�d�d�d�d�d�d�d�d	f�|}|�d
t|�t|�t|�t|	�|
f�qdS)Ns.histr�s%s%s%s%s%s
r�r�sP1 NodesP2 Nodes	Link Nodes	Copy Froms%s  %s  %s  %s  %s
)r�rr�r`r�r)rr�hpackr��entryr�r%�p1node�p2noder(r)r*r*r+�debughistorypack�s<
���
����r�cCs>tjt�|�ddd��
	Wd�dS1swYdS)Ns
repacklock���)�timeout)�lockmodrr�
repacklockvfs�rLr*r*r+�debugwaitonrepack�s$�r�c	CsF|�|jddddtd�|j��	Wd�dS1swYdS)NsprefetchlockTsprefetching in %s)�_lockrFr�origrootr�r*r*r+�debugwaitonprefetch�s�"�r�r.)*�
__future__rr>r��mercurial.noderrrr�mercurial.i18nr�mercurial.pycompatr�	mercurialr	r
rr�rr
�mercurial.utilsr�rrrrrrr,rWrrrwr�r�rr�r�r�r�r�r�r*r*r*r+�<module>s, 

'S"a,!

https://t.me/RX1948 - 2025