403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /usr/lib64/python3.9/site-packages/mercurial/__pycache__/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /usr/lib64/python3.9/site-packages/mercurial/__pycache__/changelog.cpython-39.opt-1.pyc
a

�+�b�N�@sddlmZddlmZddlmZmZddlmZddl	m
Z
mZmZm
Z
mZddlmZmZddlmZmZd	d
iZdd�Zd
d�Zdd�Zdd�Zdd�ZGdd�de�ZGdd�de�Zdd�Zej Gdd�de��Z!Gdd�de�Z"Gdd �d ej�Z#d!S)"�)�absolute_import�)�_)�bin�hex)�attr)�encoding�error�metadata�pycompat�revlog)�dateutil�
stringutil)�	constants�flagutil�branch�defaultcCs(|�dd��dd��dd�}|�dd�S)	aA
    >>> from .pycompat import bytechr as chr
    >>> d = {b'nl': chr(10), b'bs': chr(92), b'cr': chr(13), b'nul': chr(0)}
    >>> s = b"ab%(nl)scd%(bs)s%(bs)sn%(nul)s12ab%(cr)scd%(bs)s%(nl)s" % d
    >>> s
    'ab\ncd\\\\n\x0012ab\rcd\\\n'
    >>> res = _string_escape(s)
    >>> s == _string_unescape(res)
    True
    �\�\\�
s\n�
s\r��\0)�replace��text�r�9/usr/lib64/python3.9/site-packages/mercurial/changelog.py�_string_escape$s
���rcCs6d|vr,|�dd�}|�dd�}|�dd�}t�|�S)Nrrs\\
rr�)rrZunescapestrrrrr�_string_unescape8s
r cCs<t��}|�d�D]$}|rt|��dd�\}}|||<q|S)a�
    >>> from .pycompat import bytechr as chr
    >>> sorted(decodeextra(encodeextra({b'foo': b'bar', b'baz': chr(0) + b'2'})
    ...                    ).items())
    [('baz', '\x002'), ('branch', 'default'), ('foo', 'bar')]
    >>> sorted(decodeextra(encodeextra({b'foo': b'bar',
    ...                                 b'baz': chr(92) + chr(0) + b'2'})
    ...                    ).items())
    [('baz', '\\\x002'), ('branch', 'default'), ('foo', 'bar')]
    r�:r)�
