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: //proc/self/root/lib64/python2.7/site-packages/mercurial/subrepoutil.pyc
�
1�3\c@@s�ddlmZddlZddlZddlZddlZddlmZddlm	Z	m
Z
mZmZm
Z
mZddlmZdZd	�Zd
�Zdd�Zed�Zd
�Zd�Zeed�Zd�ZdS(i(tabsolute_importNi(t_(tconfigterrort	filemergetpathutiltphasestutil(t
stringutilttemptyc@stj���j��dd�����fd��d�krR�d�nx?�jd�D].\}}�jd||�jd|��qbWi}d�kr�y�x�t�dj�j��D]�\}}|j	�}|s�q�ny|j
dd�\}}Wn=tk
rEtj
td��jd�|df��nX|||<q�WWq�tk
r�}|jtjkr��q�q�Xn�fd�}	i}
xp�d	j�D]^\}}d
}|jd�r"d|kr�tj
td
���n|j
dd�\}}|d}|j	�}ntj|�j�s�t�dt�}|r�tj|�}tj|jppd	|�|_tj|j�|_t|�}
|	|
�}||
kr�|	|�}q�|}q�n|	|�}|j�|j |d	�|f|
tj!|�<q�W|
S(s�return a state dict, mapping subrepo paths configured in .hgsub
    to tuple: (source from .hgsub, revision from .hgsubstate, kind
    (key in types dict))
    c@s�|�kr�y�|j�}WnLtk
