ó Afc@s…dZddlZddlZddlZddlZddlZddlZddlmZd„Z d„Z d„Z d„Z d„Z d „Zd „Zd „Zd „Zd „Zdd„Zd„Zd„Zi de fd6de fd6de fd6de fd6defd6defd6defd6de fd6de fd6defd6defd6Zedkre ƒndS( s$Remote RCS -- command line interfaceiÿÿÿÿN(t openrcsclientc Csntjt_ytjtjddƒ\}}|s=d}n|d|d}}tj|ƒsptjd‚nt|\}}tj||ƒ\}}WnZtjk rõ}|GHdGHdGHdGHd GHd GHd GHd GHd GHdGHdGHtjdƒnXt |ƒ}|s|j ƒ}nxP|D]H} y|||| ƒWqt t jfk re}d| |fGHqXqWdS(Nis h:p:d:qvLtheadisunknown commands2usage: rrcs [options] command [options] [file] ...swhere command can be:s+ ci|put # checkin the given filess co|get # checkouts% info # print header infos1 head # print revision of head branchs* list # list filename if valids" log # print full logs/ diff # diff rcs file and work files7if no files are given, all remote rcs files are assumedis%s: %s( tsyststderrtstdouttgetopttargvtcommandsthas_keyterrortexitRt listfilestIOErrortos( toptstresttcmdtcoptsettfunctcoptstfilestmsgtxtfn((s'/usr/lib64/python2.7/Demo/pdist/rrcs.pytmain s>    cCs›t|ƒ}|jƒ}|jƒ|j|ƒ }| r[t||||ƒr[d|GHdSdG|GdGHt|ƒ}|j|||ƒ}|r—|GHndS(Ns %s: unchanged since last checkins Checking ins...(topentreadtclosetisvalidtsamet asklogmessagetput(RRRtftdatatnewtmessagetmessages((s'/usr/lib64/python2.7/Demo/pdist/rrcs.pytcheckin/s      cCs9|j|ƒ}t|dƒ}|j|ƒ|jƒdS(Ntw(tgetRtwriteR(RRRR!R ((s'/usr/lib64/python2.7/Demo/pdist/rrcs.pytcheckout=s cCs|j|ƒdS(N(tlock(RRR((s'/usr/lib64/python2.7/Demo/pdist/rrcs.pyR*CscCs|j|ƒdS(N(tunlock(RRR((s'/usr/lib64/python2.7/Demo/pdist/rrcs.pyR+FscCsT|j|ƒ}|jƒ}|jƒx|D]}|dG||GHq,WddGHdS(Nt:t=iF(tinfotkeystsort(RRRtdictR/tkey((s'/usr/lib64/python2.7/Demo/pdist/rrcs.pyR.Is    cCs|j|ƒ}|G|GHdS(N(R(RRRR((s'/usr/lib64/python2.7/Demo/pdist/rrcs.pyRQscCs|j|ƒr|GHndS(N(R(RRR((s'/usr/lib64/python2.7/Demo/pdist/rrcs.pytlistUscCsTd}x&|D]\}}|d||}q W|d}|j||ƒ}|GHdS(Ntt i(tlog(RRRtflagstotaR$((s'/usr/lib64/python2.7/Demo/pdist/rrcs.pyR6Ys  c CsÑt|||ƒrdSd}x&|D]\}}|d||}q#W|d}|j|ƒ}tjƒ}|j|ƒ|jƒd||j|ƒ|fGHtjd||j |fƒ}|rÍddGHndS(NR4R5isdiff %s -r%s %ss diff %s %s %sR-iF( RR'ttempfiletNamedTemporaryFileR(tflushRR tsystemtname( RRRR7R8R9R!ttftsts((s'/usr/lib64/python2.7/Demo/pdist/rrcs.pytdiffas    cCs_|dkr1t|ƒ}|jƒ}|jƒntj|ƒjƒ}|j|ƒ}||kS(N(tNoneRRRtmd5R"tdigesttsum(RRRR!R tlsumtrsum((s'/usr/lib64/python2.7/Demo/pdist/rrcs.pyRqs    cCs‚|r dGndGdGH|r$dGHnd}xQtjjdƒtjjƒtjjƒ}| sl|dkrpPn||}q-W|S(Nsenter description,senter log message,s)terminate with single '.' or end of file:s"NOTE: This is NOT the log message!R4s>> s. (RRR(R<tstdintreadline(R"R#tline((s'/usr/lib64/python2.7/Demo/pdist/rrcs.pyRzs cCs,ytj|ƒWntjk r'nXdS(N(R tunlinkR (R((s'/usr/lib64/python2.7/Demo/pdist/rrcs.pytremove‹sR4tciRtcoR'R.RR3R*R+sbhLRtd:l:r:s:w:V:R6tcRAt__main__(t__doc__RR RtstringRCR:t rcsclientRRR%R)R*R+R.RR3R6RARBRRRLRt__name__(((s'/usr/lib64/python2.7/Demo/pdist/rrcs.pytsD       "