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/usr/lib64/python2.7/site-packages/mercurial/hg.pyo
�
1�3\c@@s[ddlmZddlZddlZddlZddlZddlZddlmZddl	m
Z
ddlmZm
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZm	Z	mZmZmZm Z m!Z"m#Z#m$Z$m%Z%m&Z'm(Z)ej*Z*dZ+d�Z,d	�Z-e.d
�Z/ie
d6e#d6e,d
6ed6ed6ed6e d6Z0d�Z1d�Z2d�Z3gZ4e5e.e.e.d�Z6de5e.e.e.d�Z7e5e.e.d�Z8d�Z9d�Z:e.e;e;e.e5d�Z<d�Z=e.d�Z>e.d�Z?d�Z@e5e.e;e5d �ZAd!�ZBe.e5e.e;e5e.e.e.e.e.d"�
ZCe5d#�ZDe.d$�ZEe5e.d%�ZFeFZGe;e5d&�ZHeHZIe5e.d'�ZJe.e;e5e.e5d(�Ze5d)�ZKd*�ZLd+�ZMd,�ZNd-�Z&d.�ZOd/d0fd/d1fd/d2fd3dfgZPd4eQfd5��YZRdS(6i(tabsolute_importNi(t_(tnullid(t	bookmarkst
bundlerepot	cacheutiltcmdutiltdestutilt	discoveryterrortexchanget
extensionsthttppeert	localrepotlockt
logcmdutiltlogexchangetmerget
narrowspectnodetphasestscmutiltsshpeertstatichttprepotuit	unionrepoturltutiltverifytvfsRcC@s4tjtj|��}tjj|�r0tp3tS(N(Rt
expandpathturllocalpathtostpathtisfileRR
(R!((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pyt_local9sc@sf|j�}|\}}|rU|rU�p/d}�rE�d}nd}||fS�rjt���ng�|jd�s�|r�tjtd���n�j|���dfS|j��}|j	di�j
��WdQX���fd�}	x6|D].}
|	|
�stjtd�|
��qqW|rX|	|�sX�j|�qXn��dfS(Nit	branchmaps"remote branch lookup not supportedc@su|dkr<�s*tjtd���n�jj�}n|�krm�jd�t�|�D��tStSdS(Nt.sdirstate branch not accessiblecs@s|]}tj|�VqdS(N(Rthex(t.0tr((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pys	<genexpr>[s(	R	tAbortRtdirstatetbranchtextendtreversedtTruetFalse(R+(R$tlrepotrevs(s2/usr/lib64/python2.7/site-packages/mercurial/hg.pytprimaryUs!sunknown branch '%s'(tpeertNonetlisttcapableR	R)RtappendtcommandexecutortcallcommandtresulttRepoLookupError(R0tothertbranchesR1R3t
hashbranchtxtyteR2R+((R$R0R1s2/usr/lib64/python2.7/site-packages/mercurial/hg.pyt
addbranchrevs=s4



 cC@sOtj|�}d}|jr3|j}d|_nt|�||pHgffS(s5parse url#branch, returning (url, (branch, branches))N(RRR4tfragmenttbytes(R!R=tuR+((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pytparseurlhs		tbundletuniontfilethttpthttpstsshsstatic-httpcC@svtj|�}|jpd}tj|�p4td}y||�SWn*tk
rqtj|d�sm�n|SXdS(NRItinstance(RRtschemetschemestgett	TypeErrortsafehasattr(R!RERNtthing((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pyt_peerlookup|s
cC@sHt|t�r>yt|�j|�SWq>tk
r:tSXn|j�S(s7return true if repo (or path pointing to repo) is local(t
isinstanceRDRTtislocaltAttributeErrorR/tlocal(trepo((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pyRV�s
cC@sQtj|dtdt�}|j�r=tj|j�d�Stj||�SdS(s0open path with open if local, url.open if remotet
parsequeryt
parsefragmenttrbN(RRR/RVt	posixfilet	localpathtopen(RR!tpathurl((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pytopenpath�sc@snt|�j�||d|d|�}t|d����jdd�r]�fd�}n	d�}x!|prgD]}|�|�qsW|d�tjd	���}	x�tj��D]p\}
}|d
|
f�t|dd
�}|r�tjd|
��}
|�|�Wd
QX|d|
|
�q�q�WWd
QX|d|	�|j�sjxt	D]}|�|�qPWn|S(s1return a repository object for the specified pathtintentst
createoptsRtdevelsdebug.extensionsc@s�jd||dd�S(Nsdebug.extensions: tlabelsdebug.extensions(tdebug(tmsgtvalues(R(s2/usr/lib64/python2.7/site-packages/mercurial/hg.pyt<lambda>�s	c_@sdS(N(R4(tatkw((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pyRi�ts- executing reposetup hooks
s
all reposetups  - running reposetup for %s
t	reposetupsreposetup %rNs  > reposetup for %r took %s
s> all reposetup took %s
(
RTRMtgetattrt
configboolRttimedcmRR4RXtwirepeersetupfuncs(RR!tcreatet
presetupfuncsRbRctobjtlogtftallreposetupstatstnametmodulethooktstats((Rs2/usr/lib64/python2.7/site-packages/mercurial/hg.pyt_peerorrepo�s,		


Rlc
C@skt|||d|d|d|�}|j�}|s^tjtd�|pT|j���n|jd�S(s1return a repository object for the specified pathRsRbRcsrepository '%s' is not localtvisible(R|RXR	R)RRtfiltered(RR!RrRsRbRcR3RY((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pyt
repository�scC@s1t||�}t|||d|d|�j�S(s/return a repository peer for the specified pathRbRc(tremoteuiR|R3(tuiorrepotoptsR!RrRbRctrui((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pyR3�scC@s8tj|�j}|sdStjjtjj|��S(s9return default destination of clone if none is given

    >>> defaultdest(b'foo')
    'foo'
    >>> defaultdest(b'/foo/bar')
    'bar'
    >>> defaultdest(b'/')
    ''
    >>> defaultdest(b'')
    ''
    >>> defaultdest(b'http://example.org/')
    ''
    >>> defaultdest(b'http://example.org/foo/')
    'foo'
    Rl(RRR!R tbasenametnormpath(tsourceR!((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pytdefaultdest�scC@s�|j|jkrdStj|d�r8|jr8|jS|jj|j�d}t|�\}}t	|j
|�}||_|S(s}Returns repository object for source repository of a shared repo.

    If repo is not a shared repository, returns None.
    tsrcrepoiN(t
sharedpathR!R4RRRR�RtsplitRFRR(RYR�tsrcurlR=R�((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pytsharedreposource�s	c	C@s0t|�s$tjtd���n|s9t|�}n|j|�}t|t�r�|j|�}t|�\}}t	||�}	t
|	|	|d	�\}
}n|j�}	d	}t
�}|r�|jt�nt	||dtdi|	d6|d6|d6�}
t|	|
d|�t|
|d|�|
S(
screate a shared repositorys!can only share local repositoriesRrRct
sharedrepotsharedrelativetshareditemstdefaultpathtcheckoutN(RVR	R)RR�RRURDRFRRBR4RXtsettaddtsharedbookmarksR.t	postsharet_postshareupdate(RR�tdesttupdateRR�trelativet
origsourceR=R�trevR�R�R(((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pytshare�s,	
c	C@sd}}|j�}zit|||j�}|jjd�}tj||d�|jj	d�|jj	d�|j
�Wd|o�|j�|o�|j�Xt|j
|jdt�}|d}|j}x't|�D]}|j|�j�q�Wtj|�|S(sconvert a shared repository to a normal one

    Copy the store data to the repo and remove the sharedpath data.

    Returns a new repository object representing the unshared repository.

    The passed repository object is not usable after this function is
    called.
    R�s.oldtsharedt	relsharedNRrR%(R4Rt	copystoreR!RtjoinRtrenametrequirementstdiscardt_writerequirementstreleaseRtbaseuitrootR/tsubstatetsortedtsubtunshareR
tpoisonrepository(	RRYtdestlockRt	sharefiletnewrepotctsubsts((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pyR�s$

	
cC@sN|p|jjdd�}|rJd}|jjdtj||��ndS(sACalled after a new shared repo is created.

    The new repo only has a requirements file and pointer to the source.
    This function configures additional shared data.

    Extensions can wrap this function and write additional entries to
    destrepo/.hg/shared to indicate additional pieces of data to be shared.
    tpathstdefaults[paths]
default = %s
thgrcN(RtconfigRtwriteRttonativeeol(t
sourcerepotdestrepoR�R�ttemplate((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pyR�Cs	cC@s�|s
dS|jjtd��|tk	r5|}nxW|ddfD]F}|dkr]qEny|j|�}PWqEtjk
r�qEqEXqEWt||�dS(s�Maybe perform a working directory update after a shared repo is created.

    ``update`` can be a boolean or a revision to update to.
    Nsupdating working directory
R�ttip(	RtstatusRR.R4tlookupR	R;t_update(RYR�R�ttesttuprev((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pyR�Rs	c
C@s�d}y�d}|r!td�n	td�}|j|dtd���W}d}|j�}tj|j�}	tj|�}
x�|jj�D]�}|r�|j	d�r�q�nt
jj|�}|r�|
j
|�r�|
j|�n|	j
|�r�|j	d�r/t
jj|d�}
tj|
|
�}ntj|	j|�|
j|�||�\}}||7}q�q�W|r�|jd	|�n|jd
|�WdQX|SWnt|��nXdS(sGcopy files from store of srcrepo in destpath

    returns destlock
    tlinkingtcopyingtunittfilesit
phaserootstdataRslinked %d files
scopied %d files
N(R4Rtmakeprogresst
publishingtvfsmodRR�tstoretcopylisttendswithR R!tdirnametexiststmkdirR�RRt	copyfilesRfR�(RR�tdestpathR�thardlinkttopictprogresstnumt
srcpublishingtsrcvfstdstvfsRvtdstbasetlockfiletn((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pyR�gs:
c
C@sCd}
|r�|jd�s3tjtd���ng}xI|D]A}|j��-}
|j|
jdi|d6�j��WdQXq@W|}
nt	j
j|�}ytj
|t�Wn+tk
r�}
|
jtjkr��q�nXtj|�}t	j
j|�}tj|d|��vt	j
j|�rF|jtd�|�nE|jtd�|�t|||d|d	td
|dtd|	�WdQXt|�r�t	j
jtj|��}n|}t|d
|�}t||d|dtdtd|�t|d
|�}tj ||d|
�t!||�|t"|||�fS(sPerform a clone using a shared repo.

    The store for the repository will be located at <sharepath>/.hg. The
    specified revisions will be cloned or pulled from "source". A shared repo
    will be created at "dest" and a working copy will be created if "update" is
    True.
    R�sXsrc repository does not support revision lookup and so doesn't support clone by revisiontkeyNs%s.locks-(sharing from existing pooled repository %s)
