mò óRÅDc@sýdkTdkTdkTdklZeeƒdƒeeƒdƒd„Zd„Zdd„Z dd„Z d „Z d „Z hd e<d e <d e<dd„<dd„<de <de <de 5sthttpscCsti||ƒS(N(RthttpsrepositoryR R(R R((R R"6ssold-httptsshs static-httpcCs¶d}|o7|idƒ}|djoti|| ƒ}qJnd}|ptd}|oGy||||ƒSWq©t j o t i t dƒ|ƒ‚q©Xn|||ƒS(Nt:iRR s/cannot create new repository over "%s" protocol(tNonetschemeRtfindtctschemestgettctorRR t TypeErrortutiltAbortR(R RRR*R(R-((R t repository<s "cCs|djo"tiitii|ƒƒ}ntii|ƒoti t dƒ|ƒ‚ndt fd„ƒY}t ||ƒ} d} y,t ||ƒ} ti t d|ƒƒ‚Wn(tj ot ||dtƒ} nXd}d}| iƒo"tii|ƒ}||ƒ}n|}t}| iƒo2| iƒo%tii|ƒ}| o| }nd\} }|o3y| iƒ} Wq¬tij o t}q¬Xn|oætitii |ddƒƒ}ti!tii |ddƒƒd }xŠ|i#ƒD]|}tii |d|ƒ}tii |d|ƒ} yti'|| ƒWqt(j o#}|i*t*i+jo‚q‚qXqWt ||ƒ} nÅd}|oT| iƒpti t d ƒƒ‚ng}|D]}|| i/|ƒq×~}n| iƒo| i0| d |d |ƒn:| iƒo| i2| d |ƒnti t dƒƒ‚| o| i3ƒn| iƒoz| i4dddtƒ} | i6dƒ| i6d|ƒ| i7ƒ|o|i3ƒn|o| i8| i9i:ƒƒqùn|o|i7ƒn| | fS(s¿Make a copy of an existing repository. Create a copy of an existing repository in a new directory. The source and destination are URLs, as passed to the repository function. Returns a pair of repository objects, the source and newly created destination. The location of the source is added to the new repository's .hg/hgrc file, as the default to be used for future pulls and pushes. If an exception is raised, the partly cloned/updated destination repository will be deleted. Keyword arguments: dest: URL of destination repository to create (defaults to base name of source repository) pull: always pull from source repository, even in local case stream: stream raw data uncompressed from repository (fast over LAN, slow over WAN) rev: revision to clone up to (implies pull=True) update: update working directory after clone completes, if destination is local repository sdestination '%s' already existst DirCleanupcBs#tZd„Zd„Zd„ZRS(NcCsti|_||_dS(N(tshutiltrmtreetselftdir_(R5R6((R t__init__ss cCs d|_dS(N(R'R5R6(R5((R tclosevscCs%|io|i|itƒndS(N(R5R6R4tTrue(R5((R t__del__xs (t__name__t __module__R7R8R:(((R R2rs  s destination '%s' already exists.Rs.hgtlocktdatas:data 00manifest.d 00manifest.i 00changelog.d 00changelog.is;clone by revision not supported yet for remote repositoriestheadststreamtrevss)clone from remote to remote not supportedthgrctwttexts[paths] s default = %s N(NN(;tdestR'tosRtbasenametnormpathtsourcetexistsR/R0RtobjectR2R1R tsrc_repot dest_repot RepoErrorR9t dest_patht dir_cleanuptlocaltrealpathtabspathtFalsetcopytpulltrevtsrc_lockt dest_lockR=t LockExceptiontjointrmdirtfilesRtftsrctdstt copyfilestOSErrortinstterrnotENOENTRAt_[1]trtlookuptcloneR@tpushtreleasetopenertfptwriteR8tupdatet changelogttip(R RIRERVRWRoR@R2RYRXRLRmR`RMR]R_RSRcRORURARPR^RfRg((R RiMs† "   !  .     N(tnodetrepot demandloadti18ntgettextRtglobalsRRRRRRR+R'R1RTR9Ri( RR+R1RiRRRRRR((R t?s      T