rn}|jtjkrJ�n�jtd��j|��dSX�j||||��n"tj	td��j|���dS(Ns*warning: subrepo spec file '%s' not found
s subrepo spec file '%s' not found(
tdatatIOErrorterrnotENOENTtwarnRtpathtotparseRtAbort(tftsectionstremapRterr(tctxtptreadtrepotui(s;/usr/lib64/python2.7/site-packages/mercurial/subrepoutil.pyR%ss.hgsubtsubpathss.hgsubstatet is8invalid subrepository revision specifier in '%s' line %dc@s�x��jd�D]�\}}tj|�}tjdd|�}ytj|||d�}Wqtjk
r�}tjtd��jd|�tj	|�f��qXqW|S(NRs\\\\([0-9]+)s\\\1is#bad subrepository pattern in %s: %s(
titemsRt	escapestrtretsubRRRtsourcetforcebytestr(tsrctpatterntreplte(R(s;/usr/lib64/python2.7/site-packages/mercurial/subrepoutil.pyRLsR	thgt[t]s!missing ] in subrepository sourcetabortN("RRtNonetconfigitemstsettconfigsourcet	enumerateRt
splitlinestlstriptsplitt
ValueErrorRRRRRR
RRt
startswithRturltisabst
_abssourcetFalset	posixpathtjointpathtnormpathtbyteststriptgettpconvert(RRR<R$trevtitltrevisionRRtstatetkindtparenttjoinedtremapped((RRRRRs;/usr/lib64/python2.7/site-packages/mercurial/subrepoutil.pyRFs^!
&)
!

2cC@sigt|�D]6}||dtdkr
d||d|f^q
}|jddj|�d�dS(s=rewrite .hgsubstate in (outer) repo with these subrepo statesis%s %s
s.hgsubstateR	N(tsortedt	nullstatetwwriteR;(RRFtstlines((s;/usr/lib64/python2.7/site-packages/mercurial/subrepoutil.pyt
writestate{s6c@s||kr|j�}n|j}|j}|j}i}	�jjd|||f�d�fd�}
tj|�}x�t|j��D]x\}}
d}|j	|t
�}|
}|j|�j�r�|
d|
ddf}n||kr�|}n|j
�}||d<||krk||}||ks@||krP|
|	|<q�q||kr�|
|d|�|j|�j	||�||	|<q|d|dkr|
d|d	<|d|d
<�jjtd�|d�rh|
|d|�|j|�j	||�||	|<qhq|d|dkrd|
|d
|�|j|�j	||�||	|<q|
|d�|j|�}|j|
d�|d<|j|d�|d<�jjtd�|d�}|dkr|j|�j|�|
|	|<|
|d|�q|dkr5|
|	|<|
|d|
�q|j|�j	||�||	|<|
|d|�q�||kr�|
|d�|j|�j�q�|t
kr�|
|d�|
|	|<q�q��jjtd�|d�r�|
|d�|j|�j�q�q�Wx�t|j��D]�\}}d}||kr@qq||kr|
|d|�|j|�j	|�||	|<q|||kr|j
�}||d<�jjtd�|d�dkr|
|d|�|j|�j	|�||	|<qqqWt�|	�|	S(s{delegated from merge.applyupdates: merging of .hgsubstate file
    in working context, merging context and ancestor contextssubrepo merge %s %s %s
R	c@s4|rd|}n�jjd|||f�dS(Ns%s:%s:%ss  subrepo %s: %s %s
(Rtdebug(RNtmsgtr(R(s;/usr/lib64/python2.7/site-packages/mercurial/subrepoutil.pyRQ�s
iit+RNsother changed, gettlotros~ subrepository sources for %(s)s differ
use (l)ocal%(l)s source (%(lo)s) or (r)emote%(o)s source (%(ro)s)?$$ &Local $$ &Remotesprompt changed, getsother side changed, getsboth sides changedtsltsrs� subrepository %(s)s diverged (local revision: %(sl)s, remote revision: %(sr)s)
(M)erge, keep (l)ocal%(l)s or keep (r)emote%(o)s?$$ &Merge $$ &Local $$ &Remotes
merge withskeep local subrepo revisionsget remote subrepo revisionsremote removed, removeslocal added, keepsz local%(l)s changed subrepository %(s)s which remote%(o)s removed
use (c)hanged version or (d)elete?$$ &Changed $$ &Deletes
prompt removesremote added, getsz remote%(o)s changed subrepository %(s)s which local%(l)s removed
use (c)hanged version or (d)elete?$$ &Changed $$ &Deletesprompt recreateN(tp1tsubstateRRQRt
partextrasRKt	iteritemsR,R@RLR!tdirtytcopytpromptchoiceRtshortidtmergetremoveRRP(Rtwctxtmctxtactxt	overwritetlabelsts1ts2tsatsmRQt
promptssrcRNRDtpromptstatldRStsrepotoption((Rs;/usr/lib64/python2.7/site-packages/mercurial/subrepoutil.pytsubmerge�s�				



		


		






		



		
cC@s�g}t�}|jj�}d|kr}x<|j|j|jfD]"}d|krC|jd�qCqCW|j�j}	x:t|j	��D]&}
||
�s�|
|	kr�|	|
||
<q�n|s�t
jtd�|
��q�n|j
|
�jt�}|rM|jdd�s0t
j|dtd���n|j|
�|j|
�q�|j
|
�j�}||
d|||
d	f||
<|	j|
d
�d
|kr�|j|
�q�q�Wxe|j�D]W}
g|
jD]}
|
|kr�|
^q�}|g|D]}
||
�r�|
^q�7}q�W|r�|d�rdd|j�|j�krdt
jtd���n|jjdd�q�nQd|jkr�d|kr�d|j|j|jkr�|jjdd�q�n|||fS(syCalculate .hgsubstate changes that should be applied before committing

    Returns (subs, commitsubs, newstate) where
    - subs: changed subrepos (including dirty ones)
    - commitsubs: dirty subrepos which the caller needs to commit recursively
    - newstate: new state dict which the caller must write to .hgsubstate

    This also updates the given status argument.
    s.hgsubs.hgsubstates#commit with new subrepo %s excludedRtcommitsubreposthints#use --subrepos for recursive commitiiis$can't commit subrepos without .hgsubN(NNN(R.RZR^tmodifiedtaddedtremovedRbRYRKtkeysRRRR!tdirtyreasontTruet
configbooltappendtaddt	basestateR@R,tparentstinsert(RRctstatustmatchtforcetsubst
commitsubstnewstatetctoldstateRNRytbsRRS((s;/usr/lib64/python2.7/site-packages/mercurial/subrepoutil.pyt	precommit�sR
	
#(-

cC@sE|}xtj|d�r'|j}q	W|jttj|j��S(s9return path to this (sub)repo as seen from outermost repot
_subparent(RtsafehasattrR�troottlenRtnormasprefix(RRH((s;/usr/lib64/python2.7/site-packages/mercurial/subrepoutil.pytreporelpath5s
cC@s|jS(s7return path to this subrepo as seen from outermost repo(t_relpath(R!((s;/usr/lib64/python2.7/site-packages/mercurial/subrepoutil.pyt
subrelpath<scC@s�tj|d�r�tj|j�}|j�r:t|�Stj|j�|_t	|j
|dt�}|r�tjtj|��}tj
|jp�d|j�|_tj|j�|_t|�Sn�d}tj|d�r�|j}n|r|jjdd�r|jjdd�}nL|jjdd�rL|jjdd�}n|j�rktjj|j�S|r�tj|�r�t|�dks�|dd	!d
kr�tjj|�}q�n|S|r�tjtd���ndS(
s�return pull/push path of repo - either based on parent repo .hgsub info
    or on the top repo config. Abort or return None if no source found.R�R+R	t_subtoppathtpathssdefault-pushtdefaultiis\/s(default path for subrepository not foundN(RR�R6t
_subsourceR7R>R:R=R<R8R�R9RAR;R,R�RRtsharedtostdirnamet
sharedpaththasdriveletterR�tabspathRRR(RtpushR+R"RHR<((s;/usr/lib64/python2.7/site-packages/mercurial/subrepoutil.pyR8@s6
!
%c
C@sStj|�}t|dd�}|s+|S|jdd�}|dkretjtd�|��n|dkru|Stj}d}xUt	|�D]G}|j
|�}|j||d�}	||	kr�|	}|}q�q�W||krO|dkr'tjtd	�tj|tj||f��n|j
td
�tj||f�|S|S(NRZRt
checksubrepostignoretfollowR+s.invalid phases.checksubrepos configuration: %sis=can't commit in %s phase conflicting %s from subrepository %ssAwarning: changes are committed in %s phase from subrepository %s
(R�R�R+(RtnewcommitphasetgetattrR,RRRRtpublicRKR!tphaset
phasenamesR(
RRtcommitphaseRZtchecktmaxphasetmaxsubRNR!tsubphase((s;/usr/lib64/python2.7/site-packages/mercurial/subrepoutil.pyR�os6
	

(R	R	R
(t
__future__RR
R�R:R ti18nRR	RRRRRRtutilsRRLRFRPR,RrR9R�R�R�RzR8R�(((s;/usr/lib64/python2.7/site-packages/mercurial/subrepoutil.pyt<module>s .	]	sA		/