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 :  /lib64/python3.9/site-packages/hgext/lfs/__pycache__/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /lib64/python3.9/site-packages/hgext/lfs/__pycache__/wrapper.cpython-39.pyc
a

�+�b3C�@s�ddlmZddlZddlmZddlmZmZmZddl	m
Z
mZddlm
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZddlmZmZ ddl!m"Z"dd	l#m$Z$m%Z%d
dl&m'Z'dd
l(m)Z)m*Z*e��Z+e+�,ed�dd��Z-e+�,ed�dd��Z.e+�,ed�dd��Z/dd�Z0dd�Z1dd�Z2dYdd�Z3ddej4fdd �Z5d!d"�Z6d#d$�Z7e+�,ed%�d&d'��Z8e+�,ej9d(�d)d*��Z:e+�,ej9d+�d,d-��Z;d.d/�Z<e+�,ed0�d1d2��Z=e+�,ed3�d4d5��Z>e+�,ej?d6�d7d8��Z@d9d:�ZAd;d<�ZBd=d>�ZCd?d@�ZDdAdB�ZEe+�,edC�dDdE��ZFe+�,e
dF�dGdH��ZGdIdJ�ZHdZdLdM�ZId[dNdO�ZJdPdQ�ZKe+�,e dR�dSdT��ZLe+�,edU�e+�,edV�dWdX���ZMdS)\�)�absolute_importN)�_)�bin�hex�short)�getattr�setattr)�bundle2�changegroup�cmdutil�context�error�exchange�	exthelper�	localrepo�pycompat�revlog�scmutil�util�vfs�wireprotov1server)�actions�engine)�
repository)�storageutil�
stringutil�)�lfutil�)�	blobstore�pointersmakefilestoragecKs(d|vr|�tj�|f||d�|��S)N�lfs)�requirements�features)�addrZREPO_FEATURE_LFS)�origr"r#�kwargs�r'�7/usr/lib64/python3.9/site-packages/hgext/lfs/wrapper.py�localrepomakefilestorage:sr)sallsupportedversionscCs||�}|�d�|S)Ns03)r$)r%�uiZversionsr'r'r(�allsupportedversionsBs
r+s
_capabilitiescCs:|||�}t�|jd�r6d|jvr,|�d�|�d�|S)z5Wrap server command to announce lfs server capability�lfslocalblobstorer!s	lfs-serve)r�safehasattr�svfsr"�append)r%�repo�protoZcapsr'r'r(�
_capabilitiesIs



r2cCsdS�NFr')�self�textr'r'r(�bypasscheckhashYsr6cCs�t�|�}|��}|jj}|�|�s>|j|_|jj�|g|�|j	|dd�}i}|�
�D]*}|�d�rX|td�d�}||||<qX|s�|�d�r�t
�||�}|dfS)a%Read filelog content from local blobstore transform for flagprocessor.

    Default tranform for flagprocessor, returning contents from blobstore.
    Returns a 2-typle (text, validatehash) where validatehash is True as the
    contents of the blobstore should be checked using checkhash.
    F)Zverifysx-hg-Ns
T)r �deserialize�oid�opener�lfslocalblobstore�has�filename�lfsremoteblobstore�	readbatch�read�keys�
startswith�lenrZpackmeta)r4r5�pr8�store�hgmeta�k�namer'r'r(�
readfromstore]s


