-=[ Mr. Bumblebee ]=-
_Indonesia_

Path : /usr/lib/python2.7/dist-packages/hgext/convert/
File Upload :
Current File : //usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyc


l\c@sddlZddlZddlZddlZddlZddlZddlZddlZ	ddl
mZmZm
Z
mZddlmZe
jZddlmZddlmZmZmZmZmZddlmZmZmZmZddlmZddlmZydd	l m!Z!m"Z"ddl#Z#ddl$Z#ddl Z#ddl%Z#ddl&Z#ddl'Z'ddl(Z(e(j)d
ddd
e*Wne+k
re,Z#nXde-fdYZ.dZ/dZ0dZ1dZ2de3fdYZ4de5e6dZ7dZ8de3fdYZ9de:fdYZ;dZ<dZ=ie=d6e=d 6e<d!6Z>d"Z?d#efd$YZ@d%ZAd&eefd'YZBdS((iN(tstrutiltscmutiltutiltencoding(t_(tStringIO(tNoRepotMissingTooltcommitt
encodeargst
decodeargs(tcommandlinetconverter_sourcetconverter_sinktmapfile(tmakedatetimestamp(t	checktool(tSubversionExceptiontPooltignoretmodulessvn.coretcategorytSvnPathNotFoundcBseZRS((t__name__t
__module__(((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyR)scCs|jdd}d}t|dkr=t|d}n|djdd}d}d}t|dkr|djdr|dd}d|d}n|||fS(sParse a revision string and return (uuid, path, revnum).
    >>> revsplit('svn:a2147622-4a9f-4db4-a8d3-13562ff547b2'
    ...          '/proj%20B/mytrunk/mytrunk@1')
    ('a2147622-4a9f-4db4-a8d3-13562ff547b2', '/proj%20B/mytrunk/mytrunk', 1)
    >>> revsplit('svn:8af66a51-67f5-4354-b62c-98d67cc7be1d@1')
    ('', '', 1)
    >>> revsplit('@7')
    ('', '', 7)
    >>> revsplit('7')
    ('', '', 0)
    >>> revsplit('bad')
    ('', '', 0)
    t@iit/tssvn:i(trsplittlentinttsplitt
startswith(trevtpartstrevnumtuuidtmod((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pytrevsplit,s%cCstj|dS(Ns!$&'()*+,-./:=@_~(turllibtquote(ts((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyR(FscCsy tjjtjj|SWntk
r3nXtjj|rtjj	tjj
|}tjdkrdtj	|}nt
j|}dt|}ntjj|S(NtntRs	file://%s(tsvntclientt
url_from_pathtcoretsvn_path_canonicalizeRtostpathtisdirtnormpathtabspathtnameRRttolocalR((R1((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pytgeturlPs 
cCs.tjj}tjj|_||j_|S(N(R+R.tsvn_opt_revision_ttsvn_opt_revision_numbertkindtvaluetnumber(R<toptrev((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyR=`stchangedpathcBseZdZRS(cCs(|j|_|j|_|j|_dS(N(t
copyfrom_pathtcopyfrom_revtaction(tselftp((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyt__init__gs(RRRD(((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyR>fsic	sdfd}y>tjd|}	tjj|	j|||||||WnOtk
r|tjdn?t	k
r}
tjt
|
nXtjdjtj
ddS(Nic	shi}|dk	rBx-|jD]\}}t|||<qWntj|||||fdS(N(tNonet	iteritemsR>tpickletdump(	t
orig_pathsR#tauthortdatetmessagetpooltpathstktv(tfptprotocol(s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pytreceiverosturli(t	transporttSvnRaTransportR+tratget_logtIOErrorRGRHREt	ExceptiontstrtcloseR0t_exit(RQRTRNtstarttendtlimittdiscover_changed_pathststrict_node_historyRStttinst((RQRRs</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyt
get_log_childls

cKsmtdkr$tjtdntjtjtjtjt	tjj
}ttj|dS(siFetch SVN log in a subprocess and channel them back to parent to
    avoid memory collection issues.
    s5debugsvnlog could not load Subversion python bindingsN(R+RERtAbortRt	setbinarytsyststdintstdoutR
treadRe(tuitoptstargs((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pytdebugsvnlogst	logstreamcBs)eZdZdZdZdZRS(s$Interruptible revision log iterator.cCs
||_dS(N(t_stdout(RBRj((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyRDsccsxtrytj|j}Wn&tk
rGtjtdnXy|\}}}}}Wn@tt	fk
r|dkrPntjtd|nX|VqWdS(Ns>Mercurial failed to run itself, check hg executable is in PATHslog stream exception '%s'(tTrueRGtloadRqtEOFErrorRRfRt	TypeErrort
ValueErrorRE(RBtentryRIR#RJRKRL((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyt__iter__s	
cCs&|jr"|jjd|_ndS(N(RqR\RE(RB((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyR\s	
(RRt__doc__RDRxR\(((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyRps		tdirectlogstreamcBs)eZdZdeedZdZRS(sDirect revision log iterator.
    This can be used for debugging and development but it will probably leak
    memory and is not suitable for real conversions.ic
	sMfd}tjd|}	tjj|	j|||||||dS(Nc	sbi}|dk	rBx-|jD]\}}t|||<qWnj|||||fdS(N(RERFR>tappend(	RIR#RJRKRLRMRNRORP(RB(s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyRSs
RT(RURVR+RWRX(
RBRTRNR^R_R`RaRbRSRc((RBs</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyRDs	cCsdS(N((RB((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyR\s(RRRyRrtFalseRDR\(((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyRzscCs:x3dD]+}tjjtjj||stSqWtS(Ntlocksthookstformattdb(R}R~sformatR(R0R1texiststjoinR|Rr(RlR1tprototx((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyt	filechecks
!cCsy5tj}|jd||f}|j}Wn\tjk
r}|jdkrp|jtdtS|j	j}nt
k
rtSXd|kS(Ns%s://%s/!svn/ver/0/.svniswsvn: cannot probe remote repository, assume it could be a subversion repository. Use --source-type if you know better.
s#<m:human-readable errcode="160013">(turllib2tbuild_openertopenRkt	HTTPErrortcodetwarnRRrRQRZR|(RlR1RtopenertrsptdataRd((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyt	httpchecks
thttpthttpstfilecCs@y|jdd\}}|dkrtjdkr|d dkr|dd!jr|dd!jdkr|d d	|d}ntj|}nWn)tk
rd}tjj	|}nX|dkrt
j|}ntj
|d
}x<d|kr;||||r"tS|jddd}qWtS(Ns://iRR*Riis%3a/s:/cWstS(N(R|(Rn((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyt<lambda>si(RR0R5tisalphatlowerR'turl2pathnameRvR1R4RtpconverttprotomaptgetRrRR|(RlRTRR1tcheck((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pytissvnurls$2
t
svn_sourcecBseZddZdZdZdZdZdZdZ	ddZ
d	Zd
ZddZ
dZdd
ZdZdZdZdZdZddZddZdeedZRS(cCsZtt|j||d||jdp||jdp|tjj|rptjjtjj|dp|t||st	t
d|ntdkrt
t
dt
ddnyOtjjtjjf}|dkrt
t
d|t
ddnWn1tk
rIt
t
d
t
ddnXi|_d}y@|jd}|dkrt||d	}|| }nWntk
rnXt||_d|_ytjd|j|_|jj|_|jj|_tjj|j|_t j!|jt"|j|_#d|_$|j#|_%i|_&i|_'tjj(|j|_)Wn4t*k
r|j+t	t
d|jnX|ryt|}Wqtk
rt,j-t
d|qXn|j.j/dddj0d|_1|j.j/dddd|_2y1t|j2|_2|j2dkrgd|_2nWn-tk
rt,j-t
d|j2nXy|j3|j#||_4Wnt5k
rd|_4nX|j4st,j-t
d|j#n|j6|j4|_7d|_8tjjtjj|drD||_9n	d|_9d|_:dS(NR!ssvn://s
svn+ssh://s.svns-%s does not look like a Subversion repositorys)could not load Subversion python bindingss  (try installing the %s package)spython-subversioniis=Subversion python bindings %d.%d found, 1.4 or later requireds (try upgrading the %s package)s=Subversion python bindings are too old, 1.4 or later requiredRisUTF-8RTs"svn: revision %s is not an integertconverts	svn.trunkttrunkRssvn.startrevtdefaults(svn: start revision %s is not an integersno revision found in module %ss.svn/entries(ii(;tsuperRRDR R0R1RRRRRR+RERR.t
SVN_VER_MAJORt
SVN_VER_MINORtAttributeErrortlastrevstrfindRRvR7RTRRURVRWR,tctxtget_repos_roottbaseurlR'tunquoteRRt
prevmodulet
rootmoduletcommitsRNtget_uuidR$Rt	tracebackRRfRltconfigtstript	trunknametstartrevtlatesttheadRR#tlast_changedt
_changescachetwct	convertfp(RBRlRTR!tversionRtat((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyRDs!

	
	"			


 


		!	cCsji}xT|jD]F}t|\}}}|j||}||kr|||<qqW||_dS(N(titerkeysR&t
setdefaultR(RBtrevmapRtrevidR$RR#t
lastrevnum((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyt	setrevmapjscCsWy>tjj|jjddt||t|jtSWnt	k
rRtSXdS(NR(
R+R,tlsRTtrstripR(R|RRrR(RBR1R=((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyRss&
c
sfd}fd}tj}d}|d|}|d|_|d|}|rjpud}jd|7_jjj_jstjtdjqnjg_	jdk	rd	|jpdf_n|rjjd}t
jj|dt||tj}xt|D]}	d
|||	f}
||
jsq_nj|
j}|sjjtd|	q_njjtd|	j|fj	j|q_Wnjrj	rtj	d
krJtjtdnjj	d}|jkrtjtdjqnj	S(Ncs"j||}|tjjkS(N(t
_checkpathR+R.tsvn_node_dir(R1R#R:(RB(s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyR2}scsjjdd|}|dk	r;|jdkr;dS|pD|jd}j||sjj|r|dkrdS|rtjt	d||fndSjj
t	d||f|S(NRssvn.RRRs&expected %s to be at %r, but not foundsfound %s at %r
(RlRRERRRtendswithRRfRtnote(R5R!tcfgpathR1(RB(s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyt
getcfgpaths RRttagstbranchesRsno revision found in module %ss%s/%ss%s/%s/%ssignoring empty branch %s
sfound branch %s at %d
is>svn: start revision is not supported with more than one branchis.svn: no revision found after start revision %d(R=RRRRRRRfRtheadsRERTRR+R,RR(R|RtsortedRlRR#R{RR(
RBR2RR!t	oldmoduleRRtrpathtbranchnamestbranchRtbrevidR#((RBs</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pytgetheads{sR		cCs9|jr'|jd|kr'|jdSd|_|j|\}}|rm|j|||\}|_}nt|\}}}tjj|j	t
|t|t|j
}	g|	jD]'\}
}|jtjjkr|
^q}i}t|_|jt||gt|}|j|=||fS(Nii(RRERNtexpandpathstremovedR&R+R,RRR(R=RrRRFR:R.t
svn_node_filetsettsorttzipR(RBR!RNtparentstfilestcopiesR$RR#tentriestnte((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyt
getchangess"	$!

cCs=|j|}||f|_g|dD]}|d^q)S(Ni(RR(RBR!titchangestf((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pytgetchangedfilesscCs||jkrt|\}}}||_|j||jj|d}||krh|d}n|j||||jkrtjt	d|qn|j|}|j|=|S(Niissvn: revision %s not found(
RR&RtreparentRRt_fetch_revisionsRRfR(RBR!R$RR#tstopR((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyt	getcommits	



t	splicemapcCs8tjd|s4tjtd||fndS(s; fails if revision format does not match the correct formatsXsvn:[0-9a-f]{8,8}-[0-9a-f]{4,4}-[0-9a-f]{4,4}-[0-9a-f]{4,4}-[0-9a-f]{12,12}(.*)\@[0-9]+$s.%s entry %s is not a valid revision identifierN(tretmatchRRfR(RBtrevstrtmapname((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pytcheckrevformats		cCsei}|jdkr|Sg}|j}tjj|j}|j|jg||j}zx|D]}|\}}}	}
}|sg}ng|jD]*\}}
|
jr|
j|
j	|f^q}|j
dt|}|r|dd|kr|jd}nx|D]\}}}|j
|ds>qnxc|D]E}|dj
|rE||dt|}||g|d*PqEqEW|j|||gqWtd|jD}t}xg|D]_}xV|D]N\}}}|j
|ds|j
||dr!qn|j|PqWqWxO|D]G}g|D]4}|d|krK|dj
|drK|^qK}q>Wg}x|D]\}}}|jdd}|j
|r|j|||gqn||krqny5|j||}|r)||kr)|||<nWqtk
r=qXqW|}|}qeWWd|jX|S(NtreverseiiiRcss<|]2\}}|jdkr|jr||jfVqdS(tAN(RAR?(t.0RCR((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pys	<genexpr>3s	(RRER+RWtget_latest_revnumt_getlogRRFR?R@RRrtpopR RR{tdictRtaddRRRR\(RBRtpendingsttagspathR^tstreamRwt	origpathsR#RJRKRLRCRRtsrctagspathtsourcet	sourcerevtdestttagttagpathtaddedstbadrootstdestroottbadroott	renamingsttagnamettagid((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pytgettagsst
	
	:
			

	
(
cCsz|js
dS|jdkrFttjj|jddd|_n|jjd||j|f|jj	dS(Ns.svns	hg-shamaptas%s %d
(
RRRERR0R1RtwriteR#tflush(RBR!tdestrev((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyt	converted^s	#cCsd|j|p|j|fS(Nssvn:%s%s@%s(R$R(RBR#R((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyRgscCst|jddS(NRi(RR(RBR!((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyR#jscsdfd}|jjs<jjd|dS|dkr`tjjj}nyDjd}tjj	j|j
d|}j|Wntk
rd}nX|stt
d||fn||||j\}}|dkrF|||\}}|dkrFjjd|dSn|jjspjjd|dSj||S(s]Find the latest revid affecting path, up to stop revision
        number. If stop is None, default to repository latest
        revision. It may return a revision in a different module,
        since a branch may be moved without a change being
        reported. Return None if computed module does not belong to
        rootmodule subtree.
        cs
j|g||pd}zx|D]}|\}}}}}	|dkrY|rYPn||kriPnxq|D]i}
|j|
sp||
jrqpn||
j|t|
}jjd|||f|}PqpWq(W|sd}n||fSWd|jXdS(Nis#branch renamed from %s to %s at %d
(RRER R?RRltdebugR\(R1R^RRRwRNR#RJRKRLRCtnewpath(RB(s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pytfindchangesus*

		signoring foreign branch %r
RRs%s not found up to revision %dsignoring empty branch %r
N(RER RRlR
R+RWRRtstatRRRRtcreated_revR(RBR1RRRtdirentR#trealpath((RBs</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyRms2$

cCs{|j|kr|S|jt|}|j}|dkrDd}n|jjd|tjj|j|||_|S(s:Reparent the svn transport and return the previous parent.Rsreparent to %s
N(	RRR(RERlR
R+RWR(RBRtsvnurlR((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyRs			c	Csutt}}i}t|d\}}||jkrZ||_|j|jnxt|D]\}	\}
}|jjtd|	d|
dt||j	|
}|j
||}
|
tjj
kr|j|j||jsg|rqgnt|dd\}}|j|kr3qgn|j	|j|}|sTqgn|jjd|||jf|j|||j|<qg|
dkr|jjd|jt|dd\}}|d|}|j
|||}|tjj
kr|j|j|q8|tjjkr|jd}|
jd}|j||}xr|D]M}|j||}|j	d||}|rg|j|j|qgqgWq8|jjd	||
fqg|
tjjkrg|jd
krqgn|jdkr|rt|dd\}}|j
|||}|tjj
krn|j|j|q|tjjkrxO|j||D]8}|j	d|}|r|j|j|qqWqnxL|j|
|D]8}|j	d|}|r|j|j|qqW|jsg|r;qgnt|dd\}}|j|krjqgn|j	|j|}|sqgn|jjd|
||jf|j|j|j}xr|D]g}|j	d||}|sqn|
|t|}|j	|}|j|||j|<qWqgqgW|jjtdd|j|t|||fS(
Nisscanning pathstitemttotaliscopied to %s from %s@%s
s
gone from %s
Rs unknown path in revision %d: %s
tMtRsmark %s came from %s:%d
(RR&RRt	enumerateRltprogressRRt
getrelpathRR+R.RRtrecodeR?R@R
RRt
_iterfilestreplaceRAREtupdatetlist(RBR!RNRtchangedRRt
new_moduleR#RR1tentt	entrypathR:tpmoduletprevnumR?t
parentpathtfromkindtoroottnroottchildrent	childpathtpkindtcopyfrompatht
copytopath((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyRs	

 #
'
cs|kr|}nd_fd}jjtdj|fyjd}t}jjg|}zx|D]}|\}}	}
}}|	jkrt	}Pn|sjj
d|	|p|	dk}qn|||	|
||\}
}|
r$|
}n|rPqqWWd|jX|r|r|jryWj
|j}|dkrjj|d}|r|jj|qnWqtk
rqXnWnJtk
r\}}|tjjkr
tjtdnnXdS(Nc
s#jjd|t|ft}j|}|jksP|krZd|fSg}t|j}g|D]*\}}	j	j
|ry||	f^qy}
|
ry|
d\}}|jrft}|jj	t|}
j
|
|j}|dk	rvt|d\}}|jkrc|g}jjtdj	||fqcqvqyjjdng}xB|D]:\}}j|dkrqn|j||fqWtj|d ddg}jjd	d
r	t|d}n|rj|p!d}|r9j|p<d}y2j	jd
d}|jkrpd}nWntk
rd}nXtd|dtj|dd|d|d|d|}|j|<||jfj |<j!rj!jr|gj!j(n|_!||fS(slReturn the parsed commit object or None, and True if
            the revision is a branch root.
            s!parsing revision %d (%d changes)
iis$found parent of branch %s at %d: %s
s)no copyfrom path, don't know what to do.
is UTCs%Y-%m-%dT%H:%M:%SRt
localtimezoneiRRRJRKs%Y-%m-%d %H:%M:%S %1%2tdescRRR!N("RlR
RR|RRRERRFRR R?RrRR@R&RRRRR{Rt	parsedatet
configboolRRRRt
IndexErrorRtdatestrRRNt
child_cset(RIR#RJRKRLtbranchedR!RRCRt
root_pathsR1R#RtprevidRR&RNtlogRtcset(RBt	to_revnum(s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyt
parselogentry/sh
$				


	
	s-fetching revision log for "%s" from %d to %d
srevision %d has no entries
iissvn: branch has no revision %s(RER6RlRRRR|RRRrR
R\RR#R!RR{RRR+R.tSVN_ERR_FS_NO_SUCH_REVISIONRRf(RBtfrom_revnumR<R=t	firstcsettlastonbranchRRwRNR#RJRKRLR;tfirstrevnumRRdtnum((RBR<s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyR)sR	L
	

cCsv||jkrtnd}yt|d\}}|j|krb||_|j|jnt}tjj|j|||}|j	}|j
t|tr|d}nd|krdpd}d|krdp|}WnFt
k
r4}	tjjtjjf}
|	j|
kr.tnnX|dkrld}|j|rl|t|}qln||fS(	NRiissvn:executableRssvn:specialtlslink (RRYR&RRRR+RWtget_filetgetvalueR\t
isinstanceR RR.tSVN_ERR_FS_NOT_FOUNDtSVN_ERR_RA_DAV_PATH_NOT_FOUNDtapr_errR R(RBRR!tmodeR"R#tiotinfoRRtnotfoundtlink_prefix((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pytgetfiles6			

		csjdt}dj|jtgjd}tjj|t|t	|j
|}ryd7nfd|jDS(s3Enumerate all files in path at revnum, recursively.Rc3s4|]*\}}|jtjjkr|VqdS(N(R:R+R.R(RRCR(R1(s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pys	<genexpr>s	(RRRRR(R+R,RR=RrRRF(RBR1R#RMRR((R1s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyRs	''
cCs|dkr|j}n|j|rj|jdt|}|jdrW|dS|dkrj|Sn|jjd||fdS(NRiRs%r is not under %r, ignoring
(RERR RRRlR
(RBR1Rtrelative((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyRscCsv|dk	r,|jd}|d|}nz&tjj|j|jd|SWd|dk	rq|j|nXdS(NRR(RERR+RWt
check_pathR(RBR1R#RR((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyRs&icCs'g}xG|D]?}|jds6|jd|}n|j|jdq
W|j||||||g}	|jjddtst|	St	|	}
t
j}dt
j|}t
j
t
j|\}
}|
j|
y|
jWn&tk
rt
jtdnXt|S(NRRssvn.debugsvnlogs%s debugsvnlogs>Mercurial failed to run itself, check hg executable is in PATH(R RR{RRRlR3RrRzR	Rthgexecutablet
shellquotetpopen2tquotecommandR	R\RYRfRRp(RBRNR^R_R`RaRbtrelpathsRCRntargthgexetcmdRiRj((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyRs&



N(RRRERDRRRRRRRRRRR#RRRRRPRRRRrR|R(((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyRs,Z				H				`			J	
	e		 	sW#!/bin/sh

REPOS="$1"
REV="$2"
USER="$3"
PROPNAME="$4"
ACTION="$5"

if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi
if [ "$ACTION" = "A" -a "$PROPNAME" = "hg:convert-branch" ]; then exit 0; fi
if [ "$ACTION" = "A" -a "$PROPNAME" = "hg:convert-rev" ]; then exit 0; fi

echo "Changing prohibited revision property" >&2
exit 1
tsvn_sinkcBseZejdejZejdejZdZdZdZ	dZ
dZdZdZ
ed	Zd
ZdZdZd
ZdZdZdZdZdZdZdZdZRS(sCommitted revision (\d+).sRepository UUID:\s*(\S+)cCs |jrtj|jndS(N(RR0tchdir(RB((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pytprerun"s	cCs |jrtj|jndS(N(RR0R\tcwd(RB((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pytpostrun&s	cCstjj|jd|S(Ns.svn(R0R1RR(RBR5((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyR*scCs
|jdS(Ns	hg-shamap(R(RB((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyt
revmapfile-scCs
|jdS(Nshg-authormap(R(RB((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyt
authorfile0scCstdddtdddtj|||tj||dg|_g|_g|_g|_d|_	t
j|_t
}t
jjt
jj|ddrt
jj||_	|jdnPtjd|st
jj|}t
jjt
jj|rt
jjt
jj|d	d
s||jtdt
jj|t|djd||}ntj|}|jd
sd
|}nd|}qnt
jjt
jt
jj|d}|jtdt
jj||jd||||_	tj|j	|_tj|j	|_ t!||jd|_"tj#|j	rtj$pd|_%|rt
jj|dd}t&|d}|j't(|j)tj*|t
t+n|jd}|j,j|j-dj.|_/dS(NR+tdebnamet
subversiontsvnadmins.svnRRs#^(file|http|https|svn|svn\+ssh)\://Rsfs-typesinitializing svn repository %r
tcreateRsfile://s-wcs!initializing svn working copy %r
tcheckoutshg-childmapR~spre-revprop-changetwRMi(0RR
RDRtdeletetsetexectdelexecRRERR0tgetcwdR^R|R1tisfileRRtrun0RtsearchR2tdirnameRtstatusRtbasenameRR3R RRtwopenerRtchildmapt	checkexectisexectis_execRR	tpre_revprop_changeR\tsetflagsRrtuuid_retgroupRR$(RBRlR1tcreatedtwcpaththookRQtoutput((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyRD3sV					$$	
+	$

cGstjj|j|S(N(R0R1RR(RBtnames((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pytwjoingscCst}|jddtdt}tjjj|}x|jdD]}}xt|jD]i}|j	|j
ksY|jdkrqYndjd|jD}|j
tj|jdPqYWqIW|S(	NRt	recursivetxmlRwR5Rcss*|] }|j|jkr|jVqdS(N(tnodeTypet	TEXT_NODER(Rtc((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pys	<genexpr>vssutf-8(RRmRrRtdomtminidomtparseStringtgetElementsByTagNamet
childNodesRtELEMENT_NODEttagNameRRRR6tencode(RBtmR~tdocRRR5((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pytmanifestjs	!	cCsd|kr"|jj||ny/tjj|j|rPtj|nWntk
rdnX|jj|||j	r|j	|j|rd|kr|j
j|qnd|kr|jj|nt
j|j|td|kndS(NRDR(RrtsymlinkR0R1tislinkRtunlinktOSErrorR	RvRjR{RiRRxR|(RBtfilenametflagsR((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pytputfiles
	cCs|j|}tjj|}|r~tjdddtjj|\}}tj|tj|tj	||nz|j
d||Wd|jj||rytj|Wnt
k
rnXtj	||nXdS(Ntprefixshg-copy-tdirtcopy(RR0R1tlexiststtempfiletmkstempRoR\RtrenameRmRRR(RBRRtwdestRtfdttempname((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyt	_copyfiles"	!


cCswt}xg|D]_}tjj|j|rA|j|nx+tj|dD]}|j|| qTWqW|S(NR(RR0R1R2RRRtrfindall(RBRtdirsRR((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pytdirs_ofs	
cCspgt|j|D]}||jkr|^q}|rl|jj||j|ddtdtn|S(NRt
non_recursivetquiet(RRRRtxargsRr(RBRtdtadd_dirs((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyRscCs[g|D]}||jkr|^q}|rW|jj||j|ddtn|S(NRR(RRRRr(RBRR((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyt	add_filess
(cCsg}xwt|j|dtD]Z}|j|}tj|dkr"|jd||jj||j	|q"q"W|S(NRs.svnRh(
RRRrRR0tlistdirRmRtremoveR{(RBRtdeletedRtwd((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyt	tidy_dirss"cCs||j|<dS(N(Rs(RBtparenttchild((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pytaddchildscCsd|j|fS(Nu	svn:%s@%s(R$(RBR!((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyRscCsx:|D]2}y|j|j|SWqtk
r8qXqWx|D]\}}	y|j||	\}
}Wn!tk
r|jj|qDX|j|||
||krD|jj|||gqDqDWg|D]}|d^q}t	|j}t
|}|j|j|j
||jrfx'|jD]\}
}|j|
|q:Wg|_n|jr|j|jdx!|jD]}|jj|qWg|_n|j|j|j
||j|j||jr|j|jddg|_n|jr@|j|jdddg|_ntjdd\}}tj|d	}|j|j|jzF|jd
dtj|j d|d
d}y|j!j"|j#d}WnZt$k
r/|s|dS|j%j&t'd|j%j&|tj(t'dnX|j)r^|j*dd|j)dt+d|n|j,r|j,dkr|j*dd|j,dt+d|nx|D]}|j-||qW|j|SWdtj.|XdS(NiRhtpropdelssvn:executabletpropsett*Rshg-convert-RgRtusernameRRsutf-8isunexpected svn output:
sunable to cope with svn outputshg:convert-revtrevproptrevisionRshg:convert-branch(/RRstKeyErrorRPRYRhR{RRRt	frozensetRRt
differenceRRRRRRRjRiRRR0tfdopenR	R1R\RmRt	shortuserRJt	commit_reRnRzRRlRRRfR!trunRrRRR(RBRRRRRRRRRPRRKRR)RRtmessagefileRQR~R!((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyt	putcommitsz


!				
	
	
cCs|jjtddS(Ns/writing Subversion tags is not yet implemented
(NN(RlRRRE(RBR((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pytputtagsscCstS(N(Rr(RBR!((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pythascommitfrommapscCs0||jkrtStjtd|dS(Ns_splice map revision %s not found in subversion child map (revision lookups are not implemented)(RsRrRRfR(RBR!((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pythascommitforsplicemap"s(RRRtcompileRRRyR]R_RR`RaRDRt
propertycacheRRRRRRRRRRRRR(((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyR[s,						4								
			E		(CR0RRhRR'Rtxml.dom.minidomRtcPickleRGt	mercurialRRRRtmercurial.i18nRRt	cStringIORtcommonRRRR	R
RRR
RRRtsvn.coreRRR+t
svn.clienttsvn.rat	svn.deltaRUtwarningstfilterwarningstDeprecationWarningtImportErrorRERZRR&R(R7R=tobjectR>RrR|ReRoRpR RzRRRRRRwR[(((s</usr/lib/python2.7/dist-packages/hgext/convert/subversion.pyt<module>s^H"	("

		
			
			

	"

Copyright © 2017 || Recoded By Mr.Bumblebee