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/hgext/convert/bzr.pyo
�
1�3\c@@sddlmZddlZddlmZddlmZmZddlm	Z	ej
jddd	g�y_ddlZ
ddlZ
ddlZ
ddlZ
e
jZe
jZe
jZe
jZejWnek
r�nXdZde	jfd
��YZdS(i(tabsolute_importN(t_(tdemandimportterrori(tcommonsbzrlib.transactionssbzrlib.urlutilstElementPathtfiletsymlinkt
bzr_sourcecB@s�eZdZdd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�Zd�Zd
�ZRS(s>Reads Bazaar repositories by using the Bazaar Python librariescC@s tt|�j|||d|�tjjtjj|d��s_tjt	d�|��nyt
Wn&tk
r�tjt	d���nXtjj|�}|j
|�yt
jj|�j�|_Wn-tjk
r�tjt	d�|��nXi|_|jdd�|_dS(Ntrevss.bzrs)%s does not look like a Bazaar repositorys"Bazaar modules could not be loadedtconvertsbzr.saverev(tsuperRt__init__tostpathtexiststjoinRtNoRepoRtbzrdirt	NameErrortabspatht_checkrepotypetBzrDirtopentopen_repositoryt
sourcerepoterrorstNoRepositoryPresentt
_parentidst
configboolt_saverev(tselftuitrepotypeRR	((s7/usr/lib64/python2.7/site-packages/hgext/convert/bzr.pyR/s""!


	cC@s�y�tjj|�d}y|jdt�}|j}Wn/tjtjfk
rid}|j
�}nX|dk	r�|jjj|jjjkr�|j
jtd��nWn'tk
r�|j
jtd��nXdS(Nitrecommend_upgradesawarning: lightweight checkouts may cause conversion failures, try with a regular branch instead.
s(bzr source type could not be determined
(RRtopen_containingtopen_workingtreetFalsetbranchRt
NoWorkingTreetNotLocalUrltNonetopen_branchtroot_transporttbaseR twarnRt	Exceptiontnote(RRtdirttreeR&((s7/usr/lib64/python2.7/site-packages/hgext/convert/bzr.pyRFs

cC@s|jj�dS(sBefore the conversion begins, acquire a read lock
        for all the operations that might need it. Fortunately
        read locks don't block other reads or writes to the
        repository, so this shouldn't have any impact on the usage of
        the source repository.

        The alternative would be locking on every operation that
        needs locks (there are currently two: getting the file and
        getting the parent map) and releasing immediately after,
        but this approach can take even 40% longer.N(Rt	lock_read(R((s7/usr/lib64/python2.7/site-packages/hgext/convert/bzr.pytbeforeYscC@s|jj�dS(N(Rtunlock(R((s7/usr/lib64/python2.7/site-packages/hgext/convert/bzr.pytafterfscC@s|jjdt�S(Ntusing(Rt
find_branchestTrue(R((s7/usr/lib64/python2.7/site-packages/hgext/convert/bzr.pyt_bzrbranchesiscC@s|js7tg|j�D]}|j�^q�}n�d}x`|j�D]R}y,tjj|jd�}|j|�}Wnt	j
k
r�nX|j}qJW|dkr�tj
td�|jd��n|g}g|D]}|dkr�|^q�}|S(Nis%s is not a valid revisionsnull:(R	tsortedR9t
last_revisionR)trevisionspectRevisionSpectfrom_stringt
in_historyRtBzrErrortrev_idRtAbortR(RtbtheadstrevidR&trtinfoth((s7/usr/lib64/python2.7/site-packages/hgext/convert/bzr.pytgetheadsls 	.
	%c	C@s�|jj|�}|j|j|jp*d��}d}|dk	rW|j|�}n|tkrgdS|j||f}|dkr�|j	|�}|dkr�t
jtd�||f��n||fS|j
|�}|j�|fSdS(Nsutf-8Rs%s.%s symlink has no target(NN(Rt
revision_treetpath2idtdecodetencodingR)tkindtsupportedkindst
_modecachetget_symlink_targetRRBRtget_filetread(	RtnametrevtrevtreetfileidRNtmodettargettsio((s7/usr/lib64/python2.7/site-packages/hgext/convert/bzr.pytgetfile�s !
cC@s�|rtjtd���ni|_|jj|�|_|jj|�}|jj|d�}|j	|j|�\}}||t
�fS(Ns(convert from cvs does not support --fulli(RRBRRPRRJt_revtreeRtpopt_gettreechangestset(Rtversiontfullt	parentidstprevtreetfilestchanges((s7/usr/lib64/python2.7/site-packages/hgext/convert/bzr.pyt
getchanges�s	cC@s�|jj|�}|js7g}tjf|j|<n|j|j�}||j|<|j|jj	dd��}|dkr�d}nt
jd|dd|j|j
fd|j|j�d	|j|j�d
|d|d|j�S(
Nsbranch-nickudefaultttrunktdefaulttparentstdates%d %dtauthortdescR&RUtsaverev(Rtget_revisiont
parent_idstrevisiont
NULL_REVISIONRt
_filterghoststrecodet
propertiestgetRtcommitt	timestampttimezonet	committertmessageR(RR`RURiR&((s7/usr/lib64/python2.7/site-packages/hgext/convert/bzr.pyt	getcommit�s 	
	cC@spi}xc|j�D]U}|j�s)iS|jj�}x-|j�D]\}}|||j|�<qEWqW|S(N(R9t
supports_tagsttagstget_tag_dictt	iteritemsRs(RtbytetagsR&ttagdictRTRU((s7/usr/lib64/python2.7/site-packages/hgext/convert/bzr.pytgettags�scC@s�i|_|jj|�}|dk	r;|j||}n	tj}|jj|�}g|j||�dD]}|d^qm}|S(Ni(RPRRJR)RRpRqR^(RRUtitcurtreetparentidRcteRe((s7/usr/lib64/python2.7/site-packages/hgext/convert/bzr.pytgetchangedfiles�s		-c	C@s||j}g}i}t�}y
|j}Wntk
rG|j}nXt|j|�dd�dt�}x|D]�\}	}
}}}
}}}|
ddkss|
ddkr�qsn|ddkrI|ddkr�|j	|j
|
d�|f�n|ddkrsd|
krs|
d|
dk}|j|
d�}x|j|�D]�\}}|j
dkrnqMn|j
|
dd|�}||kr�qMn|j|�|s�qMn|j
|
dd|�}|j	||f�|j	||f�|jrd	p|j
d
krdpd}||j||f<|||<qMWqsqsn|
\}}|dk	rs|j
|�}n|dk	r�|j
|�}n|j|p�|�|dkr�|j	||f�qsn|r�||kr�|||<|j	||f�ng||fD]}|d^q\}}|r0d	pE|d
krBd
pEd}||j||f<|j	||f�qsW||fS(NtkeycS@s|ddp|ddS(Nii((tc((s7/usr/lib64/python2.7/site-packages/hgext/convert/bzr.pyt<lambda>�ttreverseiuit	directoryt/txRtsR�tl(NR�(t_revision_idR_troot_inventorytAttributeErrort	inventoryR:titer_changesR8R)tappendRsRKtiter_entriesRNtaddt
executableRP(RtcurrenttoriginRERetrenamestseenR�t
curchangesRWtpathstchanged_contentt	versionedtparentRTRNR�trenamingtsubdirtentrytfrompathttopathRXRR�((s7/usr/lib64/python2.7/site-packages/hgext/convert/bzr.pyR^�sr		


		" #

)cC@sA|jj|�}tg|D]}||kr|^q�}|S(sqFilters out ghost revisions which hg does not support, see
        <http://bazaar-vcs.org/GhostRevision>
        (Rtget_parent_mapttuple(Rtidst	parentmapR�Ri((s7/usr/lib64/python2.7/site-packages/hgext/convert/bzr.pyRr,s+N(t__name__t
__module__t__doc__R)RRR3R5R9RIR[RfR{R�R�R^Rr(((s7/usr/lib64/python2.7/site-packages/hgext/convert/bzr.pyR,s		
							
	
	_(RR(t
__future__RR
tmercurial.i18nRt	mercurialRRR�RtIGNOREStupdatet
bzrlib.bzrdirtbzrlibt
bzrlib.errorstbzrlib.revisiontbzrlib.revisionspecRRRpR<R=tImportErrorROtconverter_sourceR(((s7/usr/lib64/python2.7/site-packages/hgext/convert/bzr.pyt<module>
s,