s((sharing from new pooled repository %s)
R�tpullR1R�tstreamR!RR�theads(#R4R6R	R)RR8R7R9R:R R!R�RtmakedirR/tOSErrorterrnotEEXISTR�RR�RR�R�tcloneR.RVtabspathRRR�R
R�R�R3(Rtpeeroptst	sharepathR�tsrcpeerR�R�R�R�R�R1t
remoterevsR(RAtpooldirtpoolvfsR�R�t	sharerepoR�((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pytclonewithshare�sF	
	

cC@sv|jjd|�}tjj||�}tjj|�rrtjj|�s_tj|�ntj||�ndS(s8copy a cache from srcrepo to destcachedir (if it exists)scache/%sN(RR�R R!R�R�Rtcopyfile(R�tdstcachedirtfnametsrcbranchcachetdstbranchcache((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pyt
_copycache�sc
2C@s
t|t�rH|j|�}
t|
|�\}}t|||�}n.|j�}d|p`gf}|j�}
}t||||�\}}|dkr�t|�}|r�|j	t
d�|�q�n|j|�}tj|�}tj|�}|st
jt
d���ntj|dt�}|j�r�|j�s`t
jt
d�|��q�|j�r�t
jt
d�|��q�ni}t}|
dk	r�tj|
�t}n|dk	r�tj|�t}n|r|r�|
r�dh}
nt|d<n|rt|d<n|jd	�rnt|d
<tjd
�rX|j	t
d��qn|j	t
d��n|	pwi}	|	jd
�}|	jd�}|rt|�rd}|dkrdy{|j��&}|jdidd6�j�}WdQX|t j!kr#t"j#j$|t j%|��}n|j	t
d��Wq�t
j&k
r`|j	t
d��q�XnU|dkr�t"j#j$|t j%t'j(|�j)���}nt
jt
d�|��|r�|j	t
d��d}n|rt*||||||d|d|d|d|�Snd}}}|j+�}z�|
}t|
�rbt"j#j,tj|
��}nt|�rw|}nt}|r�|j-�r�t|�r�t.j/|�r�|o�|}n|r�t}n|ry|j0dt�}Wqt
j1k
rt}qXn|r�|j2ddtd d!�t"j#j3t"j#j$|d"��}t"j#j4|�sitj5|�n|}y|} tj6| d#t�WnJt7k
r�}!|!j8t8j9kr�d}t
jt
d�|��n�nXt:||| �}|jj$d$�}"t"j#j$| d$�}#t"j#j4|"�r7tj;|"|#�nt"j#j$| d%�}$x't<j=|�D]}%t>||$|%�q\Wt|||�}&|j2d&d d!d't j%t j!��nUy(t|p�|||d(td)|�}&WnJt7k
r$}!|!j8t8j9krd}t
jt
d�|��n�nX|r�|jd�sRt
jt
d*���ng}'xI|D]A}(|j��-}|'j?|jdi|(d6�j��WdQXq_W|'}|d+}nd}|&j+�})|)r�|r�|)j0��|)j@|
|�WdQXntj|�}*t|*�}+|)jAjBd,d-|+d!�|sM|rDt}qMd}nitdA6},|)jAjC|,d!��0tDjE|)||d0|d1|
d2|d3|�WdQXna|r�|r�t
jt
d4���ntDjF||&d5|d$|jGjH��nt
jt
d6���d}|&j+�}-|-r�tIjJd7}.tj|�}*d|*_Kt|*�}+|-jjLd8tjM|.|+��|-jAjBd,d-|+d!�|jNd9d:�r�	tOjP|-|�n|r�|tk	r�	|j��&}|jdi|d6�j�}WdQXnd}/d}0|dk	r�
tQ|�d;kr4
||-kr4
|}/q�
tRjS|-|�ra
tRjT|-|�j �}/q�
|tk	r�
y|-jU|�}/Wq�
t
j&k
r�
q�
Xq�
n|/dkrKyR|-jGd<}/d<}|-|/jV�}1|1d-kr�
t
d=�}0nt
d>�|1}0WqKtWk
rGy|-jXd-�}/WqHt
j&k
rC|-jUd?�}/qHXqKXn|0st|-|/jV�}1t
d@�|1}0n|-jAj	|0�tY|-|/�||-jGkr�tZj[|-|�q�q�nWdt\||�|dk	r�t]j^|t�n|dk	r|j_�nX||&fS(Bs�Make a copy of an existing repository.

    Create a copy of an existing repository in a new directory.  The
    source and destination are URLs, as passed to the repository
    function.  Returns a pair of repository peers, the source and
    newly created destination.

    The location of the source is added to the new repository's
    .hg/hgrc file, as the default to be used for future pulls and
    pushes.

    If an exception is raised, the partly cloned/updated destination
    repository will be deleted.

    Arguments:

    source: repository object or URL

    dest: URL of destination repository to create (defaults to base
    name of source repository)

    pull: always pull from source repository, even in local case or if the
    server prefers streaming

    stream: stream raw data uncompressed from repository (fast over
    LAN, slow over WAN)

    revs: revision to clone up to (implies pull=True)

    update: update working directory after clone completes, if
    destination is local repository (True means update to default rev,
    anything else is treated as a revision)

    branch: branches to clone

    shareopts: dict of options to control auto sharing behavior. The "pool" key
    activates auto sharing mode and defines the directory for stores. The
    "mode" key determines how to construct the directory name of the shared
    repository. "identity" means the name is derived from the node of the first
    changeset in the repository. "remote" means the name is derived from the
    remote's path/URL. Defaults to "identity."

    storeincludepats and storeexcludepats: sets of file patterns to include and
    exclude in the repository copy, respectively. If not defined, all files
    will be included (a "full" clone). Otherwise a "narrow" clone containing
    only the requested files will be performed. If ``storeincludepats`` is not
    defined but ``storeexcludepats`` is, ``storeincludepats`` is assumed to be
    ``path:.``. If both are empty sets, no files will be cloned.
    sdestination directory: %s
s#empty destination path is not validRsdestination '%s' already existssdestination '%s' is not emptyspath:.tnarrowfilestshallowfilestores	lfs-servetlfsse(remote is using large file support (lfs), but it is explicitly disabled in the local configuration)
sT(remote is using large file support (lfs); lfs will be enabled for this repository)
tpooltmodetidentityR�t0R�Ns7(not using pooled storage: remote appears to be empty)
sA(not using pooled storage: unable to resolve identity of remote)
tremotesunknown share naming mode: %ss1(pooled storage not supported for narrow clones)
R�R�R�R�twaittpreoutgoingtthrowR�R�s.hgt
notindexedRtcachetoutgoingRRrRcsXsrc repository does not support revision lookup and so doesn't support clone by revisioniR�R�Rtquietbookmarkmovetstreamclonerequestedtincludepatstexcludepatstdepths2narrow clone not available for remote destinationsR1s)clone from remote to remote not supportedtclonedR�texperimentaltremotenamesit@supdating to bookmark @
s$updating to bookmark @ on branch %s
R�supdating to branch %s
(RR(`RURDRRFR3R4RRBR�R�RRRR	R)R�RR.tlexiststisdirtlistdirR/RtvalidatepatternsR6RtdisabledextRPRVR8R9R:RRR R!R�R&R;thashlibtsha1tdigestR�RXR�tcancopyRt	hassecretRt	LockErrorRztrealpathR�tmakedirsR�R�R�R�R�R�RtcachetocopyR�R7t
setnarrowpatsRt	setconfigtconfigoverrideR
R�tpusht
_bookmarkstkeystuimodtsamplehgrcstpasswdR�R�RoRtpullremotenamestlenRtisrevsymbolt	revsymbolR�R+tKeyErrort	branchtipR�RtactivateR�tshutiltrmtreetclose(2RR�R�R�R�R1R�R�R+t	shareoptststoreincludepatststoreexcludepatsRR�R=R�R�tdestvfsRctnarrowt	sharepoolt
sharenamemodeR�RAtrootnodetsrclockR�tcleandirR�R�tcopythgdirR�tinsttsrcbookmarkstdstbookmarksR�RtdestpeerR�R�RXREt
defaulturlt	overridesR�R�R�R�tbn((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pyR��s�5
	
	



!	'
	
		
!





		

	 	

	


cC@sL|r|j�rdS|jjtd�|j|j|j|jf�dS(NsI%d files updated, %d files merged, %d files removed, %d files unresolved
(tisemptyRR�Rtupdatedcounttmergedcounttremovedcounttunresolvedcount(RYR{t
quietempty((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pyt
_showstatsFs
cC@s.tj||dtd|dddgd|�S(s�Update the working directory to node.

    When overwrite is set, changes are clobbered, merged else

    returns stats (see pydoc mercurial.merge.applyupdates)tbranchmergetforcetlabelssworking copytdestinationtupdatecheck(tmergemodR�R/(RYRt	overwriteRK((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pyt
updaterepoNscC@sWt||td|�}t|||�|jrJ|jjtd��n|jdkS(s$update the working directory to nodeRKs1use 'hg resolve' to retry unresolved file merges
i(RNR/RFRDRR�R(RYRRERKR{((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pyR�Xs
	cC@sNt||t�}|jjddt�|rAt|||�n|jdkS(sAforcibly switch the working directory to node, clobbering changest
graftstatet
ignoremissingi(RNR.Rt
unlinkpathRFRD(RYRt
show_statsRER{((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pytcleancs
c	C@s^|dkr6|jdd�}|dkr6d}q6n|j��d}t}|dkr�tj|d|�}|\}}}t}n|r�t||�}	n=|dkr�tj	|dt�d}nt
||d	|�}	|	r�|r�||d
j�krq;tj
||g|d
j��rT|j|jd�}
|jtd�|
�q;|j|jd
�}
|jtd�|
�tj|�n�||jkr�||jkr�|j|d�}
|jtd�|
�ntj||�nN|r;|jr+|j|jd
�}
|jtd�|
�ntj|�n|rTtj||�nWdQX|	S(s�Update the working directory with extra care for non-file components

    This takes care of non-file components below:

    :bookmark: might be advanced or (in)activated

    This takes arguments below:

    :checkout: to which revision the working directory is updated
    :brev: a name, which might be a bookmark to be activated after updating
    :clean: whether changes in the working directory can be discarded
    :updatecheck: how to deal with a dirty working directory

    Valid values for updatecheck are (None => linear):

     * abort: abort if the working directory is dirty
     * none: don't check (merge working directory changes into destination)
     * linear: check that update is linear before merging working directory
               changes into destination
     * noconflict: check that the update does not result in file merges

    This returns whether conflict is detected at updating or not.
    tcommandssupdate.checktaborttnonetlineart
noconflictRSRRKR%sbookmarks.activesupdating bookmark %s
Rs(leaving bookmark %s)
s(activating bookmark %s)
N(RURVRWRX(R4R�twlockR/Rt
destupdateR.t_cleanRt
bailifchangedR�RRR�Ret_activebookmarkR�Rt
deactivateRR)tstatusotherdests(RRYR�tbrevRSRKtmovemarkfromtwarndesttupdatatrettb((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pyt
updatetotallynsN
		
"	c	C@s|s3tj||dtd|d|d|�}n�tjj|�}|j�rc|jj�}n|dj�}|jj	t
d�|d �tj||dtdtd|�}t||�|j
r�|jj	t
d��n&|r
|r
|jj	t
d	��n|j
d
kS(sWBranch merge with node, resolving changes. Return true if any
    unresolved conflicts.RGRHt
mergeforceRIR%s(aborting the merge, updating back to %s
isRuse 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
s'(branch merge, don't forget to commit)
i(RLR�R.t
mergestatetreadtactivetlocalctxR&RR�RR/RFRD(	RYRRHtremindRgRIRUR{tms((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pyR�s"	
	
cC@sSt|j|�|jd��\}}t|||�}|jtd�tj|��t||||jd��\}	}
|	r�g|	D]}|j	|�^q�}	nt
j||||	|d|d�\}}}
zf|s�|jtd��|�S|jd�t
j|||d|�}||||�|j�Wd	|
�X|�d
S(s�
    Helper for incoming / gincoming.
    displaychlist gets called with
        (remoterepo, incomingchangesetlist, displayer) parameters,
    and is supposed to contain only code that can't be unified.
    R+scomparing with %s
R�RGRHsno changes found
tincomingtbufferedNi(RFRRPR3R�RRthidepasswordRBR�RtgetremotechangestpagerRtchangesetdisplayerR,(t
displaychlisttsubreporecurseRRYR�R�RoR=R<R1R�R�tchlistt	cleanupfnt	displayer((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pyt	_incoming�s(' $% 
	c@s@����fd�}�fd�}t||�����S(Nc@smd}�jd�ri�d}xGt|j�D]3}|j|�}t||j�����}q/Wn|S(Nitsubrepos(RPR4R�R�R�tminRn(RdtctxtsubpathR�(R�RYR�R(s2/usr/lib64/python2.7/site-packages/mercurial/hg.pyRu�s
%c@s�tj��}�jd�r+|j�nd}x�|D]�}|dk	rZ||krZPng|jj|�D]}|tkrm|^qm}�jd�r�t|�dkr�q8n|d7}|j	||�q8WdS(Ntnewest_firstit	no_mergesii(
RtgetlimitRPtreverseR4t	changelogtparentsRR$tshow(R<RvRxtlimittcountR�tpR�(R�(s2/usr/lib64/python2.7/site-packages/mercurial/hg.pytdisplay�s

1!
(Ry(RRYR�R�RuR�((R�RYR�Rs2/usr/lib64/python2.7/site-packages/mercurial/hg.pyRn�s	
cC@sY|jj|dd
�}|sBtjtd�dtd���n|jpQ|j}|j|jd�plgf}|j	td�t
j|��t||||jd��\}}|r�gt
j||�D]}||j�^q�}nt|||�}	tj||	|d	|jd	��}
|
j}|sOt
j|j||
j�n||	fS(NR�sdefault-pushs"default repository not configured!thintssee 'hg help config.paths'R+scomparing with %s
R�RH(sdefault-pushR�(R�tgetpathR	R)RtpushloctlocR+RPR�RRpRBRtrevrangeRR3RtfindcommonoutgoingtmissingtnochangesfoundRtexcluded(RRYR�R�R!R=R1R�R�R<Rto((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pyt	_outgoings" $2	c
@sz����fd�}tj��}t�����\}}|shtj��|�|�|�S�jd�r�|j�n�jd�tj����}d}	x�|D]�}
|dk	r�|	|kr�Png�j
j|
�D]}|tkr�|^q�}�jd�r-t
|�dkr-q�n|	d7}	|j�|
�q�W|j�tj��|�|�|�dS(Nc@smd}�jd�ri�d}xGt|j�D]3}|j|�}t||j�����}q/Wn|S(NiRz(RPR4R�R�R�R{R(RdR|R}R�(R�R�RYR(s2/usr/lib64/python2.7/site-packages/mercurial/hg.pytrecurse!s
%R~RiRii(RR�R�Rt
outgoinghooksRPR�RrRsR4R�R�RR$R�R,(
RRYR�R�R�R�R�R<RxR�R�R�R�((R�R�RYRs2/usr/lib64/python2.7/site-packages/mercurial/hg.pyR s.	


1!

cC@s$tj|�}|jdtj|j|j�d��}|r |jjt	d��x�|D]�}||}ypxi|j
D]^}y%|j|dt�j�p�|}Wqyt
jk
r�}|jjd||f�qyXqyWWq\tk
r|jjt	d�tj|j���q\Xq\Wn|S(s&verify the consistency of a repositorysfilelog(%s)s.hgsubstateschecking subrepo links
tallowcreates%d: %s
s&.hgsubstate is corrupt in revision %s
(t	verifymodRR1RtpathtoR�tgetcwdRR�RR�R�R/R	t	RepoErrortwarnt	ExceptionRtshort(RYRdR1R�R|R}RA((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pyRBs$	!


&
"c	C@s@tj|d�r-|jj�}|j}n|j�}xNdD]F}|j|�pd|jd|�}|r@|jd||d�q@q@W|jdd�}|r�|jdd|d�nxDdD]<}x3|j|�D]"\}}|j|||d�q�Wq�W|jdd
�}|r<|jdd
tj	|�d�n|S(s*build a remote ui from ui or repo and optsR�RLt	remotecmdRtcopiedRGtmainreporoottauththostfingerprintsthostsecurityt
http_proxytwebtcacerts(RLR�(R�R�R�R�(
RRRR�R7RRPR�RtconfigitemsR(	tsrcR�tdstR�tvR(tsectR�tval((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pyR�_s$
!
"tspaths
00changelog.iR�tobsstoreR!tcachedlocalrepocB@s2eZdZd�Zd�Zd�Zd�ZRS(s6Holds a localrepository that can be cached and reused.cC@s1||_|j�\|_|_|j|_dS(s�Create a new cached repo from an existing repo.

        We assume the passed in repo was recently created. If the
        repo has changed between when it was created and when it was
        turned into a cache, it may not refresh properly.
        N(t_repot
_repostatet_statetmtimet
filternamet_filtername(tselfRY((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pyt__init__�s	cC@s�|j�\}}||jkr.|jtfSt|jj|jj��}|jrm|j|j�|_n|j	�|_||_||_
|jtfS(sRefresh (if necessary) and return a repository.

        If the cached instance is out of date, it will be recreated
        automatically and returned.

        Returns a tuple of the repo and a boolean indicating whether a new
        repo instance was created.
        (R�R�R�R/RR�RR�R~t
unfilteredR�R.(R�tstateR�RY((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pytfetch�s
			cC@s�g}d}x�tD]�\}}t|j|�}tjj||�}ytj|�}Wn tk
r{tj|�}nX|j|tj	|j
f�t||tj	�}qWt|�|fS(Ni����(
tfoiRnR�R R!R�tstatR�R7tST_MTIMEtst_sizetmaxttuple(R�R�tmaxmtimetattrR�tprefixR�tst((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pyR��s
cC@smt|jj|jj�}|jr9|j|j�}n|j�}t|�}|j|_|j	|_	|S(s�Obtain a copy of this class instance.

        A new localrepository instance is obtained. The new instance should be
        completely independent of the original.
        (
RR�R�torigrootR�R~R�R�R�R�(R�RYR�((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pyR7�s	(t__name__t
__module__t__doc__R�R�R�R7(((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pyR��s
			(St
__future__RR�RR R*R�ti18nRRRRlRRRRRRR	R
RRR
RRRRRLRRRRRRR RRRRR�RR�R�R�R#RBR4RFRORTRVRaRqR/R|RR3R�R�R.R�R�R�R�R�R�R�R�RFRNR�R�RSR[RfRyRnR�RR�R�tobjectR�(((s2/usr/lib64/python2.7/site-packages/mercurial/hg.pyt<module>	s��			+

	
				
		"	/	&I			�e
		H			"