_defaultextra�copy�splitr )r�extra�l�k�vrrr�decodeextraAs
r)cs �fdd�t��D�}d�|�S)Ncs g|]}td|�|f��qS)s%s:%s)r)�.0r'��drr�
<listcomp>Vrzencodeextra.<locals>.<listcomp>r)�sorted�join)r,�itemsrr+r�encodeextraTsr1cCsd�dd�|��D���d�S)z>strip trailing whitespace and leading and trailing empty linesrcSsg|]}|���qSr)�rstrip)r*r&rrrr-\rzstripdesc.<locals>.<listcomp>)r/�
splitlines�strip)�descrrr�	stripdescZsr6c@speZdZdZdd�Zdd�Zdd�Zdd	�Zed
d��Z	dd
�Z
ddd�Zddd�Zdd�Z
dd�Zdd�ZdS)�appenderz`the changelog index must be updated last on disk, so we use this class
    to delay writes to itcCs:||_|||�}||_|��|_|�|�j|_|j|_dS�N)�data�fp�tell�offset�fstat�st_size�size�_end)�selfZvfs�name�mode�bufr:rrr�__init__cs

zappender.__init__cCs|jSr8)r@�rArrr�endkszappender.endcCs|jSr8)r<rFrrrr;nsz
appender.tellcCsdSr8rrFrrr�flushqszappender.flushcCs|jjSr8)r:�closedrFrrrrItszappender.closedcCs|j��dSr8)r:�closerFrrrrJxszappender.closercCs\|dkr||_n.|dkr(|j|7_n|dkr>|��||_|j|jkrX|j�|j�dS)z,virtual file offset spans real file and datarr�N)r<rGr?r:�seek)rAr<�whencerrrrL{sz
appender.seek���cCs�d}|j|jkrF|j�|�}|}|jt|�7_|dkrF|t|�8}|dkr�|j|j}|j�dd�|j��|jdd�=|jd|||�}|jt|�7_||7}|S)z5only trick here is reads that span real file and datarrrN)r<r?r:�read�lenr9�insertr/)rA�count�ret�sZdoffrrrrO�sz
appender.readcCs8|j�t|��|jt|�7_|jt|�7_dSr8)r9�append�bytesr<rPr@)rArTrrr�write�szappender.writecCs|j��|Sr8)r:�	__enter__rFrrrrX�s
zappender.__enter__cGs|jj|�Sr8)r:�__exit__)rA�argsrrrrY�szappender.__exit__N)r)rN)�__name__�
__module__�__qualname__�__doc__rErGr;rH�propertyrIrJrLrOrWrXrYrrrrr7_s


r7c@s&eZdZdd�Zd
dd�Zdd�Zd	S)�
_divertopenercCs||_||_dSr8)�_opener�_target)rA�opener�targetrrrrE�sz_divertopener.__init__�rFcKs6||jkr|j||fi|��S|j|d|fi|��S)N�.a)rbra)rArBrC�
checkambig�kwargsrrr�__call__�s
z_divertopener.__call__cCst|j|�Sr8)�getattrra)rArrrr�__getattr__�sz_divertopener.__getattr__N)reF)r[r\r]rErirkrrrrr`�s
r`csd���fdd�	}|S)z?build an opener that stores chunks in 'buf' instead of 'target'reFcs(|�kr�||fi|��St�||��Sr8)r7)rBrCrgrh�rDrcrdrr�_delay�sz_delayopener.<locals>._delay)reFr)rcrdrDrmrrlr�_delayopener�srnc@s�eZdZe��Ze��Zejdd�Zejdd�Zeje�	e
�d�Zejdd�Zejdd�Z
ejdd�Zejdd�Zejdd�Zejeddfd�ZdS)�_changelogrevisionr)�default)rrNrF)r[r\r]rZibr%�manifest�user�dateZFactory�list�files�
filesadded�filesremoved�p1copies�p2copies�descriptionr"�
branchinforrrrro�srocs�eZdZdZdZ�fdd�Zedd��Zedd��Zed	d
��Z	edd��Z
ed
d��Zedd��Zedd��Z
edd��Zedd��Zedd��Zedd��Zedd��Zedd��Zedd ��Z�ZS)!�changelogrevisionz�Holds results of a parsed changelog revision.

    Changelog revisions consist of multiple pieces of data, including
    the manifest node, user, and date. This object exposes a view into
    the parsed object.
    )�_offsets�_text�	_sidedata�_cpsd�_changesc
s�|stt|jd�Stt|��|�}|�d�}|�d|d�}|�d|d�}||d|d�dkrj|}	n|�d|d�}	||||	f|_||_||_	||_
d|_|S)N)r%rqrrrK�

)ror"Znullid�superr|�__new__�indexr}r~rr�r�)
�clsZclr�sidedataZcpsdrAZnl1Znl2Znl3Zdoublenl��	__class__rrr��s
zchangelogrevision.__new__cCst|jd|jd��S)Nr)rr~r}rFrrrrqszchangelogrevision.manifestcCs&|j}t�|j|dd|d��S�Nrr)r}r�tolocalr~�rA�offrrrrr
szchangelogrevision.usercCs4|j}|j|dd|d�}|�dd�dd�S)NrrK� r)r}r~r$)rAr��	dateextrarrr�_rawdateszchangelogrevision._rawdatecCsD|j}|j|dd|d�}|�dd�}t|�dkr<dS|dS)NrrKr��)r}r~r$rP)rAr�r��fieldsrrr�	_rawextraszchangelogrevision._rawextracCsB|j}t|d�}zt|d�}Wnty8d}Yn0||fSr�)r��float�int�
ValueError)rA�raw�time�timezonerrrrss
zchangelogrevision.datecCs|j}|durtSt|�Sr8)r�r"r))rAr�rrrr%+szchangelogrevision.extracCs`|jdur|jS|jr$t�|j�}n2tj|jp0d|jp8d|jp@d|j	pHi|j
pPid�}||_|S)Nr)�touched�added�removedZ	p1_copiesZ	p2_copies)r�r�r
Zdecode_files_sidedatarZ
ChangingFilesrurvrwrxry)rA�changesrrrr�3s
�zchangelogrevision.changescCsL|jrt|jj�S|j}|d|dkr,gS|j|dd|d��d�S)NrKr�rr)r�r.r�r�r}r~r$r�rrrruDszchangelogrevision.filescCs4|jr|jjS|j�d�}|dur&dSt�|j|�S)Ns
filesadded)r�r�r�r%�getr
�decodefileindicesru�rAZ
rawindicesrrrrvNszchangelogrevision.filesaddedcCs4|jr|jjS|j�d�}|dur&dSt�|j|�S)Nsfilesremoved)r�r�r�r%r�r
r�rur�rrrrwXszchangelogrevision.filesremovedcCs4|jr|jjS|j�d�}|dur&dSt�|j|�S)Nsp1copies)r�r�Zcopied_from_p1r%r�r
�decodecopiesru�rAZ	rawcopiesrrrrxbszchangelogrevision.p1copiescCs4|jr|jjS|j�d�}|dur&dSt�|j|�S)Nsp2copies)r�r�Zcopied_from_p2r%r�r
r�rur�rrrrylszchangelogrevision.p2copiescCst�|j|jddd��S)Nr�rK)rr�r~r}rFrrrrzvszchangelogrevision.descriptioncCs|j}t�|�d��d|vfS)Nrsclose)r%rr�r�)rAr%rrrr{zszchangelogrevision.branchinfo)r[r\r]r^�	__slots__r�r_rqrrr�r�rsr%r�rurvrwrxryrzr{�
__classcell__rrr�rr|�s>&



	



	
	
	
	
	
r|cs�eZdZddd�Zedd��Zejdd��Z�fdd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zddd�Zdd�Zdd�Z�ZS) �	changelogFNcCs�tjj||tjdfddd|j�dd�||d�	|jrX|jtjkrX|j	tj
M_	d|_d|_||_
d|_d|_d|_t�|_i|_|j�d�|_dS)aVLoad a changelog revlog using an opener.

        If ``trypending`` is true, we attempt to load the index from a
        ``00changelog.i.a`` file instead of the default ``00changelog.i``.
        The ``00changelog.i.a`` file contains index (and possibly inline
        revision) data for a transaction that hasn't been finalized yet.
        It exists in a separate file to facilitate readers (such as
        hooks processes) accessing data before a transaction is finalized.

        ``concurrencychecker`` will be passed to the revlog init function, see
        the documentation there.
        Ns00changelogTspersistent-nodemapF)rd�radixrgZmmaplargeindexZpersistentnodemap�concurrencychecker�
