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/hgext/convert/hg.pyo
�
1�3\c@@sddlmZddlZddlZddlZddlmZddlmZm	Z	m
Z
mZmZm
ZmZmZmZmZmZddlmZejZddlmZejZejZejd�Zd	ejfd
��YZ dej!fd��YZ"dS(
i(tabsolute_importN(t_(t	bookmarkstcontextterrortexchangethgtlocktmergetnodetphasestscmutiltutil(tdateutili(tcommons\b[0-9a-f]{12,40}\btmercurial_sinkcB@s�eZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�ZRS(cC@s�tjj||||�|jdd�|_|jdd�|_|jdd�|_d|_	t
jj|�rt
t
j|��dkryDtj|j|�|_|jj�s�ttd�|��nWq�tjk
r}|j�t|jd��q�Xn�yq|jtd�|�tj|j|dt�|_|jj�skttd�|��n|jj|�Wn4tjk
r�|j�ttd	�|��nXd|_d|_t |_!i|_"dS(
Ntconvertshg.usebranchnamesshg.clonebranchess
hg.tagsbranchis&%s is not a local Mercurial repositorys'initializing destination %s repository
tcreates)could not create hg repository %s as sink(#Rtconverter_sinkt__init__t
configbooltbranchnamest
clonebranchestconfigt
tagsbranchtNonet
lastbranchtostpathtisdirtlentlistdirRt
repositorytuitrepotlocaltNoRepoRRt	RepoErrort	tracebacktargststatustTruetcreatedtappendRtwlocktFalsetfilemapmodet
subrevmaps(tselfR!trepotypeRterr((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pyR1s:	-


			cC@s8|jjd�|jj�|_|jj�|_dS(Ns"run hg sink pre-conversion action
(R!tdebugR"R,R(R0((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pytbeforeQscC@sF|jjd�|jr)|jj�n|jrB|jj�ndS(Ns#run hg sink post-conversion action
(R!R3RtreleaseR,(R0((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pytafterVs
		cC@s|jjjd�S(Ntshamap(R"tvfstjoin(R0((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pyt
revmapfile]scC@s|jjjd�S(Nt	authormap(R"R8R9(R0((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pyt
authorfile`scC@s5|js
dS||jk}||_|s4d}ng|D]*}|d|dr\|dp_df^q;}|r�|dd}nd}tjj|j|�}|r|j�ytj|j|�|_	Wn/t
k
r�tj|j|dt�|_	nX|j�ni}x[|D]S}y|j	j
|d�Wqt
k
rj|j|dg�j|d�qXqW|r1|j�x�t|j��D]�\}}tjj|j|�}	tj|ji|	�}
|jjtd�||f�tj|j	|
g|D]}|
j
|�^q�q�W|j�ndS(NtdefaultiiRspulling from %s into %s
(RRRRR9R6RR R!R"t	ExceptionR)R4tlookupt
setdefaultR+tsortedt	iteritemstpeertnoteRRtpull(R0tbrancht	pbranchest	setbranchtbtpbrancht
branchpathtmissingstheadstpbranchpathtprepoth((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pyRHcsB			7

"


)
 'cC@s
t�}x�|j�D]�}|jdd�}t|�dkrq|jjtd�|�|jd|�qn|j|j	|d��}|s�|dt
jkr�|d}q�|jjtd�|�|jd|�qn|jd||df�qW|j�S(	Nt iisinvalid tag entry: "%s"
s%s
ismissing tag entry: "%s"
s%s %s
(
tstringiot
splitlinestsplitRR!twarnRtwritetgett	lookuprevtnodemodtnullhextgetvalue(R0tsourcetrevmaptdatatfptlinetstrevid((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pyt_rewritetags�s 	
cC@s�t�}x�|j�D]t}|jdd�}t|�dkrFqn|d}|d}|tjkrs|jj|�}|dkrt	|j
|jj|d��}||j|<t
d�}	t|�dkr|jjj|d�}
|jjj|
�r|j
j|	|�qqn|j|�}|sjt|�dkrp|j
jt
d�||f�qpqs|}n|jd	||f�qW|j�S(
NRQiiis
.hg/shamaps/no ".hgsubstate" updates will be made for "%s"
s.hgs!%s is missing from %s/.hg/shamap
s%s %s
(RRRSRTRRYRZR/RWRtmapfileR!R"twjoinRtwvfstreljointexistsRURVR[(R0R\R^R_R`RaRbtsubpathR]tmsgtsubtnewid((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pyt_rewritesubstate�s4	

	
	c	c@s�|j|�g}tj|j|||tttt�\}}}x�|j�D]r\}\}	}
}|j|�ryqOn|	dkr�tj	t
d�|||f��qO|	dkr�qOqO|VqOWdS(	sRCalculates the files from p2 that we need to pull in when merging p1
        and p2, given that the merge is coming from the given source.

        This prevents us from losing files that only exist in the target p2 and
        that don't come from the source repo (like if you're merging multiple
        repositories together).
        tmtdmtcdtdcseunable to convert merge commit since target parents do not merge cleanly (file %s, parents %s and %s)tkN(RnRoRpRq(tancestortmergemodtcalculateupdatesR"R)R-RBttargetfilebelongstosourceRtAbortR(R0R\tp1ctxtp2ctxtanctactionstdivergetrenametfiletactiontinfoRj((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pyt_calculatemergedfiles�s""c	"	@s%t����������fd�}	g}
x*|D]"}||
kr:|
j|�q:q:W|
}t|�}�jr�|dkr��jjjtj|d��d}
|d}nt|�dkr�|jtj	�nt|�dkr|jtj	�n|j
d�}|j}tj
t|�}xW|D]O}�j|�}�j|�}|dk	r5|j||t|� �}q5q5W|jj�}�jjjdd�}|r�||d<nx�dD]�}|j|�}|dkr�q�n|d	krtj|�}n�j|�}|dk	r�|d	krGtj|�}n|||<q�q�W�jrz|jrz|j|d<n|jr�|jr�|j|d
<nx�|rr|}|j
d�}�j|}d�|tj	kr��j|�nt��}|r)|j�j|�|j�j|�n�rxt|��x:�j�|��D] }�j|�|j|�qQWnt j!�j||f|||	|j"|j#|�}�jjj$ddt%j&|j'd��jj(d��~}tj�jj)|��}|j|kr]�j|}|j'�t%j*kr]t%j+�j|t%j*|j,�g�q]nWdQXd}|}q�W�jr!|dkr!�jj-j.d�}�jjjtj|��d} d|jk}!|!r!|j/|
|j0| ��r!�jj1t2d���jj3dt4�|Sn|S(Nc	@s �rY|�krY|�krY�jjd|�y�|SWqYtjk
rUdSXny�|}Wntk
r{dSX�j||�\}}|dkr�dS|dkr��j��|�}n|dkr��j�|�}nt	j
�j|||d|kd|k�j|��S(Nsreusing %s from p2
s.hgtagss.hgsubstatetltx(
R!R3RtManifestLookupErrorRtKeyErrortgetfileRcRmRt
memfilectxR"RW(R"tmemctxtftvR^tmode(tcopiestfilesRytp2filesR]R0R\(s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pyt
getfilectx�s&
iiiRs
hg.sourcenametconvert_sourceR\ttransplant_sourcet
rebase_sourcesintermediate-sourceRFtconvert_revisionR
s
new-commits(octopus merge fixup)
ttclosesfiltering out empty revision
tforce(R\R�R�sintermediate-source(5tdictR+RR.R"t	changelogtreadRYtbintnullidtpoptdesctretfindalltsha1reRXRWRtreplacetextratcopyR!RthexRRFtrevtsaverevtsettupdateR�taddRR�tauthortdatet	setconfigR
t
phasenamestphasettransactiont	commitctxtdrafttregisternewR	tmanifestlogt
getstoragetcmptrevisionR(RtrollbackR)("R0R�R�tparentstcommitR\R]tfulltcleanp2R�tpltptnparentstm1nodetparenttp2ttexttsha1stsha1toldrevtnewrevR�t
sourcenametlabelR	tp1RxtfilesetR~tctxttrtmantmnodetclosed((R�R�RyR�R]R0R\s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pyt	putcommit�s�!
&
	
#

	



"#c	@s�|jj|jdt�}|p'tj}t�}xw|jj�j�D]`\}}xQ|D]I}d|j|kr\|j	t|j|dj
�jt���q\q\WqIWtt
|��}tg|D]}d|||f^q��}||kr�dSt�}	t�}
xO|D]G}|j�jdd�}t|�dkrKqn|	j|d�qWxh|D]`}|j�jdd�}t|�dkr�qgn|d|	krg|
j|dj��qgqgW|
s�dSdj|���fd�}
|jjtd	��d
ttjtj���}i|jd6}tj|j|dfddg|
d
||�}|jj|�}tj|�tj|�fS(Nt
ignoremissings.hgtagss%s %s
RQiiR�c@stj|||�ttd�S(N(RR�R-R(R"R�R�(R^(s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pyR��ssupdating tags
s%d 0RFsupdate tagssconvert-repo(NN(NN(R"t	branchtipRR)RYR�R�t	branchmapRBR�R^RSRAtlistRtstripRTRR�R9R!R(RtintttimetmktimetgmtimeRR�R�R�(R0ttagst	tagparenttoldlinesRFRMRPttagtnewlinestoldtagstnewtagsR`RaR�R�R�R�R	((R^s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pytputtagsrsJ	"
2-		

	cC@s
||_dS(N(R.(R0tactive((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pytsetfilemapmode�scC@s�t|�sdSd}}}z�|jj�}|jj�}|jjd�}|jjtd��|jj	}g|D]}|t
j||�f^qz}|j|j||�|j
�Wdtj|||�XdS(Ntbookmarksupdating bookmarks
(RRR"R,RR�R!R(Rt
_bookmarksRYR�tapplychangesR�tlockmodR5(R0tupdatedbookmarkR,RR�t	destmarksR�tchanges((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pytputbookmarks�s)cC@s||jkp|jS(N(R"R(R0R�((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pythascommitfrommap�scC@sA||jkr4|jr4tjtd�|��n||jkS(Nserevision %s not found in destination repository (lookups with clonebranches=true are not implemented)(R"RRRwR(R0R�((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pythascommitforsplicemap�s
(t__name__t
__module__RR4R6R:R<RHRcRmR�R�R�R�R�R�R�(((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pyR0s	 					*		'	&	�	/			tmercurial_sourcecB@s�eZdd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�Zd�Zd
�Zd�Zd�Zd�Zd�Zdd�ZRS(c
C@s�tjj|||||�|jdd�|_t�|_|jdd�|_y7tj	|j
|�|_|jj�s�t
j�nWn4t
jk
r�|j�ttd�|��nXd|_d|_d|_d|_|jdd�}|jdd�}|dkr%|dk	r�y|jj|�}Wn-t
jk
ret
jtd�|��nX|jjj|�}id|6}x9|jjj|g�D]}	d||jjj|	�<q�W|j|_nt j!|_|rg|D]}	|jj|	�^q�|_"q�|jj#�|_"n�|s7|dk	rOt
jtd	���nt�}
t�}x]t$j%|j|g�D]C}	|j|	}|
j&|j��|j'd
�|j(�D��qzW|
j|_|
||_"dS(NRshg.ignoreerrorss
hg.saverevs&%s is not a local Mercurial repositoryshg.startrevshg.revss %s is not a valid start revisionis4hg.revs cannot be combined with hg.startrev or --revcs@s|]}|j�VqdS(N(R	(t.0R�((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pys	<genexpr>�s(NN()Rtconverter_sourceRRtignoreerrorsR�tignoredR�RR R!R"R#RR%R&R$RRtlastrevtlastctxt
_changescachet	convertfpRR?RwR�R�tdescendantsR	t__contains__tkeepRtalwayst_headsRMRtrevrangeR�R�R�(
R0R!R1Rtrevst	startnodethgrevststartrevtchildrentrtnodesR�R�((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pyR�sV
				
+		
!cC@s2|j|kr+|j||_||_n|jS(N(R�R"R�(R0R�((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pyt
_changectx�scC@s8g|j�D]'}|r
|j|j��r
|^q
S(N(R�R�R	(R0R�R�((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pyt_parents�scC@s2g|jD]$}|j|�r
tj|�^q
S(N(R�R�RYR�(R0RP((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pytgetheads�scC@sIy-|j|�|}|j�|j�fSWntjk
rDdSXdS(N(NN(RR^tflagsRtLookupErrorR(R0tnameR�tfctx((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pyR�s
c
C@s�gg}}|j}|j}|j�j|j��}xO|j�D]A\}\\}	}
\}}|dkr~||�qG||�qGW||fS(N(R+tmanifesttdiffRBR(
R0tctx1tctx2tmaRtmaappendtrappendtdR�tnode1tflag1tnode2tflag2((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pyt
_changedfiless
		+
cC@s{|j|�}|j|�}|s+|r>|j�}}n|r�|jd|krm|jd\}}n|j|d|�\}}|s�||}n|}n|j|||�}	t�}
t|�dkr6|dj�j|j�dt	�}x9|j
�D](\}}
|
dkr|
j|�qqWng|D]!}||j
kr=||f^q=}|j�||	|
fS(Niiitclean(RRR
R�Rt
_getcopiesR�RRR)RBRR�R�tsort(R0R�R�R�R�R�t	copyfilesRRR�R�RR�tvalueR�((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pyt
getchangess*

		%.
c@s�i}x�|D]�}||jkr(q
ny`|j|�j�\�}�|jkr[w
nt�fd�|D��s}w
n�||<Wq
tk
r�q
tjk
r�}|js��n|jj|�|j	j
td�|�q
Xq
W|S(Nc3@s|]}�|kVqdS(N((R�R�(t
copysource(s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pys	<genexpr>8ss
ignoring: %s
(R�tfilectxtrenamedtanyt	TypeErrorRR
R�R�R!RUR(R0R�R�R�R�Rt	_copynodete((R s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pyR.s&

	"cC@s�|j|�}|j|�}g|D]}|j�^q%}g|j�D]$}|rJ||krJ|j�^qJ}|}tjd|j�dtj|j	�d�d|j
�d|d|d|d|j�d	|j�d
|j
�d|jd|j��S(
NR�R�s%Y-%m-%d %H:%M:%S %1%2R�R�R�t
optparentsRFR�tsortkeyR�R�(RRR�R�RR�tuserR
tdatestrR�tdescriptionRFR�R�R�R�(R0R�R�RR�R�R'tcrev((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pyt	getcommitDs"7		cC@sg|jj�D](}|jj|d�dkr|^q}tg|D]0\}}|j|�rH|tj|�f^qH�S(Nitglobal(R"ttagslistttagtypeR�R�RYR�(R0ttR�RR	((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pytgettagsXs(c	C@s�|j|�}|j|�}|rS|dkrSd}|j�j�g}}n(|p\d}|j|||�\}}g||fD].}g|D]}||jkr�|^q�^q�\}}|dkr�|||ff|_n||S(Ni(RRRR
tkeysRR�R�(	R0R�tiR�R�RRR�R�((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pytgetchangedfiles_sGcC@sg|jdkr3t|jjjd�d�|_n|jjtjd||f��|jj	�dS(NR7tabs%s %s
(
R�RtopenR"R8R9RVRttonativeeoltflush(R0R�tdestrev((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pyt	convertedos$#cC@s|jjd�dS(Ns$run hg source pre-conversion action
(R!R3(R0((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pyR4uscC@s|jjd�dS(Ns%run hg source post-conversion action
(R!R3(R0((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pyR6xscC@stS(N(R)(R0((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pythasnativeorder{scC@stS(N(R)(R0((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pythasnativeclose~scC@sBytj|jj|��SWntjtjfk
r=dSXdS(N(RYR�R"R?RR%R
R(R0R�((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pyRX�scC@stj|j�S(N(Rt
listbookmarksR"(R0((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pytgetbookmarks�st	splicemapcC@s|j||�dS(s- Mercurial, revision string is a 40 byte hex N(tcheckhexformat(R0trevstrtmapname((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pytcheckrevformat�sN(R�R�RRRRRR�RRRR-R2R5R;R4R6R<R=RXR?RD(((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pyR��s&4																	(#t
__future__RRR�R�tmercurial.i18nRt	mercurialRRRRRRR�RRtR	RYR
RRtmercurial.utilsR
RRR�RRdR$tcompileR�RRR�R�(((s6/usr/lib64/python2.7/site-packages/hgext/convert/hg.pyt<module>sL
			��