rHc
Cs�t�|�\}}|r&|dkr&||d�}tt�|����}|jj�||�d|}t	j
|dt|�d�}t�
|�sxd|d<|dur�t�|�D]\}}||d|<q�|��}	|	dfS)	Nrs	sha256:%ss%d)r8�size�0�x-is-binarysx-hg-%sF)r�	parsemetar�hashlibZsha256�digestr9r:�writer Z
gitlfspointerrBrZbinaryrZ	iteritemsZ	serialize)
r4r5rE�offsetr8Zlongoid�metadatarF�v�rawtextr'r'r(�writetostorezs
rTcCsP|dur |durdS|�|�}n
|�|�}||jkr8dS|�|�}t|tj@�Sr3)�rev�nodeZnullid�flags�boolr�REVIDX_EXTSTORED)ZrlogrVrUrWr'r'r(�_islfs�s


rZc
Ksp|jjj�d�}|rNt|�}t�|�\}
}|r6||8}||jj|�rN|	tj	O}	|||||||f|||	d�|
��S)Nslfstrack)�
cachedeltarVrW)
�_revlogr9�options�getrBrrLr<rrY)r%r4r5Ztransaction�link�p1�p2r[rVrW�kwdsZlfstrackZtextlen�metarPr'r'r(�filelogaddrevision�s,
��
�rdcCs\t|j|�rR|j�|�}|s dSt�|�}d|vrNd|vrN|dt|d�fSdS|||�S)NFs	x-hg-copysx-hg-copyrev)rZr\�rawdatar r7r)r%r4rVrSrQr'r'r(�filelogrenamed�s
rfcCs:t|j|d�r0|j�|�}t�|�}t|d�S|||�S)N)rUssize)rZr\rer r7�int)r%r4rUrSrQr'r'r(�filelogsize�s

rhs_verify_revisioncCsjt||d�rX|�|�}t�|�}|jj�|���r@|tj	M}n|tj	@rX|d�
|�|||||�dS)N)rVssafe_renamed)rZrer r7r9r:r;r8rrYr$)r%ZrlZ	skipflags�staterVrSrQr'r'r(�_verify_revision�s


rjscmpcCsP|��rFt|ddd���rFt�|���}t�|���}|��|��kS|||�S)z+returns True if text is different than fctx�islfscSsdSr3r'r'r'r'r(�<lambda>��zfilectxcmp.<locals>.<lambda>)rkrr r7rer8)r%r4�fctxr`rar'r'r(�
filectxcmp�s
rosisbinarycCs2|��r*t�|���}tt|�dd���S||�S)NrKr)rkr r7rerXrgr^)r%r4rQr'r'r(�filectxisbinarysrpcCst|��j|���S�N)rZ�filelogr\�filenode)r4r'r'r(�filectxislfssrts_updatecatformattercCs(||||||�|j||��d�dS)N)re)�datare)r%Zfm�ctxZmatcher�path�decoder'r'r(�_updatecatformattersryswrapconvertsinkcs2||�}|jdkr.G�fdd�d|j���|_|S)NshgcseZdZ��fdd�Z�ZS)zconvertsink.<locals>.lfssinkc		slt�|�j}	|	||||||||�}
d|jjvrh|j|
�t�fdd�|D��rh|jj�d�t�|j�|
S)Nr!c3s&|]\}}|�vo�|��VqdSrq)rk)�.0�f�n�rvr'r(�	<genexpr>=rmz9convertsink.<locals>.lfssink.putcommit.<locals>.<genexpr>)�super�	putcommitr0r"�anyr$rZwritereporequirements)r4�filesZcopies�parentsZcommit�sourceZrevmapZfullZcleanp2ZpcrV)�	__class__�lfssinkr}r(r�!s"�
z&convertsink.<locals>.lfssink.putcommit)�__name__�
__module__�__qualname__r��
__classcell__r'�r�)r�r(r� sr�)Zrepotyper�)r%Zsinkr'r�r(�convertsinks

#r�s__init__cCs^|||�|j��D]\}}|�d�r||j|<qdD]"}t�||�r6t||t||��q6dS)Nr!)r,�lfsremoteblobstore)r]�itemsrArr-rr)r%r4ZothervfsrFrRrGr'r'r(�vfsinitJs

r�c
Cs�t�|jd�sdSg}t�}|jj}|D]f\}}||}|�|�D]J}t||�}	|	rB|	��|vrB|�|	���sB||	_	|�
|	�|�|	���qBq(|r�t�
|��||�dS)zSEnsure that required LFS blobs are present, fetching them as a group if
    needed.r,N)rr-r.�setr:�walk�pointerfromctxr8r;r<r/r$r�remoter>)
r0Z
revmatches�pointersZoidsZ
localstorerU�matchrvr{rCr'r'r(�_prefetchfilesXs

r�cCs"t�|jd�sdSt|jjtj�S)Nr�T�rr-r.�
isinstancer=rZ_nullremote�r0r'r'r(�_canskipuploadqsr�cCs$t�|jd�sdSt|jjtj�S)Nr�Fr�r�r'r'r(�candownloadzsr�cCs$t|�rdSt||�}t||�dS)zuupload lfs blobs introduced by revs

    Note: also used by other extensions e. g. infinitepush. avoid renaming.
    N)r��extractpointers�uploadblobs)r0�revsr�r'r'r(�uploadblobsfromrevs�s
r�cCst|j|jj�S)z�Prepush hook.

    Read through the revisions to push, looking for filelog entries that can be
    deserialized into metadata so that we can block the push on their upload to
    the remote blobstore.
    )r�r0�outgoing�missing)Zpushopr'r'r(�prepush�sr�spushcOs�d|jvr�|��s:|�d�s:td�}tj|dtd�d��|jj}z6t�	||�
��|j_|||g|�Ri|��W||j_S||j_0n|||g|�Ri|��SdS)z�bail on push if the extension isn't enabled on remote when needed, and
    update the remote store based on the destination path.r!s:required features are not supported in the destination: %ss&enable the lfs extension on the server)�hintN)r"�localZcapablerr
�Abortr.r=rr��url)r%r0r��argsr&�mZremotestorer'r'r(�push�s
��r�swritenewbundlec	Os,t||j�|||||||g|�Ri|��S)z;upload LFS blobs added by outgoing revisions on 'hg bundle')r�r�)	r%r*r0r�r<Z
bundletyper�r�r&r'r'r(�writenewbundle�s���r�cCs�|j�d�i}|jj}|td�td�t|���\}|D]2}||}t|���D]}|||��<qN|��q6t	|��dd�d�Wd�S1s�0YdS)z1return a list of lfs pointers added by given revss&lfs: computing set of blobs to upload
s
lfs searchs
changesetscSs|��Srq)r8)rCr'r'r(rl�rmz!extractpointers.<locals>.<lambda>)�keyN)
r*�debug�makeprogressrrB�pointersfromctx�valuesr8Z	increment�sorted)r0r�r�r�Zprogress�rrvrCr'r'r(r��s�
r�Fc
Cs�|}||vrD|sdS||��vr*|��}n||��vr@|��}ndS||}t|��j|���sddSz"t�|���}||kr�|WSiWStj	y�}z,t
�td�|t
|���|f��WYd}~n
d}~00dS)a?return a pointer for the named file from the given changectx, or None if
    the file isn't LFS.

    Optionally, the pointer for a file deleted from the context can be returned.
    Since no such pointer is actually stored, and to distinguish from a non LFS
    file, this pointer is represented by an empty dict.
    Ns#lfs: corrupted pointer (%s@%s): %s
)r`rarZrrr\rsr r7reZInvalidPointerr
r�rrrV)rvr{�removedZ_ctxrnrC�exr'r'r(r��s.

��r�cCsJi}|����}|��D],}||�s&qt|||d�}|dur|||<q|S)z�return a dict {path: pointer} for given single changectx.

    If ``removed`` == True and the LFS file was removed from ``ctx``, the value
    stored for the path is an empty dict.
    )r�N)r0Znarrowmatchr�r�)rvr��resultr�r{rCr'r'r(r��s
r�cCs$|sdS|jj}|�||jj�dS)z*upload given pointers from local blobstoreN)r.r=Z
writebatchr:)r0r�Z
remoteblobr'r'r(r�sr�sfinishdatamigrationcCs�|||||�t�|jd�r�t�|jd�r�|jjj}|jjj}|��D]>\}}}	|	D].}
|�td�|
�t�	|�
|
�|�
|
��qTqFdS)Nr,scopying lfs blob %s
)rr-r.r:rr�rOrrr_�join)r%r*ZsrcrepoZdstrepor"Z	srclfsvfsZ	dstlfsvfs�dirpath�dirsr�r8r'r'r(�upgradefinishdatamigrations��

r�spreservedrequirementsssupporteddestrequirementscCs ||�}d|jvr|�d�|S)Nr!)r"r$)r%r0Zreqsr'r'r(�upgraderequirements s

r�)NN)F)F)NZ
__future__rrMZmercurial.i18nrZmercurial.noderrrZmercurial.pycompatrrZ	mercurialr	r
rrr
rrrrrrrrZvfsmodrZmercurial.upgrade_utilsrZupgrade_actionsrZupgrade_engineZmercurial.interfacesrZmercurial.utilsrrZ
largefilesr�rr ZehZwrapfunctionr)r+r2r6rHrTrZZREVIDX_DEFAULT_FLAGSrdrfrhrjZbasefilectxrorprtryr�Zreadonlyvfsr�r�r�r�r�r�r�r�r�r�r�r�r�r�r'r'r'r(�<module>st@






�
)	



	



.

		






!
	





Youez - 2016 - github.com/yon3zu
LinuXploit