trypendingscopies-storage)rrE�revlog_constantsZKIND_CHANGELOG�optionsr�Z
_initemptyZ_format_versionZREVLOGV1Z
_format_flagsZFLAG_GENERALDELTAZ
_generaldeltaZ_storedeltachains�_realopener�_delayed�	_delaybuf�_divert�	frozenset�
_filteredrevs�_filteredrevs_hashcache�_copiesstorage)rArcr�r�rrrrE�s,
�zchangelog.__init__cCs|jSr8)r�rFrrr�filteredrevs�szchangelog.filteredrevscCs||_i|_dSr8)r�r�)rA�valrrrr��scs|jstt|��|�dSr8)r�r�r��
_write_docket�rA�trr�rrr��szchangelog._write_docketcCs�|jdur�|js�t|�dkrXd|_|j�|jd�rF|j�|jd�t|j|j�|_	ng|_
t|j|j|j
�|_	|j	|j_	|j	|j
_	d|_|�dt|�|j�|�dt|�|j�dS)z2delay visibility of index updates to other readersNrTrfscl-%i)�_docketr�rPr�r��exists�
_indexfile�unlinkr`rcr�rn�_segmentfile�_segmentfile_sidedataZ
addpending�id�
_writependingZaddfinalize�	_finalizer�rrr�delayupdate�s�

zchangelog.delayupdatecCs�d|_|j|_|j|j_|j|j_|jdur8|�|�nr|jrr|jd}|j�	|�}|�
�|jj||jdd�n8|jr�|j|jddd�}|�
d�|j��|�
�d|_d|_|�|�dS)zfinalize index updatesFNrfT)rg�ar)r�r�rcr�r�r�r�r�r��openrJ�renamer�rWr/�_enforceinlinesize)rAr�ZtmpnameZnfiler:rrrr��s$



zchangelog._finalizecCs�|jr|jj|dd�S|jr�|�|j�}|jd}|�|�|�|d�}|�|���|�d�|j��|��d|_d|_	t
|j|j�|_|j|j_|j|j
_|j	r�dSdS)zLcreate a file containing the unfinalized state for
        pretxnchangegroupT)�pendingrf�wrNF)r�rWr�r�r�ZregistertmprOr/rJr�r`rcr�r�)rAr��fp1Zpendingfilename�fp2rrrr��s$



