HEX
Server: Apache
System: Linux p102.lithium.hosting 4.18.0-553.141.1.el8_10.x86_64 #1 SMP Fri Jul 10 17:48:02 UTC 2026 x86_64
User: bvzmoamr (9955)
PHP: 8.1.34
Disabled: syslog
Upload Files
File: //usr/lib64/python2.7/site-packages/mercurial/exchangev2.pyc
�
1�3\c@@s�ddlmZddlZddlZddlmZddlmZmZddl	m
Z
mZmZm
Z
mZmZmZmZd�Zd�Zd	�Zed
�Zd�Zd�Zd
�Zd�Zd�Zed�ZdS(i(tabsolute_importNi(t_(tnullidtshort(t	bookmarksterrortmdifft
narrowspectphasestpycompatt
repositorytsetdiscoveryc@s�|j}|j}t|�}|rZ|jd��"t||�|jdt�WdQXn|jj�}tj	|j
|jp�dh|j�}|js�|jr�i}|jr�t
|j�|d<n|jr�t
|j�|d<q�nd}t|||jd|j�\}}}	|jp"|	}
t||||||
�}|drjtj||tj|d�nx\tjD]Q}|d	kst|d
|r�qtntj||tjj|�|d
|�qtWtj|j||d|j�|jd|j�t||||d
�}
|j r~t!��|j"j#}x7|j$d|
|j d�D]}�j%||��qOW�fd�}n	d�}|rg}g}i}x�|D]^}||}|j#�}||�s�q�n|j&�}|j'|�|j'|�|||<q�Wn=g|dD]}||�r|^q}|
d}|
d}t(|||�}t)|||||||dt*|j ��dS(s#Pull using wire protocol version 2.tclonetclearfilecacheNspath:.tincludetexcludetabortwhenunrelatedtaddedtsecrettnodesbyphaseRtexplicitt
manifestnodessancestors(%ln, %d)ic@s
|�kS(N((tn(trelevantcsetnodes(s:/usr/lib64/python2.7/site-packages/mercurial/exchangev2.pyt<lambda>itcS@stS(N(tTrue(R((s:/usr/lib64/python2.7/site-packages/mercurial/exchangev2.pyRlRtlinkrevstshallow(+trepotremotet_checkuserawstorefiledatattransactiont_fetchrawstorefilest
invalidateRt	trmanagerRtmatchtroottincludepatstexcludepatstsortedtNonet_pullchangesetdiscoverytheadstforcet_fetchchangesetsRtregisternewtdraftt
phasenamestadvanceboundarytindexRtupdatefromremotetuiturltgettransactiontexplicitbookmarkst_fetchmanifeststdepthtsett	changelogtnodetrevstaddtmanifestnodetappendt_derivefilesfrommanifestst_fetchfilesfromcsetstbool(tpullopRRtusingrawchangelogandmanifestttrt
narrowmatchert
pathfiltertcommontfetchtremoteheadst	pullheadstcsetrestphasetmanrestclnodetrevtcsetrelevantfiltert
csetsforfilestmnodesforfilestmanifestlinkrevstctxR<tmnodeRtfnodes((Rs:/usr/lib64/python2.7/site-packages/mercurial/exchangev2.pytpullsx		
		$
 
			



)

cC@s]|j}|j}d|jdkr)tS|js6tSt|�rFtSd|jkrYtStS(sFCheck whether we should use rawstorefiledata command to retrieve data.trawstorefiledatatcommandstrevlogv1(RRt
apidescriptortFalsetstreamclonerequestedtlentrequirementsR(RDRR((s:/usr/lib64/python2.7/site-packages/mercurial/exchangev2.pyR�s			cC@s^|j��L}|jdiddgd6�j�}t|�}|jjtd�d|ddtd	��}|��|jd
�x�trMyt|�}Wnt	k
r�PnXx6dD].}||kr�t
jtd�|��q�q�W|ddkr|j}nt
jtd�|d��|d
}	|j
|dd���}
x�tryt|�}Wnt	k
rrPnX|	t|�8}	|	d
kr�t
jtd�|d
��n|jdt|��|
j|�y|jr�PnWqHtk
rt
jtd���qHXqHWWdQX|	r�t
jtd�|d
|d
|	f��q�q�WWdQXWdQXdS(NRZR;tmanifestlogtfilesRttotalt	totalsizetunittbytesitlocationtpathtsizes remote file data missing key: %ststores&invalid location for raw file data: %stwbsFreceived invalid number of bytes for file data; expected %d, got extratsteps:did not receive indefinite length bytestring for file datasAreceived invalid number of bytes forfile data; expected %d got %d(RhRiRj(tcommandexecutortcallcommandtresulttnextR4tmakeprogressRtupdateRt
StopIterationRtAborttsvfstopenR`t	incrementtwritetislasttAttributeError(RRtetobjstoveralltprogresstfilemetatktvfstbytesremainingtfhtchunk((s:/usr/lib64/python2.7/site-packages/mercurial/exchangev2.pyR!�sZ
	


	
	
	
	c@s�|r>|jj�t�fd�|D��r>|t|fSntj|j||d|�\}}}t|�}t|�}|r�|r�|j�jj	�|�fd�|D�O}t|�j
|�r�g}q�n|jt�|||fS(s-Determine which changesets need to be pulled.c3@s|]}�|�VqdS(N((t.0thead(t	knownnode(s:/usr/lib64/python2.7/site-packages/mercurial/exchangev2.pys	<genexpr>�sRc@s"h|]}|�kr|�qS(((R�R�(tnodemap(s:/usr/lib64/python2.7/site-packages/mercurial/exchangev2.pys	<setcomp>�s	(
R;thasnodetallR^RtfindcommonheadsR4R:t
unfilteredR�tissubsettdiscardR(RRR+RRIRJRK((R�R�s:/usr/lib64/python2.7/site-packages/mercurial/exchangev2.pyR*�s!
cC@s|j��m}|jdiidd6t|�d6t|�d6gd6ddd	d
hd6�j�}t|||�SWdQXdS(Nt
changesetdatatchangesetdagrangettypetrootsR+t	revisionsRtparentsRNtrevisiontfields(RnRoR(Rpt_processchangesetdata(RRFRRIRJRKR|R}((s:/usr/lib64/python2.7/site-packages/mercurial/exchangev2.pyR-s
c	@s,�jddttj|j���j�}|j��j|�t��}�j	j
td�dtd�d|jd���i���fd�}��fd	�}d
�t
jD��i����fd�}�j|�|tj|�d|�}�j�i|d
6�d6�d6�d6S(Ntprechangegrouptthrowt
changesetsRftchunksRdt
totalitemsc@s$�jjdt|��t��S(Nsadd changeset %s
(R4tdebugRR`(R<(tclR(s:/usr/lib64/python2.7/site-packages/mercurial/exchangev2.pytlinkrev.sc@s3�j�|j|�}|j�|j|�<dS(N(RxtchangelogrevisiontmanifestRQ(R�R<R�(RR(s:/usr/lib64/python2.7/site-packages/mercurial/exchangev2.pytonchangeset3s
cS@si|]}t�|�qS((R:(R�RN((s:/usr/lib64/python2.7/site-packages/mercurial/exchangev2.pys
<dictcomp><s	c	3@sx��D]�}|d}d|kr;�|dj|�nx$|jdg�D]}|�|<qNWi}x0|jdg�D]\}}t��||<q{Wd|kr�qn|d}||dd|dd|dttjt|��|dfVqWdS(	NR<RNRtfieldsfollowingR�R�ii(R>tgetRqRRttrivialdiffheaderR`(tcsetR<tmarktextrafieldstfieldRjtdata(RR}tremotebookmarks(s:/usr/lib64/python2.7/site-packages/mercurial/exchangev2.pyt
iterrevisionsDs&


t
addrevisioncbRRRR(thookRR	t	strkwargsthookargsR�R;tdelayupdateRqR4RrRR�RR0taddgrouptweakreftproxytcomplete(	RRFR}turepotmetaR�R�R�R((R�RRR}RR�Rs:/usr/lib64/python2.7/site-packages/mercurial/exchangev2.pyR�s.	
	%	
cC@s|jjd�}g}i}t�}x~t|j��D]j\}}	|	|krXq:ny|j|	�Wn+tjk
r�|j|	�|||	<nX|j	|	�q:Wd�}
|j
jtd�dtd�dt
|��}|jdd}|jd	d
�}
g}x�tjdt
|�|
�D]�}g||||
!D]}	|	^q>}|s\q&n|j��|}|jdidd6|d
6ddhd6td6�j�}t|�|j|j|
||�|jtj|���WdQXq&W|j�i|d6|d6S(NRc
s@s�x�|D]�}|d}i}x0|jdg�D]\}}t|�||<q0Wd|krs|d}|d}n;d|krt}|d}	tjt|	��|	}nq||dd|dd|||dfV|j�qWdS(	NR<R�tdeltat
deltabasenodeR�R�ii(R�RqRRR�R`Rx(
R}RR�R<R�R�RjtbasenodeR�R�((s:/usr/lib64/python2.7/site-packages/mercurial/exchangev2.pyR��s*




t	manifestsRfR�RdR[tmanifestdatatrecommendedbatchsizei'ittreetnodesR�R�R�thaveparentsRR(Rbt
getstorageR:R(t	iteritemsRQRtLookupErrorR@R>R4RrRR`R]R�R	txrangeRnRoRRpRqtextendR�t__getitem__R�R�R�(RRFRRtrootmanifestt
fetchnodesRtseentclrevR<R�Rtcommandmetat	batchsizeRtitbatchR|R}((s:/usr/lib64/python2.7/site-packages/mercurial/exchangev2.pyR8usL	
	%!"$


c	C@s�|j}tjt�}|jjtd�dt|��}|�~xv|D]n}|jd|�}|j	�}x=|j
�D]/\}	}
||	�r{||	j|
|�q{q{W|j�qJWWdQX|S(s�Determine what file nodes are relevant given a set of manifest nodes.

    Returns a dict mapping file paths to dicts of file node to first manifest
    node.
    sscanning manifestsRdRN(
RbtcollectionstdefaultdicttdictR4RrRR`R�treadfasttitemst
setdefaultRx(RtmatcherRtmlRXRR?tmtmdRitfnode((s:/usr/lib64/python2.7/site-packages/mercurial/exchangev2.pyRA�s		
c
@s�d�}|jjtd�dtd�dtd�|j�D���}d}gt|j��D]}|^qb}	xZtjdt	|	�|�D]=}
g|	|
|
|!D]}|^q�}|s�q�n|j
���}g}
i}x{|D]s\}}|
j||jd	i|d
6t|�d6dd
hd6t
d6�f��fd�|j�D�||<q�Wxe|
D]]\}}|j�}t|�|j|�}|j|||�||jtj|��qfWWdQXq�WdS(s-Fetch file data from explicit file revisions.c
s@s�x�|D]�}|d}i}x0|jdg�D]\}}t|�||<q0Wd|krs|d}|d}n;d|krt}|d}	tjt|	��|	}nq||dd|dd|||dfV|j�qWdS(	NR<R�R�R�R�R�ii(R�RqRRR�R`Rx(
R}RtfilerevisionR<R�R�RjR�R�R�((s:/usr/lib64/python2.7/site-packages/mercurial/exchangev2.pyR�s*




RcRfR�Rdcs@s|]}t|�VqdS(N(R`(R�tv((s:/usr/lib64/python2.7/site-packages/mercurial/exchangev2.pys	<genexpr>$si'itfiledataRiR�R�R�R�R�c@s#i|]\}}�||�qS(((R�R<R?(R(s:/usr/lib64/python2.7/site-packages/mercurial/exchangev2.pys
<dictcomp><s	N(R4RrRtsumt
itervaluesR(R�R	R�R`RnR@RoRR�RpRqtfileR�R�R�R�(RRFRRXRR�RR�txt
fnodeslistR�R�R|tfst
locallinkrevsRiR�tfR}Rk((Rs:/usr/lib64/python2.7/site-packages/mercurial/exchangev2.pyt_fetchfiless:	 	%"$



c@s2d�}|jjtd�dtd�dtd�|j�D���}	|jdd}
|
jd	d
�}tj|j	k}ddh}
|j
j�|p�|}|s�|
jd
�nxrt
jdt|�|�D]U}g||||!D]}|^q�}|sq�n|j��}iidd6|d6gd6|
d6|d6}|rY||d<n|jd|�j�}t|�}x�t
j|d�D]�}t|�}|d}|j|�}�fd�||j�D����fd�}|j|||d|	�|tj|�d|�q�WWdQXq�WdS(s2Fetch file data from explicit changeset revisions.cs@sx|rt|�}|d}i}x0|jdg�D]\}}t|�||<q8Wd|kr{|d}|d}	n;d|krt}|d}
tjt|
��|
}	nqd|kr�|d}n|}||dd|dd	|||	dfV|j�|d	8}qWdS(
NR<R�R�R�R�tlinknodeR�ii(RqR�RRR�R`Rx(R}t	remainingRR�R<R�R�RjR�R�R�R�((s:/usr/lib64/python2.7/site-packages/mercurial/exchangev2.pyR�Os4	





RcRfR�Rdcs@s|]}t|�VqdS(N(R`(R�R�((s:/usr/lib64/python2.7/site-packages/mercurial/exchangev2.pys	<genexpr>ysR[t	filesdataR�iP�R�R�R�itchangesetexplicitR�R�R�R�R�RHt
totalpathsRic@s#i|]\}}�||�qS(((R�R�RW(tmanlinkrevs(s:/usr/lib64/python2.7/site-packages/mercurial/exchangev2.pys
<dictcomp>�s	c@s"|�kr�|S�|�SdS(N((R<(R�R(s:/usr/lib64/python2.7/site-packages/mercurial/exchangev2.pyt
getlinkrev�sR�tmaybemissingparentsN(R4RrRR�R�R]R�R
t!REPO_FEATURE_SHALLOW_FILE_STORAGEtfeaturesR;RQR>R	R�R`RnRoRpRqR�R�R�R�R�(RRFRRHRXtcsetsR�RR�RR�R�tshallowfilesR�R�R�R�R�R|targsR}R~theaderRiRkR�((R�RR�s:/usr/lib64/python2.7/site-packages/mercurial/exchangev2.pyRBKsN	(	
"$


(t
__future__RR�R�ti18nRR<RRRRRRRRR	R
RRYRR!RR*R-R�R8RAR�R^RB(((s:/usr/lib64/python2.7/site-packages/mercurial/exchangev2.pyt<module>s:	p		B		Z	k	 	L