ó •abc@@s¶ddlmZddlZddlZddlZddlmZmZddlm Z m Z ddl m Z ddl mZejeƒZde fd„ƒYZe jeƒdS( i(tabsolute_importN(t display_pathtrmtree(tvcstVersionControl(t path_to_url(t configparsert MercurialcB@sqeZdZdZdZdZd„Zd„Zd „Zd „Z d „Z d „Z d „Z d„Z d„ZRS(thgs.hgtcloneshg+httpshg+httpsshg+sshshg+static-httpcC@sTtjddƒ}|j|ƒz#|jd|gdtd|ƒWdt|ƒXdS(s?Export the Hg repository at the url to the destination locations-exportspip-tarchivet show_stdouttcwdN(ttempfiletmkdtemptunpackt run_commandtFalseR(tselftlocationttemp_dir((s5/usr/lib/python2.7/site-packages/pip/vcs/mercurial.pytexports  cC@sÃtjj||jdƒ}tjƒ}yI|j|ƒ|jdd|ƒt|dƒ}|j |ƒWdQXWn/t tj fk r¡}t j d||ƒnX|jddg|d|ƒdS( Nthgrctpathstdefaulttws/Could not switch Mercurial repository to %s: %stupdates-qR (tostpathtjointdirnameRtSafeConfigParsertreadtsettopentwritetOSErrortNoSectionErrortloggertwarningR(Rtdestturlt rev_optionst repo_configtconfigt config_filetexc((s5/usr/lib/python2.7/site-packages/pip/vcs/mercurial.pytswitch s  cC@s:|jddgd|ƒ|jddg|d|ƒdS(Ntpulls-qR R(R(RR(R*((s5/usr/lib/python2.7/site-packages/pip/vcs/mercurial.pyR/scC@s®|jƒ\}}|r.|g}d|}n g}d}|j||||ƒrªtjd||t|ƒƒ|jddd||gƒ|jddg|d|ƒndS( Ns (to revision %s)tsCloning hg %s%s to %sR s --noupdates-qRR (t get_url_revtcheck_destinationR&tinfoRR(RR(R)trevR*t rev_display((s5/usr/lib/python2.7/site-packages/pip/vcs/mercurial.pytobtain3s   cC@sO|jddgdtd|ƒjƒ}|j|ƒrEt|ƒ}n|jƒS(Nt showconfigs paths.defaultR R (RRtstript_is_local_repositoryR(RRR)((s5/usr/lib/python2.7/site-packages/pip/vcs/mercurial.pytget_urlEs  cC@s+|jddgdtd|ƒjƒ}|S(Ntparentss--template={rev}R R (RRR9(RRtcurrent_revision((s5/usr/lib/python2.7/site-packages/pip/vcs/mercurial.pyt get_revisionMs cC@s+|jddgdtd|ƒjƒ}|S(NR<s--template={node}R R (RRR9(RRtcurrent_rev_hash((s5/usr/lib/python2.7/site-packages/pip/vcs/mercurial.pytget_revision_hashSs cC@sw|j|ƒ}|jƒjdƒs1d|}n|jƒjddƒd}|sWdS|j|ƒ}d|||fS(Nshg:shg+t-iis %s@%s#egg=%s(R;tlowert startswithtegg_nametsplittNoneR@(RtdistRtrepotegg_project_nameR?((s5/usr/lib/python2.7/site-packages/pip/vcs/mercurial.pytget_src_requirementYs cC@stS(s&Always assume the versions don't match(R(RR(R*((s5/usr/lib/python2.7/site-packages/pip/vcs/mercurial.pyt check_versioncs(Rshg+httpshg+httpsshg+sshshg+static-http(t__name__t __module__tnameRt repo_nametschemesRR/RR7R;R>R@RJRK(((s5/usr/lib/python2.7/site-packages/pip/vcs/mercurial.pyRs       (t __future__RtloggingRR t pip.utilsRRtpip.vcsRRt pip.downloadRtpip._vendor.six.movesRt getLoggerRLR&Rtregister(((s5/usr/lib/python2.7/site-packages/pip/vcs/mercurial.pyts   W