zchangelog._writependingcCs|jstj�||�dSr8)r�rr�r�rrrr�szchangelog._enforceinlinesizecCsH|�|�}|�|�}|jdk}t||||�}|j|j|j|j|j|j	fS)a�Obtain data from a parsed changelog revision.

        Returns a 6-tuple of:

           - manifest node in binary
           - author/user as a localstr
           - date as a 2-tuple of (time, timezone)
           - list of files
           - commit message as a localstr
           - dict of extra metadata

        Unless you need to access all fields, consider calling
        ``changelogrevision`` instead, as it is faster for partial object
        access.
        �changeset-sidedata)
�
_revisiondatar�r�r|rqrrrsrurzr%)rA�	nodeorrevr,r�Zcopy_sd�crrrrOs



zchangelog.readcCs(|�|�}|�|�}t||||jdk�S)z6Obtain a ``changelogrevision`` for a node or revision.r�)r�r�r|r�)rAr�rr�rrrr|s


�zchangelog.changelogrevisioncCs:|�|�}|sgS|�d�}|d|��d�}|dd�S)zX
        short version of read that only returns the files modified by the cset
        r�Nrr�)Zrevisionr�r$)rAr�rZlastr&rrr�	readfiles&s

zchangelog.readfilesc
	CsJt�|�t�|�}}|��}|s0t�td���d|vrPt�td�t�|���t|�}|rldt	�
|�}
ndt	��}
|	r�|	�d�}|dvr�|	d=n|dvr�t�td�|��t
|j�}d	}
d}|jd
kr�|jr�|
tjO}
t�|�}|	�rt|	�}	d|
|	f}
t|�||
g|d|g}d�|�}|j||t|�||||
d
�}|�|�S)Nsempty usernamersusername %r contains a newlines%d %dr)rr)�.snullstipsthe name '%s' is reservedrr�s%s %sr)r��flags)rZ	fromlocalr4r	ZStorageErrorrrZbytestrr6r
Z	parsedateZmakedater�r.r�r�Zhas_copies_inforZREVIDX_HASCOPIESINFOr
Zencode_files_sidedatar1rr/ZaddrevisionrP�node)rArqrur5�transactionZp1Zp2rrrsr%Z
parseddate�branchZsortedfilesr�r�r&r�revrrr�add1sH�

�




�z
changelog.addcCs|�|�jS)z�return the branch name and open/close state of a revision

        This function exists because creating a changectx object
        just to access this is costly.)r|r{)rAr�rrrr{mszchangelog.branchinfocCs|j�dg�}|�|�dS)Ns
revduplicates)r��
setdefaultrU)rAr�r��
duplicatesrrr�_nodeduplicatecallbacktsz changelog._nodeduplicatecallback)FN)NN)r[r\r]rEr_r��setterr�r�r�r�r�rOr|r�r�r{r�r�rrr�rr��s$
,

�
<r�N)$Z
__future__rZi18nrr�rrZ
thirdpartyr�rr	r
rrZutilsr
rZrevlogutilsrr�rr"rr r)r1r6�objectr7r`rnrTror|r�rrrr�<module>s(	F1

Youez - 2016 - github.com/yon3zu
LinuXploit