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/subrepo.pyo
�
1�3\c@@sJddlmZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ddlZddlZ
ddlmZddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZ ddl!m"Z"m#Z#m$Z$e%a&ej'Z'ej(Z(ej)Z)ej*Z*d�Z+d�Z,d	ej-fd
��YZ.d�Z/d�Z0d
�Z1d�Z2ie3d6e4d6e4d6Z5d�Z6e4e3d�Z7d�Z8de9fd��YZ:de:fd��YZ;de:fd��YZ<de:fd��YZ=ie;d6e<d6e=d6Z>dS(i(tabsolute_importNi(t_(tcmdutiltencodingterrortexchanget
logcmdutiltmatchtnodetpathutiltphasestpycompattscmutiltsubrepoutiltutiltvfs(tdateutiltprocutilt
stringutilcC@sUtjtj|��}tj|�}|jsQtjtjj|j��}n|S(sU
    get a path or url and if it is a path expand it and return an absolute path
    (	Rturllocalpatht
expandpathturltschemetnormpathtostpathtabspath(Rtexpandedpathtu((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt_expandedabspath3s
	!cC@s)tjtjt|��j��dd!S(sEget a unique filename for the store hash cache of a remote repositoryii(Rthexthashlibtsha1Rtdigest(t
remotepath((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt_getstorehashcachename=stSubrepoAbortcB@seZdZd�ZRS(sEException class used to avoid handling a subrepo error more than oncecO@sD|jdd�|_|jdd�|_tjj|||�dS(Ntsubrepotcause(tpoptNoneR%R&RtAbortt__init__(tselftargstkw((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR*Cs(t__name__t
__module__t__doc__R*(((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR$Asc@s�fd�}|S(Nc@s�y�|||�}Wn�tk
r1}|�njtjk
r�}t|�}tj|�dtd�|}t|d|jd|dtj	���nX|S(Nt s(in subrepository "%s")thintR%R&(
R$RR)t
subrelpathRtforcebytestrRR2tsystexc_info(R+R,tkargstrestexR%terrormsg(tfunc(s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pytdecoratedmethodIs	!((R;R<((R;s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pytannotatesubrepoerrorHscC@sW|r(td�t|�||f}ntd�t|�||f}|j|d�S(Nsi subrepository sources for %s differ
use (l)ocal source (%s) or (r)emote source (%s)?$$ &Local $$ &Remotes� subrepository sources for %s differ (in checked out version)
use (l)ocal source (%s) or (r)emote source (%s)?$$ &Local $$ &Remotei(RR3tpromptchoice(tuitsubtdirtytlocaltremotetmsg((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt
_updatepromptYs		c	C@s�x�|j�D]�\}}}x7t|�D])\}}|j�|kr)||=Pq)q)W|j|�j�dkrwq
nx\|D]T}|j�dkr~|jtd�|j|��|j|j||��q~q~Wq
WdS(Ns.hgthgrcs5warning: removing potentially hostile 'hgrc' in '%s'
(	twalkt	enumeratetlowertbasenametwarnRtjointunlinktreljoin(	R?Rtignoretdirnametdirstnamestitdtf((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt	_sanitizegs
cC@sHtj|j�|�|jj|�rDtjtd�|��ndS(Ns$subrepo '%s' traverses symbolic link(R	tpathauditortroottwvfstislinkRR)R(trepoR((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt_auditsubrepopathusthgtgittsvncC@s�|jddt�s9tjtd�dtd���ntj|t�}|jdd||�s�tjtd�|dtd���n|tkr�tjtd�|��ndS(	Ntsubrepostallowedssubrepos not enabledR2s)see 'hg help config.subrepos' for detailss
%s:alloweds%s subrepos not allowedsunknown subrepo type %s(	t
configbooltTrueRR)RtSUBREPO_ALLOWED_DEFAULTStgettFalsettypes(R?tkindtdefault((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt
_checktype�scC@s�ddlm}|a|j�}t||�|j|}t|j|d�|ry|d|j|�|df}nt|d|||d |�S(s>return instance of the right subrepo class for subrepo in pathi(R]ii(	tR]R[R\tsubstateRjR?tsubrevRg(tctxRt	allowwdirtallowcreatethR[tstate((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR%�s

#cC@s�ddlm}|a|j�}t||�|j|}t|j|d�d}|ddkrsdd}nt|d|||d|ft�S(	s=return an empty subrepo in pctx for the extant subrepo in ctxi(R]iRkR]t0i(i(	RkR]R[R\RlRjR?RgRc(RnRtpctxRqR[RrRm((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pytnullsubrepo�s


tabstractsubrepocB@sveZd�Zd�Zd�Zeed�Zeed�Zed$d�Z	d�Z
d�Zd�Zd	�Z
d
�Zed�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd$d�Zd�Zd$ed�Zd�Z d�Z!d�Z"d�Z#d�Z$d �Z%d!�Z&e'd"��Z(e'd#��Z)RS(%cC@s(|j�j|_||_||_dS(s�Initialize abstractsubrepo part

        ``ctx`` is the context referring this subrepository in the
        parent repository.

        ``path`` is the path to this subrepository as seen from
        innermost repository.
        N(R[R?t_ctxt_path(R+RnR((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR*�s		cC@sdS(s�Add the hgwebdir entries for this subrepo, and any of its subrepos.

        ``serverpath`` is the path component of the URL for this repo.

        ``webconf`` is the dictionary of hgwebdir entries.
        N((R+t
serverpathtwebconf((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt
addwebdirpath�scC@stS(s�
        returns true if the repository has not changed since it was last
        cloned from or pushed to a given repository.
        (Rf(R+R((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt
storeclean�scC@s
t�dS(sreturns true if the dirstate of the subrepo is dirty or does not
        match current stored state. If ignoreupdate is true, only check
        whether the subrepo has uncommitted changes in its dirstate.  If missing
        is true, check for deleted files.
        N(tNotImplementedError(R+tignoreupdatetmissing((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyRA�scC@s0|jd|d|�r,td�t|�SdS(s�return reason string if it is ``dirty()``

        Returned string should have enough information for the message
        of exception.

        This returns None, otherwise.
        R~Rs)uncommitted changes in subrepository "%s"N(RARR3(R+R~R((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pytdirtyreason�s	cC@s:|jd|dt�}|r6tj|d|��ndS(s4raise Abort if subrepository is ``dirty()``
        R~RR2N(R�RcRR)(R+R~R2R�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt
bailifchanged�s	cC@s
t�dS(spcurrent working directory base state, disregarding .hgsubstate
        state and working directory modificationsN(R}(R+((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt	basestate�scC@stS(s7check if path is a subrepository within this repository(Rf(R+R((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pytchecknested�scC@s
t�dS(s�commit the current changes to the subrepo with the given
        log message. Use given user and date if possible. Return the
        new state of the subrepo.
        N(R}(R+ttexttusertdate((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pytcommit�scC@stjS(s?returns phase of specified state in the subrepository.
        (R
tpublic(R+Rr((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pytphasescC@s
t�dS(sTremove the subrepo

        (should verify the dirstate is not dirty first)
        N(R}(R+((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pytremovescC@s
t�dS(sTrun whatever commands are needed to put the subrepo into
        this state
        N(R}(R+Rrt	overwrite((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyRescC@s
t�dS(s/merge currently-saved state with the new state.N(R}(R+Rr((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pytmergescC@s
t�dS(shperform whatever action is analogous to 'hg push'

        This may be a no-op on some systems.
        N(R}(R+topts((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pytpushscK@sgS(N((R+R?RtprefixtexplicitonlyR�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pytaddscC@s$|jjd|td�f�dS(Ns%s: %ssaddremove is not supportedi(R?RKR(R+tmatcherR�R�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt	addremove"s cK@sdS(Ni((R+Rtfmt
fntemplateR�R�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pytcat&scK@stjggggggg�S(N(Rtstatus(R+trev2R�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�)scK@sdS(N((R+R?tdiffoptstnode2RR�R�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pytdiff,scC@sdS(Ni((R+R?tdestR�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pytoutgoing/scC@sdS(Ni((R+R?tsourceR�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pytincoming2scC@s
t�dS(sreturn filename iteratorN(R}(R+((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pytfiles5scC@s
t�dS(s9return file data, optionally passed through repo decodersN(R}(R+tnametdecode((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pytfiledata9scC@sdS(sreturn file flagsRk((R+R�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt	fileflags=scC@stj|jjdd|�S(s,Resolve the fileset expression for this repoRktbadfn(tmatchmodtnevermatcherRYtbase(R+texprR�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pytmatchfilesetAscC@sdS(s)handle the files command for this subrepoi((R+R?tmR�tfmtR`((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt
printfilesEscC@s&|dk	r:g|j�D]}||�r|^q}n|j�}t|�}t|�}|jjtd�|dtd�d|�}	|	jd�x||D]t}
|j|
�}d|kr�dp�d}d	|k}
|j	||j
d
|
||
|j|
|��|	j�q�W|	j
�|S(Nsarchiving (%s)tunitR�ttotalitxi�i�tlt/(R(R�tlenR3R?tmakeprogressRtupdateR�taddfileRxR�t	incrementtcomplete(R+tarchiverR�RR�RUR�R�trelpathtprogressR�tflagstmodetsymlink((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pytarchiveIs".


cC@sdS(sv
        walk recursively through the directory tree, finding all files
        matched by the match function
        N((R+R((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyRG]RkcC@s
ggfS(N((R+RR�tdryruntinteractive((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pytforgetcscC@s|jtd�|j�dS(s�remove the matched files from the subrepository and the filesystem,
        possibly by force and/or after the file has been removed from the
        filesystem.  Return 0 on success, 1 on any warning.
        s)warning: removefiles not implemented (%s)i(tappendRRx(R+R�R�taftertforceR`R�twarnings((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pytremovefilesfscO@s,|jjtd�|d|df�gS(Ns)%s: reverting %s subrepos is unsupported
ii(R?RKR(R+RltpatsR�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pytrevertpscC@s|S(N((R+trevid((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pytshortiduscC@sdS(sH
        convert this repository from shared to normal storage.
        N((R+((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pytunsharexRkcC@sdS(siverify the integrity of the repository.  Return 0 on success or
        warning, 1 on any error.
        i((R+((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pytverify}scC@s%tj|jj�jj|j��S(sIreturn vfs to access the working directory of this subrepository
        (tvfsmodRRwR[RYRLRx(R+((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyRY�scC@s%|jjt|jj��|j�S(sLreturn path to this subrepository as seen from outermost repository
        (RYRNtreporelpathRwR[Rx(R+((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt_relpath�sN(*R.R/R*R{R|RfRAR�R(R�R�R�R�R�R�ReR�R�R�R�R�R�R�R�R�R�R�R�R�R�RcR�RGR�R�R�R�R�R�t
propertycacheRYR�(((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyRv�sH	
																								
				t	hgsubrepocB@s?eZd�Zed��Zd�Zd�Zd�Zed��Z	d�Z
d�Zd�Zed	��Z
ed
��Zed��Zed��Zed
��Zed��Zed+ed��Zeeed��Zd�Zd�Zed��Zed��Zed��Zd�Zeed��Zed��Zed��Z ed��Z!ed��Z"ed��Z#d�Z$d�Z%ed��Z&ed+d ��Z'd!�Z(ed"��Z)ed#��Z*ed$��Z+d%�Z,d&�Z-ed'��Z.d(�Z/ed)��Z0ed*��Z1RS(,cC@s3tt|�j||�||_|j�}|j|�}|oW|jjd|�}tj	|j
|d|�|_||j�kr�|jj�|_n|jj
|_
xNd	gD]C\}}	|j
j||	�}
|
r�|j
j||	|
d�q�q�W|j
jdddd�|j||d|�dS(
Ns%s/.hgtcreateR?tcommitsubreposR%t_usedassubrepoRci(R?R�(tsuperR�R*t_stateR[twjoinRYtexistsR]t
repositorytbaseuit_repot
unfilteredR?tconfigt	setconfigt	_initrepo(R+RnRRrRptrRXR�tstktv((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR*�s	 cC@s tj|jt|�|�dS(N(RR{R�R3(R+RyRz((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR{�scC@s'|jj��|j|�SWdQXdS(N(R�tlockt_storeclean(R+R((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR|�scC@spt}|j|�}x6|j|�D]%}|t|d�kr%t}Pq%q%W|rlt|d�dk}n|S(N(Rct_calcstorehasht_readstorehashcachetnextR(Rf(R+Rtcleant	itercachetfilehash((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR��scc@sld}dt|�V|jj}xD|D]<}tjtj|j|��j��}d||fVq(WdS(s�calculate a unique "store hash"

        This method is used to to detect when there are changes that may
        require a push to a given remote path.t	bookmarkssstore/phaserootssstore/00changelog.is# %s
s%s = %s
N(R�sstore/phaserootssstore/00changelog.i(	RR�RRRRR ttryreadR!(R+R"tfilelistRtrelnameR�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR��s
'cC@stj|jjjd��S(Nscache/storehash(R�RR�RL(R+((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt_cachestorehashvfs�scC@st|�}|jj|d�S(s7read the store hash cache for a given remote repositoryR�(R#R�ttryreadlines(R+R"t	cachefile((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR��scC@s`t|�}|jj��?t|j|��}|j}|j||dddt�WdQXdS(s�cache the current store hash

        Each remote repo requires its own store hash cache, because a subrepo
        store may be "clean" versus a given remote repo, but not versus another
        R�twbt
notindexedN(R#R�R�tlistR�R�t
writelinesRc(R+R"R�t	storehashR((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt_cachestorehash�s
	cC@s<|jj�dkr |jdS|jd}|j|SdS(sKfetch the context for this subrepo revision, possibly a workingctx
        iN(RwtrevR(R�R�(R+R�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt_getctx�s
c@s�|�j_|�j_|r�dg���fd�}t�jdt�}t�jtdt�}|d|�||kr�|d|�n�jjjdtj	dj
����ndS(Ns[paths]
c@s=|r9�jd||f��jjd||d�ndS(Ns%s = %s
tpathsR%(R�R?R�(tkeytvalue(tlinesR+(s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt
addpathconfig�stabortRisdefault-pushRFRk(R�t
_subparentt
_subsourcet
_abssourceRfRcRtwriteRttonativeeolRL(R+t
parentrepoR�R�Rtdefpathtdefpushpath((R�R+s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR��s	
cK@s1tj||j||jj||j�||�S(N(RR�R�RYRNRx(R+R?RR�R�R�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR��scC@sDtj|�}t|d<tj|j||jj||j�|�S(NR`(tcopyRcRR�R�RYRNRx(R+R�R�R�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�s
c	K@sB|jd}|j|}tj|j|j||||||�S(Ni(R�R�RR�R?(R+RR�R�R�R�R�Rn((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�
s

cK@s�yA|jd}|j|}|j|}|jj|||�SWnXtjk
r�}|jjtd�|t|�f�t	jggggggg�SXdS(Nis*warning: error "%s" in subrepository "%s"
(
R�R�R�RtRepoLookupErrorR?RKRR3R(R+R�R�trev1tctx1tctx2tinst((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�s


c	K@s�yutj|jd�}|dk	r7tj|�}ntj||j||||dtj||j	�dt
|�Wn<tjk
r�}|j
jtd�|t|�f�nXdS(NiR�tlistsubreposs*warning: error "%s" in subrepository "%s"
(RtbinR�R(RtdiffordiffstatR�t	posixpathRLRxRcRRR?RKRR3(	R+R?R�R�RR�R�tnode1R((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�sc
C@s|j|jd�|j�}|rNg|D]}||�r-|^q-}n|jd}|j|}tj|j|j�gtj|j|��tj	||||�}	x\|j
D]Q}
t||
t�}t
j|
|�}|	|j	|||jd||�7}	q�W|	S(NR]iR�(R](t_getR�R�R�Rt
prefetchfilesR�t
matchfilesRvR�RlR%RcR�t
subdirmatcherRx(
R+R�R�RR�R�RUR�RnR�tsubpathR�tsubmatch((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�-s(

cC@sd|jd}|dkr$|r$tS|jd}||j�j�krT|rTtS|jd|�S(NiRkR(R�RcR�R(tp1RRA(R+R~RR�tw((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyRA?s

cC@s|jdj�S(Nt.(R�R(R+((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�JscC@s|jj|jj|��S(N(R�t_checknestedR�(R+R((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�MscC@sv|jt�s |jdj�S|jjdt|��|jj|||�}|si|jdj�Stj|�S(NRscommitting subrepo %s
(	RARcR�RR?tdebugR3R�R(R+R�R�R�tn((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�PscC@s|j|pdj�S(NR(R�R�(R+Rr((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�\scC@s=|jjtd�t|��tj|jtjt	�dS(Nsremoving subrepo %s
(
R?tnoteRR3R]R�R�RtnullidRf(R+((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�`s c
	@s�|\}}}�jj}|�jj�krYt�j�dksR|j�rYtSn|�j_t�j����fd�}t�j�dkr6�jjj	�|j�r1t
j��r1�jj
td�t���f�t
j�jjj|��jjdtdt�}|j��_n�|j�r��jjdd�}|rjtj|�}ni|d6�jjdd�d	6}	ni}	�jj
td
�t��tj��f�t
j�jjji|��jjdtd|	�\}
}|j��_�j||dt��j��nj�jj
td
�t��tj��f��j��}tj�j|��|r��j��ntS(Nic@stj�ji��S(N(R]tpeerR�((R+tsrcurl(s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt<lambda>tRkssharing subrepo %s from %s
R�R�tsharetpoolt
poolnamingR�scloning subrepo %s from %s
t	shareoptsR�spulling subrepo %s from %s
(R�RR�R�tsharedRcRRRtrmtreeR]tislocalR?R�RR3R&R�RXRfRBR�RRthidepasswordtcloneR�R�R|Rtpull(
R+RrR�trevisionRhRtgetpeerR*R'R)tothertclonedtcleansub((R+R$s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyRgsP"c
C@s�|j|�}|\}}}|j}|jjd|j�|r�|j�}||}	|	j�r�|jjtd�|dd!|jf�|}q�nt	j
|||�dS(Nsgetting subrepo %s
s,revision %s in subrepository "%s" is hidden
ii(RR�R?RRxR�thiddenRKRR]t
updaterepo(
R+RrR�tinrepoR�R0RhR[turepoRn((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyRe�s	
		c@s��j���jd��j�d��j��������fd�}�jd}�j�r���kr�t�j�|j����r�|�q�q�|�n|�dS(NRic@s���krX�j��j�krX�jjdt���tj�j�d�n`��kr��jjdt���n7�jjdt���tj�j�ddt�dS(Nsupdating subrepository "%s"
isskipping subrepository "%s"
smerging subrepository "%s"
tremind(	tbranchR?RR3R]R�R�R�Rf((tanctcurtdstR+Rr(s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt	mergefunc�s$(RR�tancestorR(RARER?(R+RrR>twctx((R;R<R=R+Rrs7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR��s


!

cC@sY|jd�}|jd�}|jd�}|jd}|j}x6t|�D](}|j|�j|�dkrPtSqPWt|jt�}|s�|j	|�r�|j
jtd�t
|�tj|�f�dSn|j
jtd�t
|�tj|�f�tj|ji|d6|�}	tj|j|	|d|�}
|j|�|
jS(	NR�t
new_branchtsshRis4no changes made to subrepo %s since last push to %s
spushing subrepo %s to %s
t	newbranch(ReR�RltsortedR@R�RfRRcR|R?R�RR3RR-R(R]R#RR�tcgresult(R+R�R�RCRBtctsubsR�tdsturlR2R8((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR��s*
			
cC@sod|ksd|krJtj|�}|jdd�|jdd�ntj||jt|jt�|�S(NR�R:(R
R'R(R]R�R�RRc(R+R?R�R�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR��s
cC@sod|ksd|krJtj|�}|jdd�|jdd�ntj||jt|jt�|�S(NR�R:(R
R'R(R]R�R�RRf(R+R?R�R�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR��s
cC@s*|jd}|j|}|j�j�S(Ni(R�R�tmanifesttkeys(R+R�Rn((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�s

cC@sF|jd}|j||j�}|rB|jj||�}n|S(Ni(R�R�tdatat
wwritedata(R+R�R�R�RK((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�s

cC@s'|jd}|j|}|j|�S(Ni(R�R�R�(R+R�R�Rn((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�s

cC@s[|jj�dkr%|jd}n|jd}|j|}tj||||||�S(Ni(RwR�R(R�R�RR�(R+R?R�R�R�R`RnR�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�s


cC@s7|j}|jj�dkr+|d}n|jd}||}|j|d|�g}x�|jD]�}|j|�}yM|j|d|�}	tj	|j
|j�||	d|�}
|j|
�Wqdt
jk
r|jjtd�|jjt|�|��qdXqdWt|�dkr*|dStj|�S(NiR�s#skipping missing subrepository: %s
i(R�RwR�R(R�R�RlR@R�tprefixdirmatcherRXtgetcwdR�RtLookupErrorR?R�RRYRNR�R�tunionmatcher(R+R�R�R[RnR�tmatchersRR@tsmtpm((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�s&	


%cC@s|jd}|j|�S(N(R�R(RG(R+RRn((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyRG8s
c
C@s=tj|j|j||jj||j�td|d|�S(NR�R�(RR�R?R�RYRNRxRc(R+RR�R�R�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�<sc	C@s:tj|j|j||jj||j�||||�S(N(RR�R?R�RYRNRx(R+R�R�R�R�R`R�R�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�BscO@s�|jjtd�|d�|jd�sd|j�}d|d<|d|d<|j||�n|jd�s�|j|dt�ndS(	Nsreverting subrepo %s
it	no_backupR�iR�tdry_runR�(R?R�RReR
R(t
filerevertRc(R+RlR�R�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�Is
cO@sj|j|d}|jjj�}|jd�r>dg}ng}tj|j|j||||�dS(NR�tallsset:modified()(R�tdirstatetparentsReRR�R?(R+R�R�RnRY((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyRV_scC@s|d S(Ni((R+R�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�hscC@s_ddlm}|a|jj�rE|jjtd�|j�ntj|j|j�dS(Ni(R]sunsharing subrepo '%s'
(	RkR]R�R*R?R�RR�R�(R+Rq((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�ks
 cC@s�yu|jd}|jj�|}|j�rp|jj}|jtd�|jtj	|j
j��f�ndSWnMtjk
r�|jjjtd�|jtj	|j
j��f�dSXdS(Nis&subrepo '%s' is hidden in revision %s
is&subrepo '%s' not found in revision %s
(
R�R�R�R5R?RKRR�RtshortRwRR(R+R�RnR?((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�}s
&#cC@s
|jjS(s7return own wvfs for efficiency and consistency
        (R�RY(R+((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyRY�scC@s
t|j�S(sLreturn path to this subrepository as seen from outermost repository
        (R�R�(R+((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR��sN(2R.R/R*R=R{R|R�R�R�R�R�R�R�R�R�R�R�R�R�R(RcR�RfRAR�R�R�R�R�RReR�R�R�R�R�R�R�R�R�RGR�R�R�RVR�R�R�RYR�(((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR��s^			
	
				

			@							t
svnsubrepocB@s�eZd�Zded�Zed��Zd�Zd�Zd�Z	d�Z
eeed��Zd	�Z
ed
��Zed��Zeed��Zed
��Zd�Zed��Zd�ZRS(cC@s`tt|�j||�||_tjd�|_|js\tjt	d�|j
��ndS(NR_s+'svn' executable not found for subrepo '%s'(R�R[R*R�Rtfindexet_exeRR)RRx(R+RnRRrRp((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR*�s		RkcC@s�|jg}i}|jj�sQtj|d<|ddkrQ|jd�qQn|j|�|dk	r�|jj	|j
j�j|j
|�}|j|�nttj�}|jd�}|r�||d<|d=nd	|d
<tjtjtj|�ddd
tjdtjdtjdtdtj|�|�}	|	j�\}
}|j�}|s�|	jr�tj|p}d|	j��n|r�|jj|d�q�n|
|fS(NtstdiniR�tcheckoutR�s--non-interactivetLC_ALLtLANGtCtLC_MESSAGEStbufsizei����t	close_fdststdouttstderrtuniversal_newlinestenvsexited with code %ds
(R�R_R�( R]R?R�t
subprocesstPIPER�textendR(RYRNRwR[torigrootRxtdictRtenvironRetPopenRtrapplyRttonativestrtclosefdsRcttonativeenvtcommunicatetstript
returncodeRR)RK(R+tcommandstfilenametfailoktcmdtextrakwRRitlc_alltpRfRg((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt_svncommand�s>




	cC@sy|jddgdd�\}}tjd|�}|sQtjtd���nt|jd��t|jd��fS(Ns	--versions--quietRys
^(\d+)\.(\d+)s cannot retrieve svn tool versionii(	RR(tretsearchRR)Rtinttgroup(R+toutputterrR�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt_svnversion�s
!cC@s|jjd�S(Ns.svn(RYR�(R+((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt_svnmissing�scC@s�|jddg�\}}tjjj|�}|jd�}d\}}|r�t|djd��pmd}|djd�}|r�t|djd��p�d}q�n||fS(	Ntinfos--xmltentryRsiR0R�(RsRs(RtxmltdomtminidomtparseStringtgetElementsByTagNametstrtgetAttribute(R+R�R�tdoctentriestlastrevR�tcommits((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt_wcrevs�s%cC@s|j�dS(Ni(R�(R+((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt_wcrev�sc
C@s~|jddg�\}}ggg}}}tjjj|�}x�|jd�D]�}|jd�}|suqTn|djd�}	|djd�}
|jd�}|	d	kr�|j|�n|	d
kr�|j|�n|	dks�|
dkrT|j|�qTqTWxT|D]L}xC|D];}||ksJ|j|t	j
�r"ttt|�fSq"WqWt|�t
t|�fS(s�Return (changes, extchanges, missing) where changes is True
        if the working directory was changed, extchanges is
        True if any of these changes concern an external entry and missing
        is True if any change is a missing entry.
        R�s--xmlR�s	wc-statusititemtpropsRtexternalRRktnormaltunversionedtnone(RkR�R�R�(RkR�R�(RR�R�R�R�R�R�R�t
startswithRtossepRctboolRf(
R+R�R�t	externalstchangesRR�teR�R�R�Rtext((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt
_wcchanged�s,

"cC@ss|j�r|jddkS|j�}|dp@|o@|d}|so|jd|j�ksh|rotSntS(NiRkii(R�R�R�R�RfRc(R+R~Rt	wcchangedtchanged((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyRAscC@sh|j�\}}||krdy,|jdd|jd|fg�|SWqdtjk
r`qdXn|S(NR�s%s@%si(R�RR�RR)(R+R�R�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�s$c
C@s!|j�\}}}|s%|j�S|rCtjtd���n|ratjtd���n|jdd|g�\}}|jj|�tj	d|�}	|	s�|j
�s�tjtd���ntj|j�d��n|	j�d}	|jj|jd	d
|	g�d�|	S(Nscannot commit svn externalss!cannot commit missing svn entriesR�s-msCommitted revision ([0-9]+).sfailed to commit svn changesi����iR�s-r(
R�R�RR)RRR?R�R�R�Rvt
splitlinestgroups(
R+R�R�R�R�t
extchangedRt
commitinfoR�tnewrev((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR� s"
&cC@s�|j�r-|jjtd�|j�dS|jjtd�|j�|jjdt�y/|j	j
�j}|j|j|j��Wnt
k
r�nXdS(Ns-not removing repo %s because it has changes.
sremoving subrepo %s
tforcibly(RAR?RKRRxR!RYR+RcRwR[t
removedirsRPtOSError(R+tpwvfs((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�<s
cC@s6|r|jddg�ndg}|jdkrD|jd�n|jd|d|df�tj|d�|j|d	t�\}}t|j|jd
�t	j
d|�s"d|kr|j�d
 ttfkr|j
�|j|dt�dStj|p|j�d��n|jj|�dS(NR�s--recursiveR_iis--forces%s@%siRzs.svnsChecked out revision [0-9]+.s-is already a working copy for a different URLiR�i����(ii(RR�R�RtchecksafesshRcRVR?RYR�R�R�RfR�ReRR)R�R�(R+RrR�R,R�R�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyReKs"	
"cC@s�|jd}|d}|j�}||kr|||kpH|j�d}t|j||||�r||j|t�q|ndS(Nii(R�R�R�RER?ReRf(R+RrtoldtnewtwcrevRA((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�es

cC@stS(N(Rc(R+R�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�oscC@s�|jdddg�d}tjjj|�}g}x�|jd�D]o}tj|jd��}|dkrwqGndj	d	�|jd
�dj
D��}|j|jd��qGW|S(NR�s--recursives--xmliR�RhtfileRkcs@s*|] }|j|jkr|jVqdS(N(tnodeTypet	TEXT_NODERK(t.0RF((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pys	<genexpr>|sR�sutf-8(
RR�R�R�R�R�RtbytestrR�RLt
childNodesR�tencode(R+R�R�R�R�RhR�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�sscC@s|jdg|�dS(NR�i(R(R+R�R�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR��s(R.R/R*RfRR�R�R�R�R�R�R=RAR�R�R�ReR�R�R�R�(((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR[�s$	(				
	
	t
gitsubrepocB@s�eZd�Zd�Zed��Zed��Zd!ed�Z	d!ed�Z
d!ed!d�Zd�Zd�Z
d	�Zd
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zeeed��Zd�Zeed��Zed��Zed��Zed��Zed��Zed��Z d!e!d�Z"ed��Z#ed��Z$ed��Z%ed��Z&d �Z'RS("cC@sWtt|�j||�||_|j�j|�|_|j�|_|j�dS(N(	R�R�R*R�R[R�t_abspathRt
_ensuregit(R+RnRRrRp((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR*�s
	cC@s�y%d|_|jdg�\}}Wn0tk
rW}td�}td�}|jtjkr�tj||jt	j
|j�f��qXtj
r2y%d|_|jdg�\}}WqTtk
r.}|jtjkrtjtd�|jd|��q/tj||jt	j
|j�f��qTXqXtjtd�|jd|��nX|j|�}|d	kr�|jjtd
��nI|dkr�tjtd���n%|d
kr�|jjtd��ndS(NR^s	--versions(error executing git for subrepo '%s': %ss'check git is installed and in your PATHsgit.cmds1couldn't find 'git' or 'git.cmd' for subrepo '%s'R2s"couldn't find git for subrepo '%s'tunknownscannot retrieve git version
Rs,git subrepo requires at least 1.6.0 or latertwarnings-git subrepo requires at least 1.6.0 or later
(t_gitexecutablet	_gitnodirR�RterrnotENOENTRR)RxRt
strtolocaltstrerrorRt	iswindowst
_checkversionR?RK(R+toutR�R�tgenericerrortnotfoundhintte2t
versionstatus((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR��s:		"		
 cC@s�tjd|�}|rRt|jd��t|jd��t|jd��fStjd|�}|r�t|jd��t|jd��dfSdS(Ns ^git version (\d+)\.(\d+)\.(\d+)iiis^git version (\d+)\.(\d+)ii����(R�R�R�R�(R�R�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt_gitversion�s:+cC@sCtj|�}|dkrdS|d
kr/dS|dkr?dSd	S(s�ensure git version is new enough

        >>> _checkversion = gitsubrepo._checkversion
        >>> _checkversion(b'git version 1.6.0')
        'ok'
        >>> _checkversion(b'git version 1.8.5')
        'ok'
        >>> _checkversion(b'git version 1.4.0')
        'abort'
        >>> _checkversion(b'git version 1.5.0')
        'warning'
        >>> _checkversion(b'git version 1.9-rc0')
        'ok'
        >>> _checkversion(b'git version 1.9.0.265.g81cdec2')
        'ok'
        >>> _checkversion(b'git version 1.9.0.GIT')
        'ok'
        >>> _checkversion(b'git version 12345')
        'unknown'
        >>> _checkversion(b'no')
        'unknown'
        i����R�iiiRiR�tok(iii(iii(R�R�(R�tversion((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR��scC@s|j|d|d|�dS(NRitstreami(t_gitdir(R+RxRiR�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt_gitcommand�scC@s"|j|d|d|d|j�S(NRiR�tcwd(R�R�(R+RxRiR�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR��sc	C@s�|jjd|jdj|�f�|dkrDtjj�}nd|d<d|krgd|d<nd}|jjr�t	t
jd�}n|jjr�t
|�r�|dd	kr�|jd
d�ntjtjtj|jg|�dd
dtjtj|�dtj|�dtjdtjd|�}|rF|jdfS|jj�j�}|j�|jdkr�|jd
kr�|d}|dkr�||jfStjt d�||j|jf��n||jfS(s�Calls the git command

        The methods tries to call the git command. versions prior to 1.6.0
        are not supported and very probably fail.
        s%s: git %s
R1RbR`tGIT_ALLOW_PROTOCOLsfile:git:http:https:sshRiR�is--colorRdi����R�RiReRfRgscat-filessymbolic-refsgit %s error %d in %sN(scat-filessymbolic-ref(!R?RR�RLR(RRoR
tquiettopenRtdevnullt
_colormodeR�tinsertRjRpRRqRRrR�RtRsRkRftreadRvtwaitRwRR)R(	R+RxRiR�R�terrpipeR~tretdatatcommand((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR��s:&

(	



cC@s|jjd�S(Ns.git(RYR�(R+((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt_gitmissingscC@s|jddg�S(Ns	rev-parsetHEAD(R�(R+((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt	_gitstatescC@s1|jdddg�\}}|r-d}n|S(Nssymbolic-refR�s--quiet(R�R((R+tcurrentR�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt_gitcurrentbranchs	cC@sO|jddd|g�}|jd�d}|jd�td�}||S(NRCtshows-ns
isURL: (R�tsplittindexR�(R+RCR�tlineRS((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt
_gitremote"scC@s(|jdd|g�\}}|dkS(Nscat-files-ei(R�(R+R0R�tcode((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt_githavelocally(scC@s"|jd||g�}||kS(Ns
merge-base(R�(R+tr1tr2R�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt_gitisancestor,scC@s|jdddg�dkS(NR�s--bools	core.barettrue(R�(R+((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt
_gitisbare0scC@s|jdddg�dS(s�This must be run before git diff-index.
        diff-index only looks at changes to file stat;
        this command looks at file contents and updates the stat.supdate-indexs-qs	--refreshN(R�(R+((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt_gitupdatestat3scC@s�i}i}|jdddg�}x�|jd�D]�}|jd�\}}|jd�ru|jd�ruq4n|jd�r�|jd�r�q4n|||<|j|g�j|�q4W||fS(	screturns 2 things:
        a map from git branch to revision
        a map from revision to branchessfor-each-refs--formats%(objectname) %(refname)s
R1srefs/heads/s
refs/remotes/s/HEAD(R�R�R�tendswitht
setdefaultR�(R+t
branch2revt
rev2branchR�R�R0tref((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt
_gitbranchmap9s
cC@s�i}x�|D]�}|jd�r(q
n|jdd�d}|jdd|g�}|r
|jdd|g�}||d||jdd�df<q
q
W|S(s4return map of remote branch to local tracking branchs
refs/remotes/R�iR�sbranch.%s.remotesbranch.%s.mergesrefs/remotes/%s/%s(R�R�R�(R+tbranchesttrackingtbtbnameRCR�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt_gittrackingMs
+cC@sQd|kr>|jd�}|dkr>d|| kr>|Sn||_t|�S(Ns://t:i����R�(tfindRR(R+R�tcolon((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR\s	cC@s�|j�rgtj|�|j|�}|jjtd�|j|f�|jd||j	g�n|j
|�rzdS|jjtd�|j|jd�f�|jdg�|j
|�s�t
jtd�||jf��ndS(Nscloning subrepo %s from %s
R.spulling subrepo %s from %s
torigintfetchs1revision %s does not exist in subrepository "%s"
(R�RR�RR?R�RR�R�R�R�R�R�RR)(R+R�R0((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt_fetches
cC@s�|j�r|jddkS|j�r-tS|rQ|jd|j�krQtS|j�|jdddg�\}}|dkS(NiRks
diff-indexs--quietR�(R�R�R�RcR�R�R�(R+R~RR�R�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyRAxs 
cC@s
|j�S(N(R�(R+((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR��sc@s�|\}�}�s#�j�dS�j|���j�r��jdddg��j��kr��jdddg�dSnH�j��kr��r��jddg��jdddg�ndS�j�\}}��fd�����fd�}�|kr|�dS|�}d}	xK|D]C}
|
d	krV�d	g�dS|	r3|
jd
�r3|
}	q3q3W|	r��|	g�dS�j|j	��}|d}||kr�x'|D]}
|
|kr�|
}Pq�q�Wn||kr|j
dd
�d
}
�d|
|g�nz�j||||�r�||�j�krb�||g�n�jdd|g�t
�j�jd�n|�dS(NR�s	core.baretfalsetresets--hardR�c@s]dg}�r2�jddg�|jd�n�j||�t�j�jd�dS(NR_RR�s-fs.git(R�R�RVR?RY(R,R{(R�R+(s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR_�s	c@sG�jjtd��j��jjtd���d�g�dS(Ns1checking out detached HEAD in subrepository "%s"
s5check out a git branch if you intend to make changes
s-q(R?RKRR�((R_R0R+(s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pytrawcheckout�ssrefs/heads/masters
refs/remotes/iR�is-bR�s--ffs.git(R�RR�R�R�R�R(R�R�RJR�R�R�RVR?RY(R+RrR�R�RhR�R�RR�tfirstlocalbranchR�R�RCRB((R_R�R0R+s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyRe�s`







cC@s�|j�r+tjtd�|j��nddd|g}tjj�}|re|d|g7}n|r�tj	|d�|d<n|j
|d|�|j�S(	Nssubrepo %s is missingR�s-as-ms--authors%Y-%m-%dT%H:%M:%S %1%2tGIT_AUTHOR_DATERi(R�RR)RR�RRoR
RtdatestrR�R�(R+R�R�R�R{Ri((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR��s	c@s�\}�}�j|���jd��jdg���j��jdddg�\}}����fd�}�j�r��j��kr�j��jdkp�|dk}t�j�|�jdd �d �r�|�q�qn|�dS(	Ns
merge-baseis
diff-indexs--quietR�c@sb��kr�j��n,��jdkrH�jdd�g�nt�j�jd�dS(NiR�s--no-commits.git(ReR�R�RVR?RY((R�R0R+Rr(s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR>�s
ii(	RR�R�R�R�RAR�RER?(R+RrR�RhR�R�R>RA((R�R0R+Rrs7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR��s
%c
C@s�|jd�}|jds tS|j�rKtjtd�|j��n|j�\}}|jd|kr�x/||jdD]}|j	d�r�tSq�WnxI|j
�D];\}}|j	d�r�|j|jd|�r�tSq�q�Wdg}|r
|jd�n|j
�}|r�|j|jd|�sY|jjtd�|j�tS|jjtd�|jd	d
�d
|jf�|j|d|g�}	|	ddkS|jjtd
�|j|jdf�tSdS(NR�issubrepo %s is missingsrefs/remotes/origin/R�s--forces7unrelated git branch checked out in subrepository "%s"
s(pushing branch %s of subrepository "%s"
R�iR�isDno branch checked out in subrepository "%s"
cannot push revision %s
(ReR�RcR�RR)RR�R�R�t	iteritemsR�R�R�R?RKRfR�R�R�(
R+R�R�R�R�R�R0R{R�tret((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�	s<
	!cK@s�|j�rgS|jddtdt�}t�}x3|j|j|j|jfD]}|j	|�qSW|j
}	|	j|j��g}
gt
t|	��D]}||�r�|^q�}	x�|	D]�}|j|�}dg}
|r�|
jd�n|js|r+|jtd�|j|��n||krS|r�|
j|�q�q�n|jd�s�|j|
|g�q�q�Wx.|
D]&}|jtd�|j|��q�W|
S(NR�R�R�s-fs
adding %s
RUs%s already tracked!
(R�R�R(RctsettmodifiedtaddedtdeletedR�R�R�RlR�RDtexactR�tverboseRtrelReR�RKtabs(R+R?RR�R�R�R�ttrackedR�R�trejectedRURR�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�1s4	%	1
	#
$cC@s�|j�rdS|j�r=|jjtd�|j�dS|jjtd�|j�|jdddg�xa|jj	�D]P\}}|dkr�q�n|t
jkr�|jj|�q�|jj
|�q�WdS(Ns-not removing repo %s because it has changes.
sremoving subrepo %s
R�s	core.bareR�s.git(R�RAR?RKRR�R!R�RYtreaddirtstattS_IFDIRR+RM(R+RURh((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�XscC@sbd}|j\}}|s|S|j||�|jd|gdt�}tjd|dd�}	t|�}
|jjt	d�|
dt	d	��}|j
d�x�|	D]�}|j�r�q�n|r�||j�r�q�n|j
�r�|j}
n|	j|�j�}
|j||jd
|j|j|j
�|
�|d7}|j�q�W|j�|S(NiR�R�tfileobjR�sr|sarchiving (%s)R�R�R�i(R�RR�RcttarfileR�R3R?R�RR�tisdirR�tissymtlinknametextractfileR�R�RxR�R�R�(R+R�R�RR�R�R�R0t	tarstreamttarR�R�R�RK((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�ls2



c
K@s�|jd}|j�rdS|j�s-dSxt|j�D]f}|jdd||fg�}tj|j|d|jj||��}	|	j	|�|	j
�q:WdS(NiR�s%s:%stpathnamei(R�tanypatsR�R�RtmakefileobjRwRYRNRtclose(
R+RR�R�R�R�R�RUR�tfp((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR��s

cK@s:|jd}|j�s |r?tjggggggg�Sggg}}}|j�|r{ddd||g}ndd|g}|j|�}x�|jd�D]�}	|	jd�}
|
dkr�q�n|	|
d|
!|	|
d}}|d	kr|j|�q�|d
kr(|j|�q�|dkr�|j|�q�q�Wggggf\}
}}}dd
dg}|j	d�r�|dg7}n|j	d�r�|dg7}n|j|�}t
�}|j|�|j|�|j|�x�|jd�D]�}	|	sqn|	dd!}|	jd�dkrR|	djd�\}}n|	d}d}|j
|�|r�|j
|�n|dkr�|j|�q|dkr|j|�qqW|j	d�r|jdg�}x6|jd�D]"}||kr�|j|�q�q�Wntj||||
|||�S(Nis	diff-trees--no-renamess-rs
diff-indexs
s	i����tMtAtDR�s--porcelains-zR�s--untracked-files=alltignoreds	--ignoredsiiis??s!!R�sls-files(R�R�RR�R�R�R�R�R�ReR
R�R(R�(R+R�R�RRRtremovedR�R�R�ttabR�RUR
R�R'R�tchangedfileststt	filename1t	filename2((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR��sj

 	





cK@s�|jd}ddg}|dr3|jd�n|jd|j�|jj||j�}	|jr�|jd|	d|	g�n|jd	|	d
|	g�|jr�|jd�n|j	r�|jd�n|j
|jd
g��dkr
|jr
|jd�n|j|�|r0|j|�nd}
|j
�r\|
|j|�d7}
nz|j|�d }g|D]}|D]}
|
^q�qv}x>|D]6}
||
�r�|
|j|d|
g�d7}
q�q�W|
j�r�|j|
�ndS(NiR�s--no-renamesRs--stats-U%ds--src-prefix=%s/s--dst-prefix=%s/s--src-prefix=a/%s/s--dst-prefix=b/%s/s--ignore-all-spaces--ignore-space-changes	--versioniis--ignore-blank-linesRks
is--(iii(R�R�tcontextRYRNRxtnoprefixRltignorewstignorewsamountR�R�tignoreblanklinestalwaysR�RvR(R+R?R�R�RR�R�RR{t	gitprefixR�R+tsublistRUR�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR��s>

	

		!	
&
(cO@s�|jjtd�|d�|jd�s�|jd�}|j}x_|D]T}tj|j|j|�}|jj	td�||f�|j
j||�qLWn|jd�s�|j|dt�ngS(Nsreverting subrepo %s
iRTs#saving current version of %s as %s
RUR�(
R?R�RReR(RRtorigpathRR!RYtrenameRc(R+RlR�R�R�RRR�tbakname((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�s	
cC@s|d S(Ni((R+R�((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR�sN((R.R/R*R�tstaticmethodR�R�R(RfR�R�R�R�R�R�R�R�R�R�R�R�R�RRR=RAR�ReR�R�R�R�R�RcR�R�R�R�R�R�(((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyR��sF		!$0													
	U('!C,(?t
__future__RR
R�RRRR�RRjR5Rtxml.dom.minidomR�ti18nRRkRRRRRRR�RR	R
RRR
RRR�tutilsRRRR(R]R�R3RR�RR#R)R$R=RERVR\RcRfRdRjR%RutobjectRvR�R[R�Rg(((s7/usr/lib64/python2.7/site-packages/mercurial/subrepo.pyt<module>sZ^					
					
		�������