\x89\x50\x4E\x47\x0D\x0A\x1A\x0A PNG  \x89\x50\x4E\x47\x0D\x0A\x1A\x0A  13\c@@sddlmZddlZddlZddlZddlZddlmZddlm Z m Z m Z ddl m Z mZddlmZmZe jZejZejZejZejZejZdefd YZdS( i(tabsolute_importN(t_(tencodingterrortutil(tdateutiltprocutili(tcommontcvspst convert_cvscB@s\eZd dZdZdZdZdZdZdZ dZ dZ RS( cC@s tt|j|||d|tjj|d}tjj|sbttd|nt dd|_ i|_ i|_ i|_d|_ttjj|ddjd |_ttjj|ddjd |_tj|_|jdS( NtrevstCVSs$%s does not look like a CVS checkouttcvstRoottrbit Repository(tsuperR t__init__tostpathtjointexiststNoRepoRt checktooltNonet changesettfilesttagst lastbranchtsockettopentreadtcvsroottcvsrepoRt_connect(tselftuitrepotypeRR R ((s7/usr/lib64/python2.7/site-packages/hgext/convert/cvs.pyR&s"      ++ c C@s*|jdk rdSi|_d}|jrt|jdkrXtjtdnyt|jd}Wqtk rtjtd|jdqXnt j }zct j |j d}d}|jjddsd}ntj|jd|}tj|j|d t|jjdd d |jjdd d |jjdd}x|D]}|r|j|krPnd|j}|j|j|_||j|j<|j|j|_|jjddrt|jd|_ntj|jd}|jjt j!|j|i}xX|j"D]M} ddj#g| j$D]} d| ^qYddg| j%f|| j&R(tdbtcsR0Rtftxtptc((s7/usr/lib64/python2.7/site-packages/hgext/convert/cvs.pyt_parse:s^        "# cC@s|j}d}d.\}}ddg}|jjtd||jdr|d}tjd|}|rd}|j\}}}} }|sd}n| sd } n t | } d |||f} d ||| |f} |sd }t j j d } yt | d} x{| jjD]g}|jdd\}}|dkrt|jdd\}}| }n| }||kr)|}Pq)q)W| jWqtk r}|jtjkrt|dds| |_nqqXntj}|j|| f|jdjd|||ddg|jddkrbtjtdn|jd|_|_ qn| r|jdrd}|d}n|s8|jdr|d}ntjd |}t j j!|s| rd}q8d!}|j"d|j"d"|j"d#}}}n|dkr|d!krt#j$j%d$ped%}|r|d&||g|}q||g|}ng|D]}t&j'|^q}t&j(dj|}t&j)|\|_|_ n||_*|jj+d'||jj+d(|jj+d)|jj,|j j-}|jd*svtjtd+|nd,|kr|jj+d-|jj,|j j-}ndS(/NR tserversconnecting to %s s :pserver:i s.(?:(.*?)(?::(.*?))?@)?([^:\/]*)(?::(\d*))?(.*)tpservert anonymousia s:pserver:%s@%s:%ss:pserver:%s@%s:%d%stAs ~/.cvspassRt is/1tfilenames sBEGIN AUTH REQUESTsEND AUTH REQUESTR.is I LOVE YOU s!CVS pserver authentication failedsr+s:local:tlocalis:ext:is(?:([^@:/]+)@)?([^:/]+):?(.*)trshiitCVS_RSHtsshs-lsRoot %s scValid-responses ok error Valid-requests Mode M Mbinary E Checked-in Created Updated Merged Removed svalid-requests sValid-requestssKunexpected response from CVS server (expected "Valid-requests", but got %r)t UseUnchangeds UseUnchanged (NN(.R RR$tstatusRt startswithtretmatchtgroupsR6RRt expanduserRRt splitlinestsplittclosetIOErrorterrnotENOENTtgetattrRZRtconnecttsendRtrecvRR5tmakefiletwriteptreadptisdirtgroupRtenvirontgetRt shellquotet quotecommandtpopen2trealroottwritetflushtreadline(R#troottconntypetuserthosttcmdtmtpasswtservtporttformat0tformat1tcvspasstpftlinetpart1tpart2tformattinsttsckR\targtr((s7/usr/lib64/python2.7/site-packages/hgext/convert/cvs.pyR"ws                  2  "     cC@s|j|jS(N(RTRK(R#((s7/usr/lib64/python2.7/site-packages/hgext/convert/cvs.pytgetheadss c C@s_d}|j|jdr&dSd|j}|j|jd|x"|D]}|jjd|qUW|jjd|j|jj d}d}xt rZ|j j }|j ds|j d r4|j j |j j |j j d }t|j j d } ||j | }q|j d rT||d 7}q|j d rfq|j drt|j j d } ||j | }q|dkr|dkrtjtdn|d|krdpdfS|j dr|jjtd|dq|j dr>|j j qtjtd|qWdS(NcS@sd}t}xg|dkrx|jt||}|sXtjtd|n|t|8}|j|qW|jS(Niis!%d bytes missing from remote file( tstringioRtminRR5RR4R{tgetvalue(tfptcountt chunksizetoutputtdata((s7/usr/lib64/python2.7/site-packages/hgext/convert/cvs.pyt chunkedreads  s(DEAD)s-N -P -kk -r %s --t/s Argument %s sDirectory . %s co R.sCreated sUpdated iRYisM sMbinary sok smalformed response from CVSRQsE scvs server: %s itRemovesunknown CVS response: %s(NN(RTtendswithRRgtappendR!RqR{RzR|tTrueRrR}RaR6RR5RR$twarn( R#tnametrevRtargsRQRtmodeRR((s7/usr/lib64/python2.7/site-packages/hgext/convert/cvs.pytgetfilesH         !cC@sK|rtjtdn|jt|j|jitfS(Ns(convert from cvs does not support --full(RR5RRTtsortedRt iteritemstset(R#Rtfull((s7/usr/lib64/python2.7/site-packages/hgext/convert/cvs.pyt getchangess cC@s|j|j|S(N(RTR(R#R((s7/usr/lib64/python2.7/site-packages/hgext/convert/cvs.pyt getcommit"s cC@s|j|jS(N(RTR(R#((s7/usr/lib64/python2.7/site-packages/hgext/convert/cvs.pytgettags&s cC@s|jt|j|S(N(RTRR(R#Rti((s7/usr/lib64/python2.7/site-packages/hgext/convert/cvs.pytgetchangedfiles*s N( t__name__t __module__RRRTR"RRRRRR(((s7/usr/lib64/python2.7/site-packages/hgext/convert/cvs.pyR %s  = i  8   (t __future__RRjRRbRtmercurial.i18nRt mercurialRRRtmercurial.utilsRRR.RRRRRItconverter_sourceRARR (((s7/usr/lib64/python2.7/site-packages/hgext/convert/cvs.pyts