ó ŸçƒQc@s‚ddlZddlmZddlZddlZddlZdefd„ƒYZd„Zdej fd„ƒYZ e Z dS(iÿÿÿÿN(t_t remotelockcBs#eZd„Zd„Zd„ZRS(cCs ||_dS(N(trepo(tselfR((s5/sys/lib/python2.7/site-packages/mercurial/sshpeer.pyt__init__ scCs|jjƒd|_dS(N(RtunlocktNone(R((s5/sys/lib/python2.7/site-packages/mercurial/sshpeer.pytreleases cCs|jr|jƒndS(N(RR(R((s5/sys/lib/python2.7/site-packages/mercurial/sshpeer.pyt__del__s (t__name__t __module__RRR(((s5/sys/lib/python2.7/site-packages/mercurial/sshpeer.pyR s  cCs*tjd|ƒr|Sd|jddƒS(s=quote a string for the remote shell ... which we assume is shs[a-zA-Z0-9@%_+=:,./-]*$s'%s't's'\''(tretmatchtreplace(ts((s5/sys/lib/python2.7/site-packages/mercurial/sshpeer.pyt _serverquotestsshpeercBs§eZed„Zd„Zd„Zd„Zd„Zd„Zd„Z e Z d„Z d„Z d „Z d „Zd „Zed „Zd „Zd„Zdd„ZRS(c Csí||_||_d|_|_|_tj|dtdtƒ}|j dksl|j sl|j dkr|j t jtdƒ|ƒƒn|j|_|jdk rÉ|j t jtdƒƒƒn|j |_ |j|_|j píd|_ |jjdddƒ}|jjddd ƒ}tj||j |j|jƒ}|rÓd ||tjd t|ƒt|j ƒfƒf}|jtd ƒ|ƒtj|ƒ} | d krÓ|j t jtdƒƒƒqÓn|j||||ƒdS(Nt parsequeryt parsefragmenttsshscouldn't parse location %sspassword in URL not supportedt.tuit remotecmdthgs%s %s %ss %s init %ss running %s iscould not create remote repo(t_urlRRtpipeotpipeitpipeetutilturltFalsetschemethosttpatht_abortterrort RepoErrorRtusertpasswdtporttconfigtsshargst shellquoteRtnotetsystemt validate_repo( RRR"tcreatetutsshcmdRtargstcmdtres((s5/sys/lib/python2.7/site-packages/mercurial/sshpeer.pyRs0  (#   !  # "cCs|jS(N(R(R((s5/sys/lib/python2.7/site-packages/mercurial/sshpeer.pyR=sc CsÌ|jƒd||tjdt|ƒt|jƒfƒf}|jtdƒ|ƒtj|ƒ}tj|ƒ\|_ |_ |_ |_ |j dƒ|j ddddd dd fƒ}d d g}d }x–|d rN|rN|jƒ} |jƒ|d dkr| dkrPn| r4|jd| ƒn|j| ƒ|d8}qÕW|jtjtdƒƒƒtƒ|_xNt|ƒD]@} | jdƒr„|jj| d jdƒdjƒƒPq„q„WdS(Ns%s %s %ss%s -R %s serve --stdios running %s thellotbetweentpairss%s-%st0i(ttdummyiôiÿÿÿÿs1 s sremote: is#no suitable response from remote hgs capabilities:t:(tcleanupRR+RR"R,Rt quotecommandtpopen4RRRt subprocesst _callstreamtreadlinetreaderrtdebugtappendR#R$R%tsett_capstreversedt startswithtupdatetsplit( RRR1R2RR3trtlinest max_noisetl((s5/sys/lib/python2.7/site-packages/mercurial/sshpeer.pyR.@s4   #' '     'cCs|jS(N(RF(R((s5/sys/lib/python2.7/site-packages/mercurial/sshpeer.pyt _capabilitiesfscCs…x~tr€tj|jƒj}|dkr.Pn|jj|ƒ}|sJPnx0|jƒD]"}|jjt dƒ|dƒqWWqWdS(Nisremote: s ( tTrueRtfstatRtst_sizetreadt splitlinesRtstatusR(RtsizeRRN((s5/sys/lib/python2.7/site-packages/mercurial/sshpeer.pyRBis  cCs|jƒ|‚dS(N(R<(Rt exception((s5/sys/lib/python2.7/site-packages/mercurial/sshpeer.pyR#ts cCs‰|jdkrdS|jjƒ|jjƒy1x*|jD]}|jjtdƒ|ƒq:WWntt fk rwnX|jjƒdS(Nsremote: ( RRtcloseRRRRURtIOErrort ValueError(RRN((s5/sys/lib/python2.7/site-packages/mercurial/sshpeer.pyR<xs  !c KsS|jjd|ƒ|jjd|ƒtj|\}}|jƒ}i}x=|D]5}|dkrt||ds $ Ö