-=[ Mr. Bumblebee ]=-
_Indonesia_

Path : /usr/lib/python2.7/dist-packages/bzrlib/
File Upload :
Current File : //usr/lib/python2.7/dist-packages/bzrlib/remote.pyc


#{YPc@@sddlmZddlZddlZddlmZmZmZm	Z
mZmZm
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZddl m!Z!m"Z"ddl#m$Z$m%Z%m&Z&ddl'm(Z(m)Z)ddl*m+Z+ddl,m-Z-dd	l.m/Z/dd
l0m1Z1m2Z2mZ3ddl4m5Z5ddl6m7Z7dd
l8m9Z9ddl:m;Z;m<Z<ddl=m>Z?ddl@mAZAmBZBmCZCmDZDddlEmFZFdZGdeHfdYZIdZJdejKfdYZLde
jMfdYZNdejOeIfdYZPdejQfdYZRdejSeIejTfdYZUd ejVfd!YZWd"ejXfd#YZYd$e/fd%YZZd&ej[fd'YZ\d(e
jMfd)YZ]d*ej^eIejTfd+YZ_d,eHfd-YZ`d.e`fd/YZad0e`fd1YZbd2ZcejdZeejdZfd3Zgeejhd4d5eejhd6d7d8Zieejhd9eieejhd:d;eejhd<d=eejhd>d?eejhd@dAeejhdBdCdDZjeejhdEejeejhdFdGeejhdHdIeejhdJdKeejhdLdMeejhdNdOefjhdPdQefjhdRdSefjhdTdUefjhdVdWefjhdXdYefjhdZd[efjhd\d]efjhd^d_d`ZkefjhdaekdbZlefjhdcelefjhddelefjhdedfefjhdgdhefjhdidjefjhdkdldS(mi(tabsolute_importN(tbencodetbranchtbzrdirtconfigt
controldirtdebugterrorstgpgtgraphtinventory_deltatlocktlockdirtosutilstregistryt
repositorytrevisiontstatic_tupletsymbol_versioningt	testamentturlutilst
vf_repositoryt	vf_search(tBranchReferenceFormattBranchWriteLockResult(tneeds_read_locktneeds_write_locktonly_raises(tNoSuchRevisiontSmartProtocolError(tgettext(t	Inventory(t
LockableFiles(tclienttvfsR(t_SmartClient(t
NULL_REVISION(tInventoryRevisionTree(tRepositoryWriteLockResultt
_LazyListJoin(tformat_registry(tmuttertnotetwarningtlog_exception_quietly(tFulltextContentFactoryidt
_RpcHelpercB@s2eZdZdZdZdZdZRS(s)Mixin class that helps with issuing RPCs.cO@sDy|jj||SWn&tjk
r?}|j||nXdS(N(t_clienttcallRtErrorFromSmartServert_translate_error(tselftmethodtargsterr_contextterr((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_callGscO@sDy|jj||SWn&tjk
r?}|j||nXdS(N(R/tcall_expecting_bodyRR1R2(R3R4R5R6R7((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_call_expecting_bodyMscK@sGy|jj|||SWn&tjk
rB}|j||nXdS(N(R/tcall_with_body_bytesRR1R2(R3R4R5t
body_bytesR6R7((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_call_with_body_bytesSscK@sGy|jj|||SWn&tjk
rB}|j||nXdS(N(R/t#call_with_body_bytes_expecting_bodyRR1R2(R3R4R5R<R6R7((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt$_call_with_body_bytes_expecting_bodyYs
	(t__name__t
__module__t__doc__R8R:R=R?(((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR.Ds
			cC@sSt}|ddk|_|ddk|_|ddk|_|d|_|S(sDConvert a response tuple describing a repository format to a format.ityesiii(tRemoteRepositoryFormatt_rich_root_datat_supports_tree_referencet_supports_external_lookupst
_network_name(tresponsetformat((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytresponse_tuple_to_repo_formatbs	
tRemoteBzrDirFormatc	B@seZdZeZeZdZdZdZdZ	dZ
dZdZdZ
d	Zeeedddded
ZdZdZd
ZdZdZeeejjZRS(s7Format representing bzrdirs accessed via a smart servercC@stjj|d|_dS(N(t_mod_bzrdirtBzrDirMetaFormat1t__init__tNoneRH(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyROvscC@sd|jj|jfS(Ns%s(_network_name=%r)(t	__class__R@RH(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt__repr__~scC@sK|jrGytjj|j}Wntk
r5qGXd|jSndS(NsRemote: sbzr remote bzrdir(RHRtnetwork_format_registrytgettKeyErrortget_format_description(R3treal_format((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRVs		
cC@st|jdS(N(tNotImplementedErrortget_format_string(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRYscC@s |jr|jStddS(NsNo network name set.(RHtAssertionError(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytnetwork_names	c	C@sy|j}Wn*tjk
r<tj}|j|SXt|}|j|}y|jd|}Wn&tj	k
r}t
|d|nX|ddkrtjd|fnt}|j
|t||S(NsBzrDirFormat.initializetpathitoksunexpected response code %s(tget_smart_mediumRt
NoSmartMediumRMRNtinitialize_on_transportR#tremote_path_from_transportR0R1R2RRLt_supply_sub_formats_totRemoteBzrDir(	R3t	transportt
client_mediumtlocal_dir_formatR!R\RIR7RJ((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR`s 	
cC@s>|s
dS|dkrtS|dkr*tStd|dS(NtFalsetTruesinvalid arg %r(RPRgRhRZ(R3targ((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytparse_NoneTrueFalsescC@s|tkrdS|rdSdS(NRgRht(Rg(R3Ri((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_serialize_NoneTrueFalses
cC@s
|p	dS(NRk((R3Ri((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_serialize_NoneStringsc
C@sSy|j}
Wntjk
r,t}n^X|
jry+|
j}|dkr]t}nt}Wqtjk
rt}qXnt}|st|
}
|
j	|}|
j
d
rt}qn|r(tj}|j
||j|d|d|d|d|d|d	|d
|d|	dt	S|j|
||||||||||	S(Nt2iituse_existing_dirt
create_prefixtforce_new_repot
stacked_ontstack_on_pwdtrepo_format_nametmake_working_treestshared_repotvfs_only(ii(R^RR_Rhtshould_probetprotocol_versionRgRR#Rat_is_remote_beforeRMRNRbtinitialize_on_transport_ext_initialize_on_transport_ex_rpc(R3RdRoRpRqRrRsRtRuRvRetdo_vfstserver_versionR!R\Rf((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR{s<
	


cC@sg}|j|j||j|j||j|j||j|j||ry"|j|}|sd}nWqtjk
rqXn|j|j||j|j|	|j|j|
|j|j||jptjj	j
}
y|jd|
||}Wntjk
r|j
jdtj}|j||j|d|d|d|d|d	|d
|	d|
d|d
t	Stjk
r}t|d|nX|d}|d}|d}|j|}t}||_|j|t||d|}|rgt|d}|dkrcd}n|rt}|d|_t|j||}n|}|dpd}|dpd}|rtj|j|}nt||}t|dkr8|dpd}|j |dt|rB|j!qBn
|j tj"||||}|j#nd}d}|j$j%|j&|r|j$j'dtn||||fS(Nt.sBzrDirFormat.initialize_ex_1.16iiRoRpRqRrRsRtRuRvRwR\iiiR/Rkiii	i
t	_skip_rpct
_skip_repo(ii((tappendRlRmtrelpathRtPathNotChildRHRMtBzrDirFormattget_default_formatR[R0tUnknownSmartMethodt_mediumt_remember_remote_is_beforeRNRbR{RhR1R2RjRLRcRKtcloneRPRtjointbasetRemoteRepositorytlent
lock_writetdont_leave_lock_in_placetUseExistingRepositorytacquire_repositoryt_formattset_branch_formattget_branch_formattrequire_stacking(R3R!R\RdRoRpRqRrRsRtRuRvR5trequest_network_nameRIRfR7t	repo_pathtbzrdir_nameRRJRtrepo_formattrepo_bzrdir_formattrepo_bzrtfinal_stacktfinal_stack_pwdtremote_repotrepo_lock_tokentpolicy((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR|s
		



		
		


cC@s
t||S(N(Rc(R3Rd((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_open<scC@s)t|tstS|j|jkS(N(t
isinstanceRLRgRV(R3tother((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt__eq__?scC@sDt}t|dd}|r@t|tr4|S||_n|S(Nt_repository_format(RDtgetattrRPRt_custom_format(R3tresultt
custom_format((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt__return_repository_formatDs	cC@sMtjj|}t|tsIt}||_|j||}n|S(N(RMRNRRtRemoteBranchFormatRR(R3Rt
new_result((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRTs		
	N(R@RARBRgtsupports_workingtreestcolocated_branchesRORRRVRYR[R`RjRlRmRPR{R|RRt-_RemoteBzrDirFormat__return_repository_formatRtpropertyRMRNt_set_repository_formattrepository_format(((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRLos.												)	S				
tRemoteControlStorecB@sheZdZdZd
dZdZedZdZ	dZ
dZdZd	Z
RS(sControl store which attempts to use HPSS calls to retrieve control store.

    Note that this is specific to bzr-based formats.
    cC@s)tt|j||_d|_dS(N(tsuperRRORRPt_real_store(R3R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyROhs	cC@s|j|jj|S(N(t_ensure_realRR(R3ttoken((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRms
cC@s|j|jjS(N(RRtunlock(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRqs
cC@s|jdS(N(tsave_without_locking(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytsaveuscC@stt|jdS(N(RRR(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRzscC@s8|jj|jdkr4tj|j|_ndS(N(RRRRPt_mod_configtControlStore(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR}s
cC@stj|jjdS(Nscontrol.conf(RRRtuser_url(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytexternal_urlscC@s|jjj}|jj|jj}y|jjd|\}}Wn(tjk
rp|j|jj	SXt
|r|ddkrtj|n|jS(NsBzrDir.get_config_fileiR](
RR/Rt_path_for_remote_callR:RRRRt
_load_contentRtUnexpectedSmartServerResponsetread_body_bytes(R3tmediumR\RIthandler((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs	
cC@s|j|jj|S(N(RRt
_save_content(R3tcontent((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs
N(R@RARBRORPRRRRRRRRR(((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRbs						
RccB@seZdZd(edZdZdZdZdZ	dZ
dZdZd	Z
d
ZedZedZed
ZdZd(d(d(dZd(dZd(d(d(edZd(dZd(edZd(dZd(dZdZd(dZed(dZd(eed(dZdZdZdZ dZ!dZ"e#dZ$d Z%d(d!Z&d"Z'd#Z(d$Z)d%Z*d&Z+d'Z,RS()sEControl directory on a remote server, accessed via bzr:// or similar.cC@stjj|||d|_d|_d|_|dkr^|j}tj	||_
n||_
|sqdS|jdS(sConstruct a RemoteBzrDir.

        :param _client: Private parameter for testing. Disables probing and the
            use of a real bzrdir.
        N(RMtBzrDirRORPt_real_bzrdirt_has_working_treet_next_open_branch_resultR^R!R#R/t
_probe_bzrdir(R3RdRJR/t_force_probeR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyROs				cC@sd|jj|jfS(Ns%s(%r)(RQR@R/(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRRscC@s|jj}|j|j}|jdr>|j|dSy|j|dSWn.tjk
r|jd|j|nXdS(Nii(ii(ii(	R/RRRzt	_rpc_opent
_rpc_open_2_1RRR(R3RR\((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs


cC@s|jd|}|dkr9tjd|jjni|ddkr|ddkret|_q|ddkrt|_qtj|ntj|dS(NsBzrDir.open_2.1tnoR\iRCi(sno(	R8RtNotBranchErrortroot_transportRRhRRgR(R3R\RI((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRscC@sa|jd|}|ddgkr6tj|n|dkr]tjd|jjndS(NsBzrDir.openRCRR\(syes(sno(sno(R8RRRRR(R3R\RI((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs
cC@s|jsdtjkrCddl}tddj|jntjj	|j
dtjg|_|jjj
|j_ndS(sbEnsure that there is a _real_bzrdir set.

        Used before calls to self._real_bzrdir.
        thpssvfsiNsVFS BzrDir access triggered
%sRktprobers(RRtdebug_flagst	tracebackR+Rtformat_stackRMRtopen_from_transportRt	BzrProberRR[RH(R3R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs		cK@st|d||dS(NR(R2(R3R7tcontext((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR2scC@sd|_tjj|S(N(RPRRMRt
break_lock(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs	cC@s|j|jjS(N(RRtcheckout_metadir(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_vfs_checkout_metadirs
c	C@s|jj}|jd
r%|jS|j|j}y|jjd|}Wn(tjk
rz|jd|jSXt	|dkrtj
|n|\}}}ytjj
|}Wn)tk
rtjddd|nX|rDytjj
|}Wn)tk
r7tjddd|nX||_n|ry|jtjj
|Wqtk
rtjdd	d|qXn|S(sIRetrieve the controldir format to use for checkouts of this one.
        iisBzrDir.checkout_metadiritkindtcontrolRJRR(ii(ii(R/RRzRRR0RRRRRRRSRTRUtUnknownFormatErrort_mod_repositoryRRR(	R3RR\RItcontrol_namet	repo_nametbranch_nameRJR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRsD




	



cC@s|j|jjd|S(NR(RRtcloning_metadir(R3R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_vfs_cloning_metadirs
cC@s|jj}|jdr+|jd|Sd}|r@d}nd}|j|j}y|j|||}Wnntjk
r|jd|jd|Stj	k
r}|j
dkrn|j}|jj
SXt|dkrtj|n|\}	}
}t|d	kr9tj|n|\}}
ytjj|	}Wn)tk
rtjd
dd|	nX|
rytjj|
|_Wqtk
rtjd
d
d|
qXn|dkrtjj|
}|j
j}|j|nv|dkr||
rytjj|
}Wn)tk
rhtjd
dd|
nX|j|qntj||S(Nii
RsBzrDir.cloning_metadirRhRgtBranchReferenceiiRRRJRtrefR(ii
(ii
(R(R/RRzRRR8RRRtUnknownErrorFromSmartServerterror_tupletopen_branchRRRRRRSRTRURRRRMRtopenRRR(R3RRtverbtstackingR\RIR7treferenced_branchRRtbranch_infot
branch_refRRJt
ref_bzrdirt
branch_format((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR"sd	

	
	


cC@s9|jjj||}t|ts1|jS|SdS(N(RRt
initializeRRtopen_repository(R3tsharedR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytcreate_repository_s
cC@s|j|j}y|jd|}Wn,tjk
rV|j|jjdSX|ddkr}td|fndS(sSee BzrDir.destroy_repositorysBzrDir.destroy_repositoryNiR]sunexpected response code %s(	RR/R8RRRRtdestroy_repositoryR(R3R\RI((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRhs

cC@s|dkr|j}n|dkr9tj|n|jjj|d|d|d|}t|tst|t	st
d|fnt|||d|}n|}||_|S(NRktnameRtappend_revisions_onlys8need a RemoteRepository to use with RemoteBranch, got %r(RPt_get_selected_branchRtNoColocatedBranchSupportRRRRtRemoteBranchRRZR(R3RRRtreal_branchR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt
create_branchts 		cC@s|dkr|j}n|dkr9tj|n|j|j}y7|dkrf|f}nd}|jd||}Wn;tjk
r|j|j	j
d|d|_dSXd|_|ddkrtd|fndS(	sSee BzrDir.destroy_branchRksBzrDir.destroy_branchRNiR]sunexpected response code %s((
RPRRRRR/R8RRRtdestroy_branchRR(R3RR\R5RI((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs$
		cC@stj|jjdS(N(RtNotLocalUrlRdR(R3trevision_idtfrom_branchtaccelerator_treethardlink((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytcreate_workingtreescC@s|jd|}|jS(s{Find the branch 'format' for this bzrdir.

        This might be a synthetic object for e.g. RemoteBranch and SVN.
        R(RR(R3Rtb((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytfind_branch_formatsc
	C@s|j|j}y|jd|\}}Wn(tjk
rX|j|jjSX|ddkr{tj|nt	j
|j}i}xG|jD]9\}}	|j
||	d|	dd|d|||<qW|S(NsBzrDir.get_branchesitsuccessitpossible_transportstignore_fallbacks(RR/R:RRRRtget_branchesRRtbdecodeRt	iteritemst_open_branch(
R3R
RR\RIRtbodytretRtvalue((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs 
cC@sY|dkr|j}n|dkr9tj|n|j|jj|d|S(s"See BzrDir.set_branch_reference().RkRN(RPRRRRRtset_branch_reference(R3t
target_branchR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs
cC@se|dkr|j}n|dkr9tj|n|j}|ddkr]|dSdSdS(s"See BzrDir.get_branch_reference().RkiRiN(RPRRRt_get_branch_reference(R3RRI((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytget_branch_referencescC@s1|j|j}|jj}ddfdd
fdg}x||D]t\}}|rg|j|rgq@ny|j||}Wn3tjk
r|dkrn|j|q@XPq@W|dkr|ddkrtj	|n|dd	krd
|dfSdSn|ddkr-tj	|n|S(NsBzrDir.open_branchV3iisBzrDir.open_branchV2i
sBzrDir.open_branchiR]RkRR(ii(ii
(sBzrDir.open_branchN(sbranchRk(srefsbranch(
RR/RRPRzR8RRRR(R3R\Rtcandidate_callsRtrequired_versionRI((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs0			cC@sd|jd|fS(sSee BzrDir._get_tree_branch().RN(RPR(R3R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_get_tree_branchscC@s|dkr@t}|j|d|dtd|d|d|S|}|sUd}ntd|}t||jd|d	|d|d|S(
NRRt_foundtlocationRR
R[RJtsetup_stacking(RRRhRPRRtfind_repository(R3RRtlocation_or_formatRR
RJtbranch_format_name((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs		
cC@s|dkr|j}n|dkr9tj|n|rNtdn|jdk	rs|j}d|_|S|j}|j||d|dd|d|S(NRks-unsupported flag support not implemented yet.iiR
R(RPRRRRXRRR(R3RtunsupportedRR
RRI((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs		cC@svd}|j||}|ddkr:tj|n|j|jj}|d|jjf}||fS(NsBzrDir.find_repositoryiR]R(R8RRRRRRR[(R3R\RRItrepo((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt
_open_repo_v1s
cC@ssd}|j||}|ddkr:tj|n|j|jj}||jjf}||fS(NsBzrDir.find_repositoryV2iR](R8RRRRRRR[(R3R\RRIR!((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt
_open_repo_v2)s
cC@sd}|jj}|jdr3tj|ny|j||}Wn$tjk
ro|jdnX|ddkrtj|n|dfS(NsBzrDir.find_repositoryV3ii
iR](ii
(ii
(	R/RRzRRR8RRRP(R3R\RRRI((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt
_open_repo_v33s
cC@sE|j|j}d}xN|j|j|jgD]4}y||\}}PWq1tjk
rdq1Xq1W|dkrtjdn|ddkrtj|nt	|dkrt
d|fn|ddkr2t|d}||_t
||}||_|dk	r.|j|n|Stj|dS(	NsBzrDir.find_repository{3,2,}iR]isincorrect response length %siRki(RR/RPR$R#R"RRRRRRKt_creating_bzrdirRt_creating_repot_set_real_repositorytNoRepositoryPresent(R3R\RItprobet	real_repoRJR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRAs0		cC@s|jdkr|j|j}y|jd|}Wn0tjk
ri|j|jj	|_qX|ddkrt
d|fn|ddk|_n|jS(NsBzrDir.has_workingtreeiRCRsunexpected response code %s(syessno(RRPRR/R8RRRRthas_workingtreeR(R3R\RI((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR+^s
cC@s:|jr!tj|jntj|jjdS(N(R+RRRt
NoWorkingTreeR(R3trecommend_upgrade((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytopen_workingtreelscC@stj|j|jdS(s<Return the path to be used for this bzrdir in a remote call.i(Rtsplit_segment_parameters_rawRaR(R3R!((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRrscC@s |j|jj|d|S(NR(RRtget_branch_transport(R3RR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR0ws
cC@s|j|jj|S(N(RRtget_repository_transport(R3R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR1{s
cC@s|j|jj|S(N(RRtget_workingtree_transport(R3tworkingtree_format((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR2s
cC@stS(s1Upgrading of remote bzrdirs is not supported yet.(Rg(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytcan_convert_formatscC@stS(s1Upgrading of remote bzrdirs is not supported yet.(Rg(R3RJ((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytneeds_format_conversionscC@s
t|S(N(tRemoteBzrDirConfig(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_get_configscC@s
t|S(N(R(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_get_config_storesN(-R@RARBRPRgRORRRRRRR2RRRRRRRRRRRRRRRRRRR"R#R$RR+RhR.RR0R1R2R4R5R7R8(((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRcsV		
							&=						
									RDcB@s:eZdZeZeZeZdZdZ	e
dZe
dZe
dZ
e
dZe
dZe
dZe
d	Ze
d
ZdZedZd
ZdZe
dZe
dZe
dZdZdZdZe
dZe
dZRS(sFormat for repositories accessed over a _SmartClient.

    Instances of this repository are represented by RemoteRepository
    instances.

    The RemoteRepositoryFormat is parameterized during construction
    to reflect the capabilities of the real, remote format. Specifically
    the attributes rich_root_data and supports_tree_reference are set
    on a per instance basis, and are not set (and should not be) at
    the class level.

    :ivar _custom_format: If set, a specific concrete repository format that
        will be used when initializing a repository with this
        RemoteRepositoryFormat.
    :ivar _creating_repo: If set, the repository object that this
        RemoteRepositoryFormat was created for: it can be called into
        to obtain data like the network name.
    cC@sntjj|d|_d|_d|_d|_d|_d|_	d|_
d|_d|_d|_
dS(N(RtRepositoryFormatRORPRRHR%t&_revision_graph_can_have_wrong_parentst_supports_chksRGRFt_supports_funky_characterst_supports_nesting_repositoriesRE(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyROs									cC@sd|jj|jfS(Ns%s(_network_name=%r)(RQR@RH(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRRscC@s|j|jjS(N(RRtfast_deltas(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR>s
cC@s2|jdkr+|j|jj|_n|jS(N(RERPRRtrich_root_data(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR?s
cC@s2|jdkr+|j|jj|_n|jS(N(R;RPRRt
supports_chks(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR@s
cC@s2|jdkr+|j|jj|_n|jS(N(RGRPRRtsupports_external_lookups(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRAs
cC@s2|jdkr+|j|jj|_n|jS(N(R<RPRRtsupports_funky_characters(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRBs
cC@s2|jdkr+|j|jj|_n|jS(N(R=RPRRtsupports_nesting_repositories(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRCs
cC@s2|jdkr+|j|jj|_n|jS(N(RFRPRRtsupports_tree_reference(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRDs
cC@s2|jdkr+|j|jj|_n|jS(N(R:RPRRt%revision_graph_can_have_wrong_parents(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyREs
cC@s|jr$|jj|d|}ne|jdk	rj|jj}|j|jjj|d|}n|j|jj	d|}t
|ts|j|S|SdS(s%Helper for common code in initialize.RN(
RRR%RPRRt_real_repositoryRRRRRR(R3ta_bzrdirRRt
prior_repo((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_vfs_initializes	


c
C@sWt|ts|j||S|jj}|jdrJ|j||S|jre|jj}n?|jrz|j}n*t	j
jd}|j}|j}|j
|j}d}|rd}	nd}	y|j||||	}
Wn.tjk
r|jd|j||SXt|
d}||_t||}||_|SdS(	Nii
tdefaultsBzrDir.create_repositoryRhRg(ii
(ii
(RRcRIR/RRzRR[RHRR(RTRRR8RRRRKR%RR&(
R3RGRRR[treference_bzrdir_formattreference_formatR\Rt
shared_strRIRJR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs6				
		cC@s/t|ts%td|fn|jS(Ns%r is not a RemoteBzrDir(RRcRZR(R3RG((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR7scC@sa|jdkr]ytjj|j|_Wq]tk
rYtjddd|jq]XndS(NRRRJ(	RRPRRSRTRHRURR(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR<s	
cC@s|j|jjS(N(RRt_fetch_order(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRNEs
cC@s|j|jjS(N(RRt_fetch_uses_deltas(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyROJs
cC@s|j|jjS(N(RRt_fetch_reconcile(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRPOs
cC@s|jd|jjS(NsRemote: (RRRV(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRVTs
cC@s|j|jkS(N(RQ(R3R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRXscC@s0|jr|jS|jj|jjjjS(N(RHR&RRFRR[(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR[[s	
cC@s|j|jjS(N(RRtpack_compresses(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRQas
cC@s|j|jjS(N(RRt_serializer(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRRfs
( R@RARBRLt_matchingbzrdirRhtsupports_full_versioned_filestsupports_leaving_lockRORRRR>R?R@RARBRCRDRERIRgRRRRNRORPRVRR[RQRR(((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRDs4		
		(						RcB@s]eZdZdpdpdZedZedZdZeZ	e
dZedZdZ
dZd	Zed
ZdZdZd
ZdZdZdZdZdZdZedZedZedZdZdZ dpdZ!edZ"dpdpdZ#e
dZ$dZ%dZ&dZ'd Z(d!Z)dpd"Z*d#Z+d$Z,dpe
d%Z-d&Z.d'Z/d(Z0d)Z1d*Z2e3e4j5e4j6d+Z7d,Z8d-Z9edpd.Z:d/Z;ed0Z<d1Z=dpdpdpdpdpe
d2Z>d3Z?d4Z@d5ZAdpe
d6ZBdpd7ZCd8ZDed9ZEd:ZFdpd;ZGdpd<ZHdpd=ZIed>ZJd?ZKedpd@ZLdAZMdBZNdCZOeePjQedpdpdpdDZRdpe
dpdEZSdpdFZTdGZUdHZVdIZWdJZXdKZYdLZZdMZ[edNZ\edOZ]e^dpe
dPZ_dQZ`dRZaedpdSZbedpdTZcedUZdedVZeedpdpedWZfdpdXZgdpdYZhedZZie^dpe
d[Zjed\Zkd]Zled^Zme^d_Zned`ZodaZpedbZqdcZreddZse^deZtdfZudgZvedhZwdpdiZxdpdjZydkZzdpdlZ{dmZ|dnZ}doZ~RS(qsRepository accessed over rpc.

    For the moment most operations are performed using local transport-backed
    Repository objects.
    cC@s|r||_n	d|_||_|dkr?|j|_n	||_||_d|_d|_d|_d|_t	|_
tjd|j
|_|jjt	|_t	|_t	|_|jjj|_g|_dS(sCreate a RemoteRepository instance.

        :param remote_bzrdir: The bzrdir hosting this repository.
        :param format: The RemoteFormat object to use.
        :param real_repository: If not None, a local implementation of the
            repository logic for the repository, usually accessing the data
            via the VFS.
        :param _client: Private testing parameter - override the smart client
            to be used by the repository.
        itget_parent_mapN(RFRPRR/Rt
_lock_modet_lock_tokent_write_group_tokenst_lock_countRgt_leave_lockR	tCachingParentsProvidert_get_parent_map_rpct_unstacked_providert
disable_cachet_reconcile_does_inventory_gct_reconcile_fixes_text_parentst_reconcile_backsup_inventoryRdRt_fallback_repositories(R3t
remote_bzrdirRJtreal_repositoryR/((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyROts*										
			cC@s
|jjS(N(Rtuser_transport(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRfscC@s|jjdS(N(RR1RP(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytcontrol_transportscC@sd|jj|jfS(Ns%s(%s)(RQR@R(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt__str__scC@s	|jr&|j|jjd|S|jsX|rFtddStjdn|jj|j	}y"|j
d||j|j}WnLt
k
r}d|_|sntdtttd|n(X|d	krtj|nd|_dS(
sYComplete a write group on the decorated repository.

        Smart methods perform operations in a single step so this API
        is not really applicable except as a compatibility thunk
        for older plugins that don't use e.g. the CommitBuilder
        facility.

        :param suppress_errors: see Repository.abort_write_group.
        tsuppress_errorss(suppressed) not in write groupNsnot in write groupsRepository.abort_write_groupsabort_write_group failedsbzr: ERROR (ignored): %sR](sok(RFRtabort_write_grouptis_in_write_groupR)RtBzrErrorRRR/R8RXRYt	ExceptionRPt_write_groupR,R*RR(R3RiR\RItexc((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRjs.
	

	
cC@s|j|jjS(sDecorate the real repository for now.

        In the long term a full blown network facility is needed to avoid
        creating a real repository object locally.
        (RRFt	chk_bytes(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRps
cC@s|jr |j|jjS|js>tjdn|jj|j}|j	d||j
|j}|dkrtj|nd|_|jdS(sComplete a write group on the decorated repository.

        Smart methods perform operations in a single step so this API
        is not really applicable except as a compatibility thunk
        for older plugins that don't use e.g. the CommitBuilder
        facility.
        snot in write groupsRepository.commit_write_groupR]N(sok(RFRtcommit_write_groupRkRRlRRR/R8RXRYRRPtrefresh_data(R3R\RI((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRqs	

	cC@s|jr|jj|S|jj|j}y|jd||j|}Wn+tjk
rz|j	|jj|SX|dkrtj
|n||_dS(NsRepository.check_write_groupR](sok(RFtresume_write_groupRRR/R8RXRRRRRY(R3ttokensR\RI((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRss	
cC@s2|jr|jjS|jp"g}d|_|S(N(RFtsuspend_write_groupRYRP(R3R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRus
	
	cC@s|j|jjd|S(Ntcheck_for_missing_texts(RRFtget_missing_parent_inventories(R3Rv((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRws
cC@s|j|jj||S(N(RRFtget_rev_id_for_revno(R3trevnot
known_pair((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_get_rev_id_for_revno_vfss
	cC@s'|jj|j}yA|jjjd	r=|j||S|jd|||}Wn4tjk
r|jjj	d
|j||SX|ddkrt
|dfS|ddkr|dd!}x?|jD]4}|j||\}}|rt
|fS|}qWt
|fStj|dS(s$See Repository.get_rev_id_for_revno.iisRepository.get_rev_id_for_revnoiR]shistory-incompleteiN(ii(ii(RRR/RRzR{R8RRRRhRcRxRgR(R3RyRzR\RItfallbacktfoundR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRxs(



cC@s|jdkrdtjkrIddl}tddj|jn|jj	j
|jj|j
|jjjndS(s|Ensure that there is a _real_repository set.

        Used before calls to self._real_repository.

        Note that _ensure_real causes many roundtrips to the server which are
        not desirable, and prevents the use of smart one-roundtrip RPC's to
        perform complex operations (such as accessing parent data, streaming
        revisions etc). Adding calls to _ensure_real should only be done when
        bringing up new functionality, adding fallbacks for smart methods that
        require a fallback path, and never to replace an existing smart method
        invocation. If in doubt chat to the bzr network team.
        RiNs"VFS Repository access triggered
%sRk(RFRPRRRR+RRR^tmissing_keystclearRRR'RR(R3R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR+s

cK@s|jj|d||dS(NR(RR2(R3R7R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR2BscC@s|j|jjS(s`Find the text key references within the repository.

        :return: A dictionary mapping text keys ((fileid, revision_id) tuples)
            to whether they were referred to by the inventory of the
            revision_id that they contain. The inventory texts from all present
            revision ids are assessed to generate this report.
        (RRFtfind_text_key_references(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyREs
cC@s|j|jjS(sGenerate a new text key index for the repository.

        This is an expensive function that will take considerable time to run.

        :return: A dict mapping (file_id, revision_id) tuples to a list of
            parents, also (file_id, revision_id) tuples.
        (RRFt_generate_text_key_index(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRPs
cC@s|dkrd}ntj|r(iS|jj|j}|jd||}|\}}|ddkrtj|n|j	}|dkriS|j
d}i}x2|D]*}	t|	j
}
|
d||
d<qW|S(s>Private method for using with old (< 1.2) servers to fallback.RksRepository.get_revision_graphiR]s
iN(RPt
_mod_revisiontis_nullRRR/R:RRRtsplitttuple(R3RR\RItresponse_tupletresponse_handlertcodedtlinestrevision_graphtlinetd((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_get_revision_graph[s&	
cC@s
t|S(sSee Repository._get_sink().(tRemoteStreamSink(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt	_get_sinktscC@s
t||S(s3Return a source for streaming from this repository.(tRemoteStreamSource(R3t	to_format((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_get_sourcexscC@stj|jS(N(R	tGraphttexts(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytget_file_graph|scC@s||j|fkS(s3True if this repository has a copy of the revision.(t
has_revisions(R3R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pythas_revisionscC@sA|j|}t|}tj|kr=|jtjn|S(sProbe to find out the presence of multiple revisions.

        :param revision_ids: An iterable of revision_ids.
        :return: A set of the revision_ids that were present.
        (RVtsetRR$tadd(R3trevision_idst
parent_mapR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs
cC@se|j}|j}t|t|kr.tSx0t||D]\}}|j|s>tSq>WtS(s9Returns true if the repositories have the same fallbacks.(RcRRgtzipthas_same_locationRh(R3t
other_repotmy_fbtother_fbtftg((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_has_same_fallbackss		cC@s.|j|jko-|jjj|jjjkS(N(RQRRdR(R3R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRscC@s|j|}tj|S(s+Return the graph for this repository format(t_make_parents_providerR	R(R3tother_repositorytparents_provider((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt	get_graphscC@sMtj}g|D]}||j^q}|jj|}tj|S(sNReturn the known graph for a set of revision ids and their ancestors.
        (RtStaticTupletinternt	revisionstget_known_graph_ancestryR	tGraphThunkIdsToKeys(R3Rtsttr_idt
revision_keystknown_graph((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs	%cC@sW|jj|j}|dks0tj|r9d}n|}|dksR|r[d}nd}|jd|||\}}|ddkrtj|n|j	}i}	x|j
dD]}
|
sqn|
j
d\}}|dkr	t||	|<q|dkr|j
dd}
t|
dt
|
df|	|<qqW|	S(sSee Repository.gather_stats().RkRRCsRepository.gather_statsiR]s
t:Rtsizet
committerstfirstrevt	latestrevt iN(s	revisionsssizes
committers(RR(RRR/RPRRR:RRRRtinttfloattlong(R3trevidRR\t	fmt_revidtfmt_committersRRRRRtkeytval_texttvalues((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytgather_statss.		+cC@s|j|jjd|S(sSee Repository.find_branches().tusing(RRFt
find_branches(R3R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs
cC@s|jj|j}y|jd|}Wn(tjk
rU|j|jjSX|ddkrxtj	|n|ddkS(s*See Repository.get_physical_lock_status().s#Repository.get_physical_lock_statusiRCR(syessno(
RRR/R8RRRRFtget_physical_lock_statusR(R3R\RI((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs
cC@s-|jdk	rtS|jr)|jjSdS(s~Return True if there is an open write group.

        write groups are only applicable locally for the smart server..
        N(RYRPRhRFRk(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRks	cC@s
|jdkS(Ni(RZ(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt	is_lockedscC@s[|jj|j}|jd|}|ddkrMtd|fn|ddkS(sSee Repository.is_shared().sRepository.is_sharediRCRsunexpected response code %s(syessno(RRR/R8R(R3R\RI((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt	is_shareds
cC@s
|jdkS(Ntw(RW(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytis_write_lockedscC@sdS(N((R3R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_warn_if_deprecatedscC@s|js{|jdd|_d|_|jjdt|jdk	rZ|jjnx-|j	D]}|jqdWn|jd7_t
j|jS(sdLock the repository for read operations.

        :return: A bzrlib.lock.LogicalLockResult.
        tritcache_missesN(
RWt
_note_lockRZR^tenable_cacheRhRFRPt	lock_readRcRtLogicalLockResultR(R3R!((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs	
		cC@s|jj|j}|dkr*d}ni|d6}|jd|||}|ddkro|\}}|Stj|dS(NRkRsRepository.lock_writeiR](RRR/RPR8RR(R3RR\R6RIR]((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_remote_lock_writes	
	cC@sZ|js|jd|ra|jdk	rU||jkrUtj||jqUn||_n|j||_|jdk	r|jjd|jn|dk	rt	|_
n	t|_
d|_d|_|jdk}|j
jd|xN|jD]}|jqWn0|jdkr2tj|n|jd7_t|j|jpVdS(NRRiRR(RWRRXRPRt
TokenMismatchRRFRRhR[RgRZR^RRcRt
ReadOnlyErrorR&R(R3RRRR!((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR$s.	
			cC@s(|jst|jnt|_dS(N(RXRXtleave_lock_in_placeRhR[(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyREs	cC@s(|jst|jnt|_dS(N(RXRXRRgR[(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRJs	cC@s9|jdk	r-|jr-tdq-nt|trHtn||_|jrt|jjt|jkrt|jjrtdqnx!|jD]}|jj|qW|j	dkr|jj
|jn|j	dkr|jjn|j
dk	r5|jj|j
d|_
ndS(sSet the _real_repository for this repository.

        :param repository: The repository to fallback to for non-hpss
            implemented operations.
        s_real_repository is already sets5cannot cleanly remove existing _fallback_repositoriesRRN(RFRPRRZRRRcRtadd_fallback_repositoryRWRRXRRYRs(R3Rtfb((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR'Os*		cC@s|jr |j|jjS|js>tj|n|jdk	r_tjdn|j	j
|j}y|jd||j
}Wn1tjtjfk
r|j|jjSX|ddkrtj|n|d|_dS(sStart a write group on the decorated repository.

        Smart methods perform operations in a single step so this API
        is not really applicable except as a compatibility thunk
        for older plugins that don't use e.g. the CommitBuilder
        facility.
        salready in a write groupsRepository.start_write_groupiR]iN(RFRtstart_write_groupRRtNotWriteLockedRYRPRlRRR/R8RXRtUnsuspendableWriteGroupR(R3R\RI((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs"	


cC@sg|jj|j}|sdSi|d6}|jd|||}|dkrTdStj|dS(NRsRepository.unlockR](sok(RRR/R8RR(R3RR\R6RI((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_unlocks
	cC@s|jstj|S|jd8_|jdkr8dS|jj|j}d|_z?|jdk	ry|jjn|j	dk	r|j
nWd|dkr|j}d|_|js|j
|qnXx|jD]}|jqWdS(NiiR(RZRtcant_unlock_not_heldR^R_RWRPRFRRYRjRXR[RRc(R3told_modet	old_tokenR!((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs(	

					cC@sx|jj|j}y|jd|}Wn(tjk
rU|j|jjSX|dkrttj	|ndS(NsRepository.break_lockR](sok(
RRR/R8RRRRFRR(R3R\RI((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs
cC@sddl}|jj|j}y|jd||\}}Wntjk
ra|jdSX|ddkr|j	}|j
|j|jd|Stj
|dS(sReturn a TemporaryFile containing a repository tarball.

        Returns None if the server does not support sending tarballs.
        iNsRepository.tarballR](ttempfileRRR/R:RRtcancel_read_bodyRPtNamedTemporaryFiletwriteRtseekR(R3tcompressionRR\RItprotocoltt((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_get_tarballs

cC@s,|j|dt}|j|d||S(sCreate a descendent repository for new development.

        Unlike clone, this does not copy the settings of the repository.
        RR(t_create_sprouting_repoRgtfetch(R3t	to_bzrdirRt	dest_repo((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytsproutscC@smt|j|jjjs*|j}n?y|jj|d|}Wn tjk
rh|j}nX|S(NR(	RRRRQRRRtUninitializableFormatR(R3RGRR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRscC@sXtj|}|tjkr:t|tddtjSt|j|gdSdS(Ntroot_idi(Rtensure_nullR$R%RRPtlisttrevision_trees(R3R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt
revision_trees
cC@s|jj|j}y|jd|}Wn(tjk
rU|j|jjSX|ddkrxtj	|n|dS(Ns-VersionedFileRepository.get_serializer_formatiR]i(
RRR/R8RRRRFtget_serializer_formatR(R3R\RI((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs	

c

C@s{|jr(|jjr(tjdn|jjr@tj}
n	tj}
|
|||||||||		}|j	|S(sObtain a CommitBuilder for this repository.

        :param branch: Branch to commit to.
        :param parents: Revision ids of the parents of the new revision.
        :param config: Configuration to use.
        :param timestamp: Optional timestamp recorded for commit.
        :param timezone: Optional timezone for timestamp.
        :param committer: Optional committer to set for commit.
        :param revprops: Optional dictionary of revision properties.
        :param revision_id: Optional revision id.
        :param lossy: Whether to discard data that can not be natively
            represented, when pushing to a foreign VCS
        syCannot commit directly to a stacked branch in pre-2a formats. See https://bugs.launchpad.net/bzr/+bug/375013 for details.(
RcRR@RRlR?RtVersionedFileRootCommitBuildertVersionedFileCommitBuilderR(R3RtparentsRt	timestampttimezonet	committertrevpropsRtlossytcommit_builder_klsR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytget_commit_builders		
cC@s|jjs-tj|jj|jn|j||jrS|jn|j	j
||jdk	rg|jj	D]}|j
^q}|j
|kr|jj|qndS(spAdd a repository to use for looking up data not held locally.

        :param repository: A repository.
        N(RRARtUnstackableRepositoryFormatR[Rt_check_fallback_repositoryRRRcRRFRPRR(R3RR!tfallback_locations((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR6s

cC@stjj||S(sCheck that this repository can fallback to repository safely.

        Raise an error if not.

        :param repository: A repository to fallback to.
        (RtInterRepositoryt_assert_same_model(R3R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRRs	cC@s |j|jj|||S(N(RRFt
add_inventory(R3RtinvR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR\s
c	C@s/|j|jj||||d|d|S(Nt	basis_invtpropagate_caches(RRFtadd_inventory_by_delta(R3tbasis_revision_idtdeltatnew_revision_idRRR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR`s
cC@stj||f}|jj|gsm|dkrOtj||jq|j|||j|_	n|jj
|g||_	|j|dS(N(Rtcheck_not_reserved_idtinventoriesRVRPRtWeaveRevisionNotPresentRt
parent_idstinventory_sha1t	get_sha1st
_add_revision(R3RtrevRR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytadd_revisiongs
		cC@s|jdk	r|jj|S|jj|}|jf}td|jD}|jj	dt
||d|gfg|j|j\|_}dS(Ncs@s|]}|fVqdS(N((t.0tparent((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pys	<genexpr>|sR(
RFRPRRRtwrite_revision_to_stringRRRRt
insert_streamR-RRY(R3RttextRRR~((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRwscC@st|j|gdS(Ni(Rtiter_inventories(R3R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt
get_inventoryscc@s|dkrd}n|jj|j}dj|}|jd||f|\}}|ddkr|tj|ntj	}|j
}tj|}	|	dkrdS|	\}
}|
j
|jj
krtd|
j
|jj
fntdddtj}|j\}
}|
d	krKtd
|
nx|D]~}|j|jd\}}}}}||jkrtd||jfn|j||}||jfV|}qRWdS(
Nt	unordereds
s'VersionedFileRepository.get_inventoriesiR]s1Mismatched RemoteRepository and stream src %r, %rRRsinventory-deltassUnexpected stream %r receivedtfulltextsinvalid base %r != %r(RPRRR/RR?RRR
tInventoryDeltaDeserializertread_streamed_bodyt
smart_repot_byte_stream_to_streamR[RRZRRR$tnexttparse_text_bytestget_bytes_asRtcreate_by_apply_delta(R3RtorderingR\RRRtdeserializertbyte_streamtdecodedt
src_formattstreamtprev_invtsubstream_kindt	substreamtrecordt	parent_idtnew_idtversioned_rootttree_referencestinvdeltaR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_iter_inventories_rpcsB	"
'	cC@s|j|jj||S(N(RRFt_iter_inventories(R3RR"((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_iter_inventories_vfss
cc@swd|kstj|kr*tdnxF|j||D]2\}}|dkrjtj||n|Vq=WdS(sGet many inventories by revision_ids.

        This will buffer some or all of the texts used in constructing the
        inventories in memory, but will only parse a single inventory at a
        time.

        :param revision_ids: The expected revision ids of the inventories.
        :param ordering: optional ordering, e.g. 'topological'.  If not
            specified, the order of revision_ids will be preserved (by
            buffering if necessary).
        :return: An iterator of inventories.
        s"cannot get null revision inventoryN(RPRR$t
ValueErrorR2RR(R3RR"RR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs
cc@srt|dkrdSt|}|dkr_t}i}t|}|j|j}n.t}|dkr|jrt	d|n|j
gg|jD]}|j^q}	yx|	D]}
g|D]}||kr|^q}xc|
||D]R\}
}|
dkrqn|j|
j
|dkrB|
||<q|
|fVqW|rx[||kr|j|}
|
|
j
fVy|j}WqZtk
rd}PqZXqZWqqWWnCtjk
rx+|j||D]\}
}|
|fVqWdSX|rP|dk	r d|fVnxK|rL|j}|j||fVq#Wnx|rmd|jfVqSWdS(NiRsunsupported ordering %r(RRRPRhRtreversetpopRgRcR4R1R2tremoveRt
IndexErrorRRR3RT(R3RR"tmissingtorder_as_requestedtinvstordert
next_revidR|titer_inv_fnstiter_invRtrequestR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR2s\
	
%

		cC@s|j|gdS(Ni(t
get_revisions(R3R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytget_revisionscC@s|j|jjS(N(RRFtget_transaction(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRCs
cC@s/|j|d|j}|j|||S(NR(RRtcopy_content_into(R3RGRR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRscC@s|jj|j}y|jd|}Wn(tjk
rU|j|jjSX|ddkr|t	d|fn|ddkS(s!See Repository.make_working_treessRepository.make_working_treesiRCRsunexpected response code %s(syessno(
RRR/R8RRRRFRuR(R3R\RI((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRus
cC@s=|jdk	r|jjn|jj|jjdS(s4Re-read any data needed to synchronise with disk.

        This method is intended to be called after another repository instance
        (such as one used by a smart server) has inserted data into the
        repository. On all repositories this will work outside of write groups.
        Some repository formats (pack and newer for bzrlib native formats)
        support refresh_data inside write groups. If called inside a write
        group on a repository that does not support refreshing in a write group
        IsInWriteGroupError will be raised.
        N(RFRPRrR^R_R(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRrs
cC@st}x0|jj|jD]}|j|q%W|j|}|j|}|j|}tj||t	||}|S(s6Convert a set of revision ids to a graph SearchResult.(
RRRVt
itervaluestupdatetintersectiont
differenceRtSearchResultR(R3t
result_settresult_parentsRt
included_keyst
start_keystexclude_keysR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytrevision_ids_to_search_result)s	c	C@stj|r[tjdtdd|d	k	r@tdn|d	k	r[|g}q[ntjj||}|j	d|d|d|d|S(
sReturn the revision ids that other has that this does not.

        These are returned in topological order.

        revision_id: only return revision ids included by revision_id.
        sdsearch_missing_revision_ids(revision_id=...) was deprecated in 2.4.  Use revision_ids=[...] instead.t
stacklevelis3revision_ids is mutually exclusive with revision_idtfind_ghostsRtif_present_idstlimitN(
Rtdeprecated_passedtwarntDeprecationWarningRPRZRRRTtsearch_missing_revision_ids(R3RRRQRRRRSt
inter_repo((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRW6s
	cC@s|dk	r'|dk	r'tdn|jrEtjdn|j|r|dkr|j|r|dk	rtj|r|j	|ndgfSt
jj||}|dk	rt
|dtrtjd|n|jd|d|d|S(	Ns2fetch_spec and revision_id are mutually exclusive.s%May not fetch while in a write group.itsupports_fetch_specsfetch_spec not supported for %rRRQt
fetch_spec(RPRZRkRtInternalBzrErrorRRRRRBRRRTRRgtUnsupportedOperationR(R3tsourceRRQRZtinter((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRPs(
cC@s'|j|jj||||dS(N(RRFt
create_bundle(R3ttargetRtfileobjRJ((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR_os
cC@s|j|jj|S(N(RRFtfileids_altered_by_revision_ids(R3R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRbss
cC@s|j|jj||S(N(RRFt_get_versioned_file_checker(R3Rtrevision_versions_cache((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRcws
	cc@s|jj|j}g}g}xM|D]E\}}}|jdtj|tj|f|j|q(W|jd|fdj|\}	}
|	d
kr|
j	t
j|	n|
j}d}d}
xt
rx d|
kr|
|j7}
qW|
jdd\}}|jd}|d	d
krp|d|df||t|d<|}
qn2|d	dkrt|d}nt
j|g}||||||fVdj|}
qWdS(Ns%s%ssRepository.iter_files_bytess
R]cs@stj}|j|VxF|jdkrby|j}Wntk
rPPnX|j|VqW|jV|j|jdS(NRk(tzlibt
decompressobjt
decompresstunused_dataRt
StopIterationtflushR(tstartR$tunusedtdecompressortdata((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytdecompress_streams
Rkititabsentii(sok(RRR/RR
tsafe_file_idtsafe_revision_idR?RRRRRRhRRR(R3t
desired_filesRqR\Rtidentifierstfile_idRt
identifierRRR$RoRltheadertrestR5tidxt
unused_chunks((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_iter_files_bytes_rpc|s@	!
		&c	c@sTyi}x+|j||D]\}}||fVqWx|jD]x}|sQPng|jD]#\}}|d|d|f^q^}x/|j|D]\}}||=||fVqWqAW|r|jd}||}tjd|dd|dnWnLtjk
rO|jx/|j	j|D]\}}||fVq1WnXdS(s(See Repository.iter_file_bytes.
        iiRRvN(
R|RcRtiter_files_bytestkeysRtRevisionNotPresentRRRF(	R3RtRqRwtbytes_iteratorR|Rtmissing_identifiertmissing_key((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR}s.	3

cC@s|jj|S(s7See bzrlib.CachingParentsProvider.get_cached_parent_map(R^tget_cached_parent_map(R3R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRscC@s|jj|S(s"See bzrlib.Graph.get_parent_map().(RRV(R3R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRVscC@sN|jj}|jdrq|jd}x6|jD](\}}|dkr7tf||<q7q7Wd|t<|St|}d|krtdnt|kr|j	tidt6}|s|Sni}|j
j}|dkri}ntdkr%t
j||j
j\}}	}
n*t
j||j
j|dt\}}	}
d||	|
f}|j|}|jj|j}
x6|D].}t|tk	rtd|fqqWd}|
d	ft|}y|j|||}Wn?tjk
r4td
|j|jd|j|SX|\}}|ddkrm|jtj|n|ddkrJt j!|j"}|dkriS|j#d
}i}x|D]}t|j#}t$|dkr|d||d<q|dj%dr1|dd}|j
j&|qtf||d<qW|SdS(s0Helper for get_parent_map that performs the RPC.iis!get_parent_map(None) is not validitdepthtmanualskey %r not a plain stringsRepository.get_parent_mapsinclude-missing:sjServer is too old for fast get_parent_map, reconnecting.  (Upgrade the server to Bazaar 1.2 to avoid this)R]Rks
smissing:iN(ii((((ii(sok('R/RRzRRPRR$RR4tdiscardR^tget_cached_mapt_DEFAULT_SEARCH_DEPTHRtsearch_result_from_parent_mapR~t%limited_search_result_from_parent_mapt_serialise_search_recipeRRttypetstrRR?RRR+t
disconnectRR]RRtbz2RgRRRt
startswithtnote_missing_key(R3R~Rtrgtnode_idRt
found_parentstparents_mapt	start_sett	stop_keyst	key_counttrecipeRR\RRR5RIRRRRRRRR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR]s~	



	




cC@s|jj|j}y|jd||\}}Wntjk
ra|j|jj|Stj	k
r}x9|j
D].}y|j|SWq}tj	k
rq}Xq}W|n-X|ddkrtj|n|jSdS(Ns&Repository.get_revision_signature_textiR](
RRR/R:RRRRFtget_signature_textRRcRR(R3RR\RRR7R|((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRG	s"

cC@s|j|jj|S(N(RRFt_get_inventory_xml(R3R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR\	s
cC@sFddlm}|jj|j}y"|jd||j\}}Wn=tjtj	fk
r|j
|jjd|d|SX|dkrtj
|n|j}||}x|jdD]q}	|	sqn|	jd\}
}|
d	krt||_q|
d
kr0t||_qtd|
qW|S(
Ni(tRepoReconcilersRepository.reconcileRtthoroughR]s
Rtgarbage_inventoriestinconsistent_parentssunknown reconcile key %r(sok(tbzrlib.reconcileRRRR/R:RXRRtTokenLockingNotSupportedRRFt	reconcileRRRRRRR)(R3RRRR\RIRRRRRR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRc	s,
cC@s|jj|j}y|jd|\}}Wn(tjk
r[|j|jjSX|dkrztj	|nt
|jj}x*|j
D]}|jt
|jqWt|S(NsRepository.all_revision_idsR](sok(RRR/R:RRRRFtall_revision_idsRRRt
splitlinesRcRFR(R3R\RRtrevidsR|((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR}	s
cc@sG|j|}x1|D])}|j|}t|||jVqWdS(sRReturn Tree for a revision on this branch with only some files.

        :param revision_ids: a sequence of revision-ids;
          a revision-id may not be None or 'null:'
        :param file_ids: if not None, the result is filtered
          so that only those file-ids, their parents and their
          children are included.
        N(RtfilterR%R(R3Rtfile_idsR	Rtfiltered_inv((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_filtered_revision_trees	s	
c	c@s5|jj}|jdrN|jx"|jj||D]}|Vq;WdSt}x2|D]*}|j|j|j	|j
d q^W|dkrtd|j
|D}n"td|j||D}xR|D]J}|j
s|jtj}n||j
d}||jj|VqWdS(Niics@s!|]}|j|fVqdS(N(tget_revision_id(RR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pys	<genexpr>	scs@s!|]}|j|fVqdS(N(R(RR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pys	<genexpr>	si(ii(R/RRzRRFtget_deltas_for_revisionsRRRRFRRPtdictRRRRR$tchanges_from(	R3Rtspecific_fileidsRRtrequired_treesRttreestold_tree((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR	s,
		
			
	cC@s/|j|}t|j|gd|dS(NRi(RBRR(R3RRR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytget_revision_delta	scc@s8|j|}x"|D]}t|||jVqWdS(N(RR%R(R3RR	R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR	s
cC@s|j|jj|S(N(RRFtget_revision_reconcile(R3R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR	s
cC@s)|j|jjd|d|d|S(NRt
callback_refst
check_repo(RRFtcheck(R3RRR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR	s
cC@s"tjj||}|j|S(sMake a complete copy of the content in self into destination.

        This is a destructive operation! Do not use it on existing
        repositories.
        (RRRTtcopy_content(R3tdestinationRt	interrepo((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRD	sc
C@sddl}ttd|jd}|dkr;dS|j}z{|jdd|dd}tj}z?t	||t
jj|}|j}	|	j
||Wdtj|XWd|jX|S(Nis(Copying repository content as tarball...RRRatmodesr|bz2(ttarfileR*RRRPRRR
tmkdtempt_extract_tarRMRRRDtrmtreetclose(
R3RRRttar_fileRttarttmpdirt
tmp_bzrdirttmp_repo((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_copy_repository_tarball	s$	
cC@s|j|jjS(sDecorate the real repository for now.

        In the long term a full blown network facility is needed to
        avoid creating a real repository object locally.
        (RRFR	(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR		s
cC@s|dkrd}n&djg|D]}|d^q"}|jj|j}y1|jd||jt|f|\}}Wn4tj	k
r|j
|jjd|d|SX|j
|dkrtj|ndS(	s1Compress the data within the repository.
        Rks
sRepository.packthinttclean_obsolete_packsR]N(sok(RPRRRR/R?RXRRRRRFtpackRR(R3RRRtlR\RIR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR
s	&

cC@s|j|jjS(sqDecorate the real repository for now.

        In the long term a full blown network facility is needed.
        (RRFR(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR
s
cC@s|rd}nd}|jj|j}y|jd||}Wn.tjk
rs|j|jj|n#X|ddkrtj	|ndS(NRhRgs!Repository.set_make_working_treesiR](
RRR/R8RRRRFtset_make_working_treesR(R3t	new_valuet
new_value_strR\RI((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR$
s	
cC@s|j|jjS(sDecorate the real repository for now.

        In the long term a full blown network facility is needed to avoid
        creating a real repository object locally.
        (RRFt
signatures(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR4
s
cC@s8tjj||}|j}|j|||dS(N(t_mod_testamentt	Testamentt
from_revisiont
as_short_texttstore_revision_signature(R3Rtgpg_strategyRt	plaintext((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt
sign_revision>
scC@s|j|jjS(sDecorate the real repository for now.

        In the long term a full blown network facility is needed to avoid
        creating a real repository object locally.
        (RRFR(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRD
s
cc@sqdj|}|jj|j}|jd|f|\}}|ddkrdtj|n|d}tj|}|j	}t
j}	g}
x|D]}|
j|	j
||	jdkr|
j|	j|jdj|
V|	j}t
j}	|	j
|g}
qqW|
j|	jdj|
}
|
dkrm|jdj|
VndS(Ns
sRepository.iter_revisionsiR]iRk(RRRR/R?RRtserializer_format_registryRTRReRfRRgRhRjtread_revision_from_string(R3RRR\RRtserializer_formatt
serializerR$RmtchunkstbytesRlR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_iter_revisions_rpcN
s.

	cC@s|dkr|j}nCx@|D]8}|s?t|tr"tjd|d|q"q"WyMt|}i}x4|j|D]#}|j|j	|||j	<qWWn+tj
k
r|j|jj
|SXxm|jD]b}|sPnxOt|D]A}y|j|||<Wntjk
r3qX|j|qWqW|rntj|t|dng|D]}||^quS(NRRi(RPRRt
basestringRtInvalidRevisionIdRRR7RRRRFRARcRRBR(R3Rtrev_idR9trevsRR|R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRAh
s6
	
cC@s
|jjS(N(RR?(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytsupports_rich_root
scC@s
|jjS(N(RRR(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRR
scC@s#|j|}|j||dS(N(tsigntadd_signature_text(R3RRRt	signature((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR
scC@s|jr&|j|jj||S|jj|j}|jd||j|ft|j	|\}}|j
|j|ddkrtj
|n|d|_	dS(NsRepository.add_signature_textiR]i(RFRRRRR/R?RXRRYRRrRR(R3RRR\RIR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR
s	
	
"

cC@s|jj|j}y|jd||}Wn+tjk
r[|j|jj|SX|ddkrt	d|fn|ddkrt
Sx$|jD]}|j|rt
SqWtS(Ns(Repository.has_signature_for_revision_idiRCRsunexpected response code %s(syessno(
RRR/R8RRRRFthas_signature_for_revision_idRRhRcRg(R3RR\RIR|((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR
s 	
	cC@s\|j|stjdfS|j|}tjj||}|j}|j	||S(N(
RRtSIGNATURE_NOT_SIGNEDRPRRRRRtverify(R3RRRRR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytverify_revision_signature
s
cC@s |j|jj|d|S(Nt	_files_pb(RRFtitem_keys_introduced_by(R3RR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR
s
cC@s|j|jj|S(N(RRFt#_find_inconsistent_revision_parents(R3trevisions_iterator((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR
s
	cC@s|j|jjS(N(RRFt(_check_for_inconsistent_revision_parents(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR
s
cC@sD|jg}|dk	r+|jd|ntjt||jS(Ni(R^RPtinsertR	tStackedParentsProviderR'Rc(R3Rt	providers((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR
s
	cC@sLdj|d}dj|d}t|d}dj|||fS(sSerialise a graph search recipe.

        :param recipe: A search recipe (start, stop, count).
        :return: Serialised bytes.
        Riiis
(RR(R3RRMRtcount((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR
scC@s|j}dj|S(Ns
(tget_network_structR(R3t
search_resulttparts((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_serialise_search_result
scC@s|jj|j}y|jd|}Wn/tjk
r\|j|jjj	dSX|j
|ddkrtj|ndS(NsPackRepository.autopackiR](RRR/R8RRRRFt_pack_collectiontautopackRrR(R3R\RI((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR
s

N(R@RARBRPRORRfRgRhRRRgRjRpRqRsRuRhRwR{RxRR2RRRRRRRRRRRRRRRRRkRRRRRRRRRR'RRRRtLockNotHeldt
LockBrokenRRRRRRRRRRRRRRRR1R3RR2RBRCRRuRrRORtDEPRECATED_PARAMETERRWRR_RbRcR|R}RRVR]RRRRRRRRRRRRDRR	RRRRRRRRARRRRRRRRRRRRRR(((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRls+	#
													
				
					
!			0		
#									
		
	(7				
				.				x		$	
		

	&						RcB@s,eZdZdZdZdZRS(cC@sN|jj|jjj}|j|||}|sJ|jjn|S(N(ttarget_repoRRFRRR(R3R'R&t
resume_tokenstsinkR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_insert_real
s
cC@sx|j}|jjjdd
fg}|jrY|jddf|jpPdf}n|jddfd}|j}|j}|jj	|}	t
}
x|D]\}}|j|rqn|rt}
Pnt
jg|}
y#|j||	df||
}Wn!tjk
r,|j|qXt}
PqW|
sQ|j|||Sd|_d|_|dkr|j|}nt
j||}
d	j|}|j||	|f||
}|d
d
dkrtj|n|jdk	r|jj|j||S|d
d
dkrZtj|d
d\}}|}|t|fS|jjgtfSdS(NsRepository.insert_stream_1.19iisRepository.insert_stream_lockediRksRepository.insert_streami
RiR]s
missing-basis(ii(ii(ii
((ii(soks
missing-basis(RR^R~RRXRR/RRRRgRzRhRt_stream_to_byte_streamtcall_with_body_streamRRRRRPt_last_inv_recordt_last_substreamt_stop_stream_if_inventory_deltaRRRrt_resume_stream_with_vfsRtbdecode_as_tupleR(R3R'R&RR`Rt	lock_argsR!RR\t
found_verbRRR$RIRtR~((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs`						

c@sq|dddkr4tj|dd\}}ng}fdfd}j|||S(sResume sending a stream via VFS, first resending the record and
        substream that couldn't be sent via an insert_stream verb.
        is
missing-basisic3@s&xjD]}|Vq
Wd_dS(N(RRP(R+(R3(s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytresume_substreamOs	c3@s7dfVx"jD]\}}||fVqWdS(Nsinventory-deltas(t_last_stream(R)R*(RR3(s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt
resume_streamTs(RRR(R3RIR&RtR~R
((RR3s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRFs cc@sTt|}xA|D]9\}}|dkrA||_||_dS||fVqWdS(sSNormally this just lets the original stream pass-through unchanged.

        However if any 'inventory-deltas' substream occurs it will stop
        streaming, and store the interrupted substream and stream in
        self._last_substream and self._last_stream so that the stream can be
        resumed by _resume_stream_with_vfs.
        sinventory-deltasN(titerRR	(R3R'tstream_iterR)R*((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR\s			(R@RARRRR(((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR
s		C	RcB@sDeZdZdZdZdZdZdZdZRS(s!Stream data from a remote server.cC@s|jjr1|jjdkr1|j|j|Sg}t}|jg}xU|r|jd}||krvqOn|j||j|j|j	|qOW|j
||S(Nttopologicali(tfrom_repositoryRcRRNt_real_streamRR6RtextendRtmissing_parents_chain(R3tsearchtsourcestseentreposR!((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt
get_streamrs		
cC@s8|jj|jj}|j|j}|j|S(N(RRRFRRtget_stream_for_missing_keys(R3R~R*treal_source((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs
cC@sP|j|j}t|trC|j|jj|j}n|j|S(sbGet a stream for search from repo.

        This never called RemoteStreamSource.get_stream, and is a helper
        for RemoteStreamSource._get_stream to allow getting a stream
        reliably whether fallback back because of old servers or trying
        to stream from a non-RemoteRepository (which the stacked support
        code will do).
        (RRRRRRFR(R3R!RR]((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs
	
cC@st|ts|j||S|j}|j}|jj|}|j|}||jj	f}ddfdd
fg}t
}	x|D]\}
}|j|rqny|j|
||}Wnwt
jk
r|j|qt
jk
r?}
t|tjr9|
jj}|dkr9|jdPq9nqX|\}}t}	PqW|	sm|j||S|d	d
krt
j|n|j}tj||j\}}|j	|jj	krtd|j	|jj	fn|S(soCore worker to get a stream from repo for search.

        This is used by both get_stream and the stacking support logic. It
        deliberately gets a stream for repo which does not need to be
        self.from_repository. In the event that repo is not Remote, or
        cannot do a smart stream, a fallback is made to the generic
        repository._get_stream() interface, via self._real_stream.

        In the event of stacking, streams from _get_stream will not
        contain all the data for search - this is normal (see get_stream).

        :param repo: A repository.
        :param search: A search.
        sRepository.get_stream_1.19iisRepository.get_streami
t	BadSearchiiiR]s1Mismatched RemoteRepository and stream src %r, %r(ii(ii
(ii(RRRR/RRRRRR[RgRzR?RRRRRtEverythingResultterror_from_smart_servert
error_verbRhRRRRt_record_counterRRZ(R3R!RR!RR\tsearch_bytesR5tcandidate_verbsRRtversionRIteRRRR$R&R'((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_get_streamsP			
	"cc@s+|jjj|_t|_t|_x|jrt|dkr|j	d}|j
||}xB|D]:\}}|dkr||fVqt||j|fVqtW|j|j|j}t|_t|_q-W|js'x2|j
|d|D]\}}||fVq	WndS(sChain multiple streams together to handle stacking.

        :param search: The overall search to satisfy with streams.
        :param sources: A list of Repository objects to query.
        iiRN(
RRRRtfrom_serialiserRt	seen_revstreferenced_revstis_emptyRR6R"tmissing_parents_rev_handlertrefine(R3RRR]R'RR*((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs "#cc@sex^|D]V}|jd}|jj|}|jj|jd|jj|j|VqWdS(NRi(	R R#RR$RRR%RFR(R3R*Rtrevision_bytesR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR's
		(	R@RARBRRRR"RR'(((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRos				@	tRemoteBranchLockableFilescB@s eZdZdZdZRS(snA 'LockableFiles' implementation that talks to a smart server.

    This is not a public interface class.
    cC@sA||_||_t|_tj||jddtj	dS(NR(
RR/Rht_need_find_modesR ROR0RPRtLockDir(R3RR/((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyROs			cC@sd|_d|_dS(N(RPt	_dir_modet
_file_mode(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_find_modes	s	(R@RARBROR/(((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR*s	RcB@seZd
dZdZdZdZdZd
edZ	d
dZ
d
d
d
dZdZd	Z
d
ZdZdZRS(cC@sEtt|jt|_|jj|d|_||_dS(N(	RRRORLRSRRPRRH(R3R[((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyROs
	cC@st|to|j|jkS(N(RRt__dict__(R3R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRscC@sa|jdkr]ytjj|j|_Wq]tk
rYtjddd|jq]XndS(NRRRJ(	RRPRRSRTRHRURR(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs	
cC@s|jd|jjS(NsRemote: (RRRV(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRV%s
cC@s|jS(N(RH(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR[)scC@s|jd|d|S(NRR(R(R3RGRR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR,scC@st|trC|j|jj|jd|d|d|}n$|jj|d|d|d|}t|trt|trt||j|d|}n|S(NRRR(RRcRRRRRR(R3RGRRRR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRI0s
	c	C@s|dkr|j}n|jr6|jj}n6tjjd}|j}||_|j}t|t	s|j
|d|d|d|S|jj}|j
dr|j
|d|d|d|S|j|j}	|dkrtj|nd}
y|j|
|	|}Wn=tjk
rb|jd|j
|d|d|d|SX|d	d
krtj|ntd|d}t|d}
|d
}|dk	rtj|j|}tj|j|}|dkrtd|j|j|fn|}nH|dkr4|}n$t	|jj||j|j}t||
}t ||d|dt!d|}|r|j"|nd	t#f|_$|S(NRJRRRii
RksBzrDir.create_branchiR]R[iiRsHrepository.user_url %r does not match URL from server response (%r + %r)RJR(ii
(ii
(%RPRRR[RR(RTRRRcRIR/RRzRRRR8RRRRRKRRRtrelative_urlRZRRRRRRgtset_append_revisions_onlyR$t_last_revision_info_cache(R3RGRRRR[RKRLRR\RRIRJRRtremote_repo_urlturl_diffRtrepo_bzrdirt
remote_branch((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRFsl		

			cC@s|j|jj|S(N(RRt	make_tags(R3R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR8s
cC@s|j|jjS(N(RRt
supports_tags(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR9s
cC@s|j|jjS(N(RRtsupports_stacking(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR:s
cC@s|j|jjS(N(RRt"supports_set_append_revisions_only(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR;s
cC@sZ|jt|jtjrV|jj}|jj}|tjjjkrVt	Snt
S(N(RRRRtBranchFormatMetadirt
_branch_classtheads_to_fetchtim_functBranchRhRg(R3tbranch_classtheads_to_fetch_impl((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt!_use_default_local_heads_to_fetchs
N(R@RARPRORRRVR[RgRRIRR8R9R:R;RC(((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs					G				tRemoteBranchStorecB@s;eZdZdZdZdZdZdZRS(sBranch store which attempts to use HPSS calls to retrieve branch store.

    Note that this is specific to bzr-based formats.
    cC@s2tt|j||_d|_d|_dS(NR(RRDRORtidRPR(R3R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyROs		cC@stj|jjdS(Nsbranch.conf(RRRR(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRscC@s|jj}y|jjd|\}}Wn(tjk
rX|j|jjSXt|r|ddkrtj	|n|j
S(NsBranch.get_config_fileiR](Rt_remote_pathR:RRRRRRRR(R3R\RIR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs	
cC@s|jj}y7|jjd||jj|jjf|\}}Wn+tjk
rs|j|jj	|SX|j
|dkrtj|ndS(NsBranch.put_config_fileR](sok(RRFR?RXt_repo_lock_tokenRRRRRRR(R3RR\RIR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs	

cC@s8|jj|jdkr4tj|j|_ndS(N(RRRRPRtBranchStore(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs
(R@RARBRORRRR(((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRDs				RcB@sieZdZd4d4d4ed4d4dZdZdZdZdZ	dZ
dZeeZ
dZeZd	Zd
ZdZdZed
ZdZdZdZdZedZdZdZdZdZdZd4dZ dZ!e"e#j$e#j%dZ&dZ'dZ(dZ)ed4dZ*dZ+d Z,d!Z-e.e.d"Z/d#Z0d$Z1d%Z2d&Z3d'Z4e5e.d4d(Z6ee.d4e.d)Z7d*Z8d+Z9ed,Z:ed-Z;e5d.Z<e5d4d4d/Z=d0Z>d1Z?d2Z@d3ZARS(5sBranch stored on a server accessed by HPSS RPC.

    At the moment most operations are mapped down to simple file operations.
    c	C@s||_||_|dk	r*||_n|j|_||_|dk	r||_|jj}	t|	tr|	j|	j	}	n|jj
|	|j|j_n	d|_|j|jj|_
||_d|_d|_d|_d|_d|_t|_d|_|dkrSt|_|dk	r\|jjj|j_q\n	||_||_|jjs|j|jjj|j_n|jj||_tjj d}
x|
D]}||qWt|_!|r|j"|ndS(soCreate a RemoteBranch instance.

        :param real_branch: An optional local implementation of the branch
            format, usually accessing the data via the VFS.
        :param _client: Private parameter for testing.
        :param format: A RemoteBranchFormat object, None to create one
            automatically. If supplied it should have a network_name already
            supplied.
        :param setup_stacking: If True make an RPC call to determine the
            stacked (or not) status of the branch. If False assume the branch
            is not stacked.
        :param name: Colocated branch name
        iRN(#RRRPR/Rt_real_branchRRRRFR't_clear_cached_stateRRt_namet_control_filesRWRXRGRZRgR[t
conf_storeRRR[RHt_real_ignore_fallbacksR8ttagsRR@thookst_is_stackedt_setup_stacking(R3Rdtremote_repositoryRR/RJRRR
R*RPthook((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyROsR				
	
									


	cC@sy|j}Wn&tjtjtjfk
r8}dSXt|_|dkrWg}nt|}|j	|j
j|j|d|dS(NR
(
tget_stacked_on_urlRt
NotStackedtUnstackableBranchFormatRRhRQRPRRRRt_activate_fallback_location(R3R
tfallback_urlR!((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRR1
s
		cC@s
t|S(N(tRemoteBranchConfig(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR7B
scC@s(|jdkr!t||_n|jS(N(RMRPRD(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR8E
scC@s|j|jj|S(N(RRItstore_uncommitted(R3tcreator((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR[J
s
cC@s|j|jj|S(N(RRIt
get_unshelver(R3ttree((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR]N
s
cC@s|j|jjS(N(RRIt
_transport(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_get_real_transportR
s
cC@sd|jj|jfS(Ns%s(%s)(RQR@R(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRhY
scC@s |jdkrtjs*tdn|jj|jjjd|j	d|j
|_|j|j_|jj
dkr|jj}t|tr|j|j
}n|jj|n|j|j_|jdkr|jjq|jdkr|jjd|jqndS(sbEnsure that there is a _real_branch set.

        Used before calls to self._real_branch.
        s:smart server vfs must be enabled to use vfs implementationRRRRRN(RIRPR"tvfs_enabledRZRRRRRNRKRMRRFRRR'RWRRRX(R3R*((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR^
s$

cK@s|jj|d||dS(NR(RR2(R3R7R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR2}
scC@s6tt|j|jdk	r2|jjndS(N(RRRJRIRP(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRJ
scC@stt|jdS(sLike _clear_cached_state, but doesn't clear the cache of
        self._real_branch.

        This is useful when falling back to calling a method of
        self._real_branch that changes state.  In that case the underlying
        branch changes, so we need to invalidate this RemoteBranch's cache of
        it.  However, there's no need to invalidate the _real_branch's cache
        too, in fact doing so might harm performance.
        N(RRRJ(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt)_clear_cached_state_of_remote_branch_only
s
cC@s1|jdkr*t|j|j|_n|jS(N(RLRPR*RR/(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt
control_files
scC@szy|jjd|j}Wn(tjk
rI|j|jjSX|ddkrltj|n|ddkS(s&See Branch.get_physical_lock_status().sBranch.get_physical_lock_statusiRCR(syessno(	R/R0RFRRRRIRR(R3RI((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR
s
cC@sy|jjd|j}WnOtjk
rG}t|d|n*tjk
rp}|j|jj	SX|ddkrtj
|n|dS(s3Get the URL this branch is stacked against.

        :raises NotStacked: If the branch is not stacked.
        :raises UnstackableBranchFormat: If the branch does not support
            stacking.
        :raises UnstackableRepositoryFormat: If the repository does not support
            stacking.
        sBranch.get_stacked_on_urlRiR]i(R/R0RFRR1R2RRRIRUR(R3RIR7((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRU
s	
cC@s?tjj|||jj|s2t|_n	t|_dS(N(RR@tset_stacked_on_urlRMtsave_changesRgRQRh(R3turl((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRd
s

cC@s|j|jjS(N(RRIt_get_tags_bytes(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_vfs_get_tags_bytes
s
cC@s(|jdkr!|j|_n|jS(N(t_tags_bytesRPt_get_tags_bytes_via_hpss(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRg
scC@st|jj}|jdr%|jSy|jd|j}Wn(tjk
rk|jd|jSX|dS(Nii
sBranch.get_tags_bytesi(ii
(ii
(	R/RRzRhR8RFRRR(R3RRI((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRj
s

cC@s|j|jj|S(N(RRIt_set_tags_bytes(R3R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_vfs_set_tags_bytes
s
cC@s|jr||_n|jj}|jdrD|j|dSy4|j|j|jf}|j	d||}Wn.t
jk
r|jd|j|nXdS(NiisBranch.set_tags_bytes(ii(ii(
RRiR/RRzRlRFRXRGR=RRR(R3RRR5RI((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRk
s

cC@sv|jj|jsW|jdd|_d|_|jdk	rf|jjqfn|jd7_tj|j	S(s`Lock the branch for read operations.

        :return: A bzrlib.lock.LogicalLockResult.
        RiN(
RRRWRRZRIRPRRR(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR
s
	
		cC@s|dkrd}}n%|}|jjj}|jji|d6}y+|jd|j||pld|}Wn;tjk
r}tjd|jj	j
ddnX|ddkrtj|n|\}}}||fS(NRkRsBranch.lock_writes
(remote lock)s.bzr/iR](RPRRtrepository_tokenRR8RFRtLockContentionRRR(R3Rtbranch_tokent
repo_tokenR6RIR!R]((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs"


	 cC@sX|js|jd|j|}|\|_|_|jsOtdn|jj|jdt|j	dk	r|j	jd|jn|dk	rt|_n	t|_d|_d|_
ny|jdkrtj|nX|dk	r||jkrtj||jqn|j
d7_
|jj|jt|j|jpTdS(NRs%Remote server did not return a token!RRiR(RWRRRXRGRRRRhRIRPR[RgRZRRRRR(R3Rt
remote_tokens((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs.	
				cC@scit||fd6}|jd|j||p7d|}|dkrPdStj|dS(NRs
Branch.unlockRkR](sok(RR8RFRR(R3RoRpR6RI((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR?scC@s(z|jd8_|js|jdk	r:|jjn|j|j}d|_|jdk	r|jr|dkr|jr|jj	j
n|jjn|dkrdS|jst
dn|j}|j}d|_d|_|js|j||qnWd|j	jXdS(NiRsLocked, but no token!(RZRMRPReRJRWRIR[RGRRRRXRZR(R3RRoRp((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRHs0	
									cC@siy|jd|j}Wn(tjk
rF|j|jjSX|dkretj|ndS(NsBranch.break_lockR](sok(R8RFRRRRIRR(R3RI((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRjs
cC@s(|jst|jnt|_dS(N(RXRXRRhR[(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRts	cC@s(|jst|jnt|_dS(N(RXRXRRgR[(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRys	cC@s|dkrtjS|j}|jj||\}}|rD|S|d}|jj|g}||kr|||}ntj||jdS(Nii(RR$tlast_revision_infoRRxRVRR(R3RythistoryRrR]Rtmissing_parentR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt
get_rev_id~s	

cC@sb|jd|j}|ddkr>td|fnt|d}|d}||fS(NsBranch.last_revision_infoiR]sunexpected response code %sii(R8RFRR(R3RIRyt
last_revision((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_read_last_revision_infos
cC@s|jr |j|jjS|jd|j\}}|ddkr`tj|n|jj	d}|dgkrgS|S(s#See Branch._gen_revision_history().sBranch.revision_historyiR]RpRk(
RQRRIt_gen_revision_historyR:RFRRRR(R3RRR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRxs	

cC@s|jj|jS(N(RRR/(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRFsc
	C@s|j\}}|j|}|jt||i|d6}|jd|j|j|j|t|t||}	|j	t|	dkr|	ddkrt
j|	n|	d\}
}|
|f|_|j
|||jdk	r|
|f}||j_ndS(Ntother_branchsBranch.set_last_revision_exiiR]i(Rrt_lefthand_historyt _run_pre_change_branch_tip_hooksRR8RFRXRGRRJRRR3t!_run_post_change_branch_tip_hooksRIRP(
R3RRytallow_divergedtallow_overwrite_descendantt	old_revnot	old_revidRsR6RIt	new_revnoRtcache((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_set_last_revision_descendants"
		
"cC@s|j\}}|j|}|jt|||j|jd|j|j|j|}|dkrt	j
|n|j||dS(NsBranch.set_last_revisionR](sok(RrRzR{RRJR8RFRXRGRRR|(R3RRRRsRI((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_set_last_revisions
		cC@s|jj}|jdr%|jSy|jd|j}Wn(tjk
rk|jd|jSXt	|dkrtj
|n|d}|dkrdS|S(Nii
sBranch.get_parentiRk(ii
(ii
(R/RRzt_vfs_get_parent_locationR8RFRRRRRRP(R3RRItparent_location((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_get_parent_locations


cC@s|j|jjS(N(RRIR(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs
cC@s|jj}|jdr(|j|Sy\|p4d}t|tk	r\td|n|jd|j|j	|j
|}Wn+tjk
r|j
d|j|SX|dkrtj|ndS(	NiiRksurl must be a str or None (%s)sBranch.set_parent_location(ii(ii((R/RRzt_vfs_set_parent_locationRRRZR8RFRXRGRRRR(R3RfRtcall_urlRI((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_set_parent_locations
	

cC@s|j|jj|S(N(RRIR(R3Rf((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs
c	K@s9|j|j|jj|d|d|d||S(Nt	overwritet
stop_revisiont_override_hook_target(RbRRItpull(R3R]RRtkwargs((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs


	c
C@s2|j|jj|d|d|d|d|S(NRRRt_override_hook_source_branch(RRItpush(R3R`RRR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs
	cC@s|jS(N(RW(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytpeek_lock_modescC@s
|jdkS(Ni(RZ(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRscC@sy|jd|j|}Wn+tjk
rL|j|jj|SX|ddkrtg|dD]}t|^qkStj	|dS(shGiven a revision id, return its dotted revno.

        :return: a tuple like (1,) or (400,1,3).
        sBranch.revision_id_to_revnoiR]iN(
R8RFRRRRItrevision_id_to_dotted_revnoRRR(R3RRItx((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs	
'cC@sy|jd|j|}Wn+tjk
rL|j|jj|SX|ddkrt|dkr}t|dSt	||ntj
|dS(scGiven a revision id on the branch mainline, return its revno.

        :return: an integer
        sBranch.revision_id_to_revnoiR]iiN(R8RFRRRRItrevision_id_to_revnoRRRR(R3RRI((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR%s	
cC@sH|j\}}|j|||s9t|trTtjd|d|ny4|jd|j|j|j	t
||}WnKtjk
r|j|j
|jj||||f|_dSX|dkr5|j||f|_|j|||jdk	rD|j}||j_qDntj|dS(NRRsBranch.set_last_revision_infoR](sok(RrR{RRRRR8RFRXRGRRRRbRItset_last_revision_infoR3RJR|RPR(R3RyRRRRIR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR8s,	


	c
C@s|jj}|jdsfy$|j||dtdtdSWqftjk
rb|jdqfXn|j|j	j
}|j\}}||ftj
dfg}|dk	r|j||stj||qn|j||}	|j|	|dS(NiiR}R~i(ii(ii(R/RRzRRhRRRRbRRRrRR$RPtis_ancestortDivergedBranchestfind_distance_to_nullR(
R3Rtlast_revRyRR	t
last_revnot
last_revidtknown_revision_idsRy((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytgenerate_revision_historyTs$

	cC@s|jd|dS(Nt
push_location(t_set_config_location(R3R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytset_push_locationnscC@s|jjrtjj|S|jj}|jdrD|jSy|j	SWn(t
jk
r||jd|jSXdS(Nii(ii(ii(
RRCRR@R>R/RRzt_vfs_heads_to_fetcht_rpc_heads_to_fetchRRR(R3R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR>qs

cC@s^|jd|j}t|dkr<tj|n|\}}t|t|fS(NsBranch.heads_to_fetchi(R8RFRRRR(R3RIt
must_fetchtif_present_fetch((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs
cC@s|j|jjS(N(RRIR>(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs
N(BR@RARBRPRhRORRR7R8R[R]R`RR_RhRRRR2RJRbRcRRURdRhRRgRjRlRkRRRRRRRRRRRRRuRwRxRFRgRRRRRRRRRRRRRRRRR>RR(((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRszK																					"		"	
															tRemoteConfigcB@s&eZdZdddZdZRS(sA Config that reads and writes from smart verbs.

    It is a low-level object that considers config data to be name/value pairs
    that may be associated with a section. Assigning meaning to the these
    values is done at higher levels like bzrlib.config.TreeConfig.
    cC@syt|j}d}|dkr*|}n"y||}Wntk
rKnX|dkra|}n|j||}Wn)tjk
r|j|||}nXx%tjdD]}||||qW|S(sReturn the value associated with a named option.

        :param name: The name of the value
        :param section: The section the option is in (if any)
        :param default: The value to return if the value is not set
        :return: The value or default value
        RTN(	t_get_configobjRPRURTRRt_vfs_get_optionRtOldConfigHooks(R3RtsectionRJt	configobjtsection_objRRT((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt
get_options"	
	cC@st|dr6|dddkr6tj|n|djj}tj|dd}xtjdD]}||qoW|S(NiR]itencodingsutf-8tload(RRRRRRt	ConfigObjR(R3RIRtconfRT((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_response_to_configobjs$N(R@RARBRPRR(((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRsRZcB@s\eZdZdZdZd	dZdZdZdZ	dZ
d	dZRS(
sA RemoteConfig for Branches.cC@s
||_dS(N(t_branch(R3R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyROscC@s4|jj}|jjjd|}|j|S(NsBranch.get_config_file(RRFR/R9R(R3R\RI((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRscC@s|jjj}|jdr1|j|||St|tru|jdrb|j|||S|j|||S|j|||SdS(sSet the value associated with a named option.

        :param value: The value to set
        :param name: The name of the value to set
        :param section: The section the option is in (if any)
        iiiN(ii(ii(	RR/RRzt_vfs_set_optionRRt_set_config_option_dictt_set_config_option(R3RRRR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt
set_optionscC@syU|jj}|jjjd||jj|jj|jd||pNd}Wn@tjk
r|jjj	}|j
d|j|||SX|dkrtj|ndS(NsBranch.set_config_optiontutf8Rkii(ii((
RRFR/R0RXRGtencodeRRRRRR(R3RRRR\RIR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs"
cC@s|i}xf|jD]X\}}t|tr@|jd}nt|tra|jd}n|||<qWtj|S(NR(titemsRtunicodeRR(R3toption_dictt	utf8_dictRR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_serialize_option_dictscC@sy[|jj}|j|}|jjjd||jj|jj|||pTd}Wn@tjk
r|jjj	}|j
d|j|||SX|dkrtj|ndS(NsBranch.set_config_option_dictRki(ii((
RRFRR/R0RXRGRRRRRR(R3RRRR\tserialised_dictRIR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs
cC@s|jj|jjS(N(RRRI(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_real_objects
cC@s|jjj|||S(N(RR7R(R3RRR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRsN(R@RARBRORRPRRRRRR(((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRZs			
	
		R6cB@s>eZdZdZdZdZddZdZRS(sA RemoteConfig for BzrDirs.cC@s
||_dS(N(t_bzrdir(R3R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRO
scC@sp|jjj}d}|jdr6tj|n|jj|jj}|jj||}|j|S(NsBzrDir.get_config_fileii(ii(	RR/RRzRRRR:R(R3RRR\RI((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR
s	cC@s|jjj|||S(N(RR7R(R3RRRJ((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRscC@s|jjj|||S(sSet the value associated with a named option.

        :param value: The value to set
        :param name: The name of the value to set
        :param section: The section the option is in (if any)
        (RR7R(R3RRR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRscC@s|jj|jjS(N(RRR(R3((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR%s
N(	R@RARBRORRRPRR(((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR6s		
	
cC@s%x|D]}|j||qWdS(swExtract all the contents of a tarfile object.

    A replacement for extractall, which is not present in python2.4
    N(textract(Rtto_dirttarinfo((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR*s
c@sfd}fd}ytjj}Wntk
rMnX|||ytjj}Wn tk
rtjn
X|dS(s.Translate an ErrorFromSmartServer into a more useful error.

    Possible context keys:
      - branch
      - repository
      - bzrdir
      - token
      - other_branch
      - path

    If the error from the server doesn't match a known pattern, then
    UnknownErrorFromSmartServer is raised.
    c@sCy|SWn0tk
r>}td|jdnXdS(NsMissing key %r in context %ri(RUR)R5(Rtkey_err(RR7(s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytfindEs
c@shydSWnUtk
rc}yjdSWqdtk
r_}td|jdqdXnXdS(sYGet the path from the context if present, otherwise use first error
        arg.
        R\isMissing key %r in context %rN(RUt
error_argsR8R)R5(Rtidx_err(RR7(s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pytget_pathKsN(terror_translatorsRTRRUtno_context_error_translatorsRR(R7RRRt
translator((RR7s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR27s

RcC@st|d|jdS(NRi(RR(R7RR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt<lambda>hstnosuchrevisioncC@st|d|jdS(NRi(RR(R7RR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRkscC@sMt|jdkr%|jd}nd}tjd|djjd|S(NiiR\Rtdetail(RRRPRRRR(R7RRtextra((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_translate_nobranch_errorns
tnobranchtnorepositorycC@stj|dS(NR(RR((R7RR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRxstUnlockableTransportcC@stj|djS(NR(RRR(R7RR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR{sRcC@stj|ddS(NRs(remote token)(RR(R7RR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyR~stDivergedcC@stj|d|dS(NRRy(RR(R7RR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRsRVcC@stjd|dS(NR(RRV(R7RR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRscC@sG|}t|jdkr.|jd}nd}tj|d|S(NiiR(RRRPRtPermissionDenied(R7RRR\R((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_translate_PermissionDenieds
	Rt	ReadErrorcC@stj|S(N(RR(R7RR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRst
NoSuchFilecC@stj|S(N(RR(R7RR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRsRcC@stj|dS(NR(RR(R7RR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRsRcC@stjd|dS(NR(RR(R7RR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs	tUnresumableWriteGroupcC@s0tjd|dd|jdd|jdS(NRtwrite_groupsitreasoni(RRR(R7RR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs	tIncompatibleRepositoriescC@s(tj|jd|jd|jdS(Niii(RRR(R7((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRsRncC@s
tjdS(Ns
(remote lock)(RRn(R7((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRst
LockFailedcC@stj|jd|jdS(Nii(RRR(R7((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRstTipChangeRejectedcC@stj|jdjdS(NiR(RRRtdecode(R7((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRsRWcC@stj|jS(N(RRWR(R7((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRsRcC@stj|jS(N(RRR(R7((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRst
FileExistscC@stj|jdS(Ni(RRR(R7((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRstDirectoryNotEmptycC@stj|jdS(Ni(RRR(R7((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRscC@sA|j}tj|dt|dt|dt|dS(Niiii(RRtShortReadvErrorR(R7R5((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_translate_short_readv_errors	'RcC@st|jd}|jd}t|jd}t|jd}t|jd}|jdr~|djd}n%|jdr|djd	}n|jd
krt|||||n*|jdkrt|||||ndS(Niiiiisu:sutf-8ss:tbase64tUnicodeDecodeErrortUnicodeEncodeError(RRRRRRRR(R7RtvalRktendR((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt_translate_unicode_errors
RRRcC@s
tjdS(Nsreadonly transport(RtTransportNotPossible(R7((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRstMemoryErrorcC@s
tjdS(NsXremote server out of memory
Retry non-remotely, or contact the server admin for details.(RRl(R7((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRsRcC@stj|jd|jdS(Nii(RRR(R7((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRst
BzrCheckErrorcC@stjd|jdS(Ntmsgi(RRR(R7((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyRs(mt
__future__RRRetbzrlibRRRRMRRRRRRR	R
RRR
RRRRRRRRRRRRt
bzrlib.branchRRtbzrlib.decoratorsRRRt
bzrlib.errorsRRtbzrlib.i18nRtbzrlib.inventoryRtbzrlib.lockable_filesR tbzrlib.smartR!R"Rtbzrlib.smart.clientR#tbzrlib.revisionR$tbzrlib.revisiontreeR%tbzrlib.repositoryR&R'tbzrlib.serializerR(Rtbzrlib.traceR)R*R+R,tbzrlib.versionedfileR-RtobjectR.RKRNRLtIniFileStoreRRRctVersionedFileRepositoryFormatRDt
Repositoryt_RelockDebugMixinRt
StreamSinkRtStreamSourceRR*tBranchFormatRRDR@RRRZR6RtRegistryRRR2tregisterRRRR(((s1/usr/lib/python2.7/dist-packages/bzrlib/remote.pyt<module>s"	
8v/".L#			0	
	
		
	
	
	
	
		
	
	
	
	
	
	
	
	
	
	
	
	
						
	
	
	

Copyright © 2017 || Recoded By Mr.Bumblebee