usr/ 40755 2122 1750 0 5502067315 10477 5ustar steinberertusr/bin/ 40755 2122 1750 0 5502067273 11252 5ustar steinberertusr/bin/ci100755 2122 1750 202000 5316132315 11713 0ustar steinberert dG-̀\ `-:D$4 `P`[̀rCopyright 1982,1988,1989 by Walter F. Tichy Purdue CS Copyright 1990,1991 by Paul Eggert$Id: rcsbase.h,v 5.11 1991/10/07 17:32:46 eggert Exp $ci$Id: ci.c,v 5.21 1991/11/20 17:58:07 eggert Exp $ ci usage: ci -{fklqru}[rev] -mmsg -{nN}name -sstate -t[textfile] -Vn file ...Exp,v/redefinition of revision numbermissing message for -m optionmissing symbolic name after -nmissing symbolic name after -Nmissing state for -s optionmissing author for -w optionunknown option: %s%sno input file%ssetuid initial checkin prohibited; use `rcs -i -a' first%s <-- %s rcan't find a revision number in %scan't find a date in %scan't find an author in %scan't find a state in %sExpDate %s precedes %s in existing revision %s.initial revision: %s file is unchanged; reverting to previous revision %s previous revision was not locked; ignoring -l option new revision: %s; previous revision: %s diff failed-an/usr/bin/diffdone UWVS!|D$@D$4D$8D$<D$,D$$Ƅ$D$XD$HP$$膜 $\$H$3DF/9$<`DdLD$,>9|$8t h\uhV(Vj&>uh},AV'Vj'>t#|$4t js.V't$4h>|$@t jt.t$@$u|$t jd.Ƅ$>%D$|$$PV|D$$->t#|$<t jw1.V't$u5h~)8u$$u|$u5hi+,8u|$<u5hE+8u|$4u5h!+=t45thxV qD$ |$ ] x |$<t\$<=t ,8utf|$4tL$4 =t8t|$t$P5$tì7=t#8t$SPw =tYp5o}?2D$PPr貔PD$tP5螔Ph'|$,thd5 54556t$@j E=%D$L$,L$(=t]5xh)j55tRP5x+8)ffDj腛D$0 L$9+u:0|$ЃPD$.@/5P`=u jj55=ǃ=5Wh5t_D$|$0h4(L$(9L$ }hj(D$(D$\$ 9\$,|/= u&=t"p5`tD$|$u-Q5I_jj5_ t!j5_P"_ƅt=< ` tc!5# *0hjjj0tpŅ HXM]=t ]|$ tU u jjYc5505)_95j a'ء05xh& jD$tPtD$Phht$Dj)} h$t\5t!j55t555x4j5t$8pp0!j5t$8555x2wD$t$=c[=u%ht[ 5 FfD%m=tL$(9  Ɓ΀1|$$t}|$uWP …5tu \$(D$DPU55t t t|$tWP# …tnWt$H(…uLhtqMP5t$Lhp ]t$DT${['T$t5h h^$2$$$,[^_]ļÃ=t hhthphh[Ð[趖j _1.1.1Branch point doesn't exist for %s.no lock set by %sdeltanumber %s too low; must be higher than %scan't find branchpoint %sS5xgƒ=uB=(t#5(hx5({g…uhhx4tv,5xh[hhx1[Ð@hjl[uhjjj0)kt 9 u \x(u)0fv@(*hhxhx5[Ðhx0;[Ð=uf9Ht\Ph=(t5(hx胗hx05xeƒu@j05x"g uhx0hhxm05xe!05xh- 5Å|8hjjj0]i [ËxЃ4) C<.uJuKhjjj5xiY5x0eu.5xh\ [Ð.1.1UWVS\$l$ uEdƃ{u&C8u3U軕he$tgWupCxt @xu@8D$D$\$S0cUt$ShU袔<H4)ǃW0ud ~;u}+<8$hU4D$D$\$SuGchjjjt$ \gS=u[^_]Ð0uUc&0uh-f [^_]Ð5IÅ|,$tU0}@([^_]Ð81[^_]ÐVSt$  ts3VW u1[^Ð[u[^ÐUWVSt$\$0Ѝh@PSRVS_9t$KЃ w;9t [^_]Ð0ܐC1\=0C[^_]revision %s locked by %sno lock set by %s for revision %sUWVSl$}t@9ku/3WP_tC3Wh [^_]Ðs[uƒ=u-؈f9Hu1[^_]Ë[E [^_]ÐW2WPh_ [^_]Ðtime not available=@u)j_u hfh@Pճ@Sf\$f=wH}+f9u6f9tP5_ut$ 5ȴ[Ð[Ðwcan't expand working fileUWVS|$l$jt$RhHV_pu!VhJB[^_]Ð1ۃ=u PWƁ jjU5pWD| ÃT$ 25pY؃[^_]Ð*** empty log message ***Initial revision*%s%s at 1.0reuse log message of previous file? [yn](y): log messagemWVS=t[^_Ð=T0ЍX9Ph`̍=`VhtdhLW_S=@u)j`_u hh@P}h@萃=h0Hlhl[^_Ð=u?h5x7^thU5x ^uDH[^_Ð=lt#hYjc1thl[^_Ðh`hhh6hl=lu <@[^_ÐVSt$ \$j x‰rB=$t $P  $[^Ð$Id: rcslex.c,v 5.11 1991/11/03 03:30:44 eggert Exp $Unknown phrases like `%s ...;' are in the RCS file.0 u05 hÐ,Jy=0jh,蕋H9HrPk_tP@}5Ðunknown character `%c'UWVS5= L$L$vS 9r=$HXl!l!Ht"^H|"HH|"t$hRO9OrW|_tGD$G D$|$} W3PN9NrD$PV_VD$%FV -, 0L$D$EEO9OrW_tGD$G D$|$} Wt:N9NrD$PV4_VD$%F} VML$vtu-D$EE9l$[D$Ph,BE=t{=,1Ҁ?t C;uй144t3W_t's,搐j_u5 rSh8$=t Sh$[ÐS= t1[Ð [ÐS= t1[Ð([ÐUWVS= ut$,5 _u11؉[^_]Ð0 u05 h5D$ D$$5 \$$S5 q0|$ H|$ L$ L$$L$L$L$\$9|$wt$t$T$}NjT$ЈGvK 9r>$d&&&&&&&&&&&&&'Rh N9NrV0_t FFKVT$ T$59|$wt$t$赃NjN9NrV_tFF}VT$ T$ЈG t@t 뙐됋N9NrVz_tFF}VT$5 T$@}9|$wt$t$@G(N9NrV_tFF}VT$T$<vuh9|$wt$t$T$苂NjT$ЈGN9NrV_t FF}VT$]T$vtt %N9NrVH_u붐vl$,@N9NrV _tFF}VT$T$EtE9t}u;vt/| }#t$,0n  G\$,99|$wt$t$T$9NjT$ CG9r1+D$ PD$$P[^_]ÐWVS=O9OrW _tG0G} Wt8K9KrPSr_SȈ%C} S t @t낐uO9OrW~_tG0G} W=t8K9KrPS_SȈ%C} S@5[^_ÐWVS `5N9NrV_tFF} V t @t RHN9NrV_tFF} VY@t [^_ÐO9OrPW_W؈%G=W/UWVS=|$L$$)y|$L$y9yrt$_tL$A0A} t$t9{9{rPSG_S%C} Sa t @tL$y9yrt$G_tL$A0A} t$t9{9{rPS_S%C} S@t)5L$$9|$)l$D$T$[^_]Ð9l$uD$Pt$(l}ʼnȈEEinvalid character %c in identifier `%s'identifier `%s' doesn't start with letterVSL$ \$vtulA‹vtttt߄tot8tg tb t] tXАA t t tt8uVPh`-A t t tt8uVh-[^Ðjt$9Ð`%s' is not a regular file@WVS|$PjW_ƅ} 1[^_@Ë\$Xu\$ SV_tWtfCf%f=t*Wh.VN_< `1[^_@t$TV_uW%[^_@Ðoutput error=4t4h8/unexpected end of filehp/input errorh/D$$ t h/ÐD$$ t"=4t4h8/\ÐD$tP_t h/9ÐD$t0P_t#=4t4h8/ÐS\$tP{_t h/[S\$t1PO_t$=4t.4h8/[ËT$$ t h/t$t hp/Ðjjt$ _ t h/BÐh `_t=4u4h8/Ðu `P_t=4u4h8/Ð %s aborted %s error: t$5< `Ðu `PX_t=4u4h8/hhh1h ` T$< `t$_h `_t =4u4h8/Ðt$5< `u `P_t=4u4h8/hh1h `_ T$< `t$_hh1h `_ u `P _t=4u4h8/0hh1h ` D$Pt$h `| h `j h `_t=4u4h8/Ð%s: %s:%lu: u `Pd_t=4u4h8/t55hh3h `_D$Pt$h ` hh1h `[_ u `P_t=4u4h8/hh1h `_ D$Pt$h `6 hh1h `_ #%s warning: u `P@_t=4u4h8/Phh4h ` D$Pt$h ` h `j h `_t=4u4h8/Ðredefinition of -%c optiont$ht5.Ð=uu `P__t =4u4h8/oD$Pt$h ` h `_t=4u4h8/(ÐSD$\$ K9Kr%PSC_S%C}+$ t%=4tc4h8/[Ðt$t$_}$=4t&4h8/Ðt$ t$ t$ w_ }$=4t4h8/HÐD$ Pt$ t$ 6_ }#=4t4h8/Ð$Id: rcssyn.c,v 5.8 1991/08/19 03:13:55 eggert Exp $desclogtextaccessauthorbranchbranchescommentdateexpandheadlocksnextstatestrictsymbolsmissing ';' after '%s'%s isn't a delta numbermissing ':' in symbolic name definitionmissing number in symbolic name definitionmissing ':' in lockmissing number in lockunknown expand mode %.*sWVSh7bÅt3]A$t3h8j uh7h7(h7t1Åt(j uh7h7Eh7ƅtj\0X␐j ;uh7h7h78?ƅtIj u h8;Åu hA8j ]\0Xxj uh7h7ah7ƅtij ru hl8)Åt3?$t3h8u h8j [0Xx뎐j uh7h7h7tj uh7h7h7tE=uh8rkj puh7h7"h7`tu=uND$ D$|$ WÉVS} SVh8Wjnj uh7h7h72@D[^_Ðkvkvlkvo8<;<?<A<C<WT$0׹HPR_ÐUWVSl$\$H<=H<t.2٨u<u-H<[^_]Ð:uԸ[^_]Ð t |0t#&5 YWVSÅt3<$t 3h8P߅u1[^_jj h7 Gjj h7n Gjj h7Z Gh7wkÅt3f<$t3h8tjyXpj uh7h7h7Åt3;$t3h8N_(j zuh7h7,G GG8h7G W$[^_{utB H RuS\$h7t [Ð[Ðmissing %sWVSt$\$1V59u= |$u Vh>bj uVh7G[^_Ð%s %s; %s; %s %s:%s; %s; %s %s %c%s%c; VSt$ =t l?Ph7hm?VB=(t"=|5(h7hm?VVh7t3hu?V [uh7hz?V 8ts3h?V[uh7hz?V tC03h?V~[u=th7h?V[ h?VM=t:h7h?V1 j55jVh?V =t#j@4H<j@h7h?VV5D5@[ V9Vrj V6_F F } VT[^Ð %s %s %s; %s %s; %s %s; branches; %s %s; WVSt$|$~8Ful?Ph7vh7vh76hAW$^t0hu?W [u~(t F(l?Ph7hAWWv$v Z Wv(O^tW3<[u[^_Ðunexpected EOF in diff outputrVS\$jhBS ƅt0t$ t$ Vt$ t$ t$ jV[^ÐS1[^ÐWVS\$|$t1S9Srj@Sv_C@C@} St$|$tq>@u2K9Krj@S3_C@C@} SPS9SrPFS_S%FC} SOu|$t8|$ t1K9Krj S躼_C C } SS9Sr j@S艼_C@C@} S[^_Ð %s %s %s %c%c UWVS\$(t$,|$0l$4h7t$(h,DUjVSjUj@h7h5DU|$8O9OrW:_tGG}W$@u2M9Mrj@U蛻_E@E@} UM9MrPUg_U؈%EYUKD$P.D$PUjVtL$|$tڐO9OrWJ_tGG}'W$t|$hBW@u2M9Mrj@U藺_E@E@} UM9MrPUc_U؈%E} U 7L$|$(j@h-uF0HhPV轲_…uVjhLT$W5L PL$ T$Z9ZrRT$_T$tB8B}RT$T$$u,9t$ wD$ PhLT$cXƋT$ȈF뉐Rz_t*+L5Lljt$tEO\$D$B< uz tz t BԐJ9rːz t z tz uJ9rt$)T$L$\$ TXj5X5TjU]9]rj Uj_E E } U[^_]Ðenter %s, terminated with single '.' or end of file: %s>> can't reread redirected stdin for %s; use -%s<%s>>> UWVS\$(=Hu"=uj_H L$tt$,ShPSh `< `$tSt$(ShS11< `< `$t8=Hu"=ujY_H=teϋM9MrUL_t EE}SUE$tC=Hu"=uj_H=th `j '\$< `$ub|$ u4t|7.ut|7 uNA|$th `hSB^St$4TL$09L$ >t?NCB< uz tz t BڐJ9rѐz t z tz uJ9r|$)T$D$T$[^_]Ð$Id: rcsedit.c,v 5.11 1991/11/03 01:11:44 eggert Exp $t$_1҅t=< `%ډedit script ends prematurelyedit script refers to line past end of filew+D$u?=4ujQ4hV54諭_u 54xÐS\$jjj$ S5dE5d[ÐUWVS|$l$5dt5tjjWSV SV=EV|$lpjj53_ tdh4h4-uP4 t$LPtML$D$ u뒐[^_]0ÁUWVSt$D$D$WV$$2 _ t\9uPD$P@t$|$ʐM0$>/t SACV$ B돐< `D$P A< `ttEu?[^_]Ð1[^_]Ð< `([^_]Ð[^_]symbolic link to non RCS filename `%s'RCS filename `%s' incompatible with suffix `%s'RCS filename `%s' ends with `%c'rwTUWVSt$h\$p=%D$VDD$ \$9\$} 1[^_]TÐ.UAlj)T$|T$Ut$8A|UAu$Uhi1< `1[^_]TÐ8uPWhi Ӑ8tGC?uC*GCu;_uj_Uhi _T$D$ 0.\7h$hSH_ D$=< `8|$}+ D$$PSK_t|$t$lh jU D$ =< `|$ tm|$tfh65| _1t=< `%ޅt=< `P7t 5|W(Sh|?h"jt$褗_u 5|-=< `D$ [^_]TÐkeepdirtempL$9 tHyhl|tXXXXXXcan't make temporary file name `%.*s%c_%cXXXXXX'UWVSl$|$uU:[^_]Ðt$'?Ǎ4|G PSo<t$S~>|7_C0Cm.lflfSlSVw_t>uE0Pj/t$Whlt[^_]ÐUWVSxt$u47_u5My[^_]VSD$ t$f\$t P[PV_t [^Ðt$V_1҅t=< `%ډ[^Ðmultiple revisions locked by %s; please specify oneUWVSl$1t'3P;_uu{[u܅u(1[^_]ÐPhxn[^_]ÐSU|$tC@ [[^_]revision %s already locked by %sVSt$ tOC06@ u53&P|_u1[^36h@o> [^Ð[uj &F sS[^Ðsymbolic name %s already bound to %sUWVS|$t$l$8tQ3VН_u9uWs輝_u {[^_]sVhov 1[^_]Ë[uj %É3{8S8[^_]ÐS1k1f9%P'[Ðrootuser %s not on the access listWVS=t@1f9Ht291 1f9%PI'ƿpu [^_Ð5600f9%P'P茜_t=vu00f9%P&Php/1[^_Ð[^_Ð %s%cWVSD$|$t^}1[^_Ð5555h7hq5==h.J0'5|螝_1҅t=< `%ډӋ5< ` |9 tHyhl|t'0t5VӾ1[^_Ð[^_Ðbreaking hard link to %ssaved in %sUWVS|$}=p=t!55:)hf=Fv5hrL$/&fDm5|=t hҼPVe_t (WVe_1҅t=< `%ډӋ5< ` |9 tHyhlt&G/to5Vk5|hs萾xt$u,.7艛_u.My1[^_]Ð[^_]Ðt$__t{Ð$Id: rcskeys.c,v 5.2 1991/08/19 03:13:55 eggert Exp $AuthorDateHeaderIdLockerLogRCSfileRevisionSourceState uuuu u'u+u3uu [^_]À;u[^_]ÐD$t$>0t1t$ Et$D5Ѓ v;0uC;0t1BЃ v9tr[^_]ËT$߉0tF*Gu#l$t$>tD$;?C9[^_]UWVSL$\$T$A<.uC<.uJu90uA90t1 ED Ѓ v;0uC;0t1BЃ v9r+uʉ߉0tF*G[^_]Ð[^_]Ð[^_]Ð and state and author a date before No revision on branch %s has%s%s%s%s%s%s.revisionbranch%s %s absentUWVSt$t$\$u [^_]Åu[^_]Ðt$>tր;tD$t$>0t1t$ Et$D5Ѓ v;0uC;0t1BЃ v9trwT$߉0tF*Gu%l$t$>.uD$;.uCL$ X1[^_]ÐVSt$ \$t$V.t@8.t8u@Ku@[^RCS file emptybranch number %s too lowrevision number %s too lowRevision %s has date %s.Revision %s has author %s.Revision %s has state %s.hUWVSD$PD$T=|$ uh}- T$||$|t t$|>uD$$WB<.uA:uL$$|$$0L$||$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9r#Ή߉0tF*GD$ D$|$}qjt$ p$$v(t$ ID$Pt$|P+D$P@8.t8u@Ku@t$Ph~+|$~1D$HD$Lj$\$PS Ph|:|$$|$ 7t$pL$|$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9r'Ή߉0tF*G_$$t$ ^uz}t;}0u E}0tD$ED$|$/Ѓ v;0u C;0t1BЃ v9T$t9T$sBߋL$0tF*Gu!l$\$}tE;MCG|H$tt$ v$#_u$$tJ|$ w$_t0jQt$ p$$v(t$ |$ t~L$|$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9ru&ʉ߉0tF*G|$$t\$|5D$Pt$P(D$P@8.t8u@Ku@\$P$$uzP$t `|$u$u d|zP$$uzP$tl|$up|zP$tD$8P$#zPz$ty|PSh| j|$ x$$D$ [^_]hÐL$|t$ A<.uC<.uJu90uA90t1 ED Ѓ v;0uC;0t1BЃ v9r/uΉ߉0tF*GD$D$D$|$L$||$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9ruRΉ߉0tF*Gu0j$t$ p$$v(t$ |$ tyL$||$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9ru"ʉ߉0tF*GtKD$Pt$|P%D$P@8.t8u@Ku@t$Ph~跬_|$$vQ|$tJD$HD$Lj$\$PSK Ph|h|h S#j‹|$ z$$|$$v>R$$$t$4$t$8[^_]hÐ$ $t$|$ _uzt$>tÀ;>0uD$|$?0t1t$ E|$D=Ѓ v;0uC;0t1BЃ v9t 9sBDt$߉0tF*Gu%l$t$>tD$;UCO}4D$XP|$$wPt$$6h7~ 1[^_]hÐ$t*|$ w$ۅ_twt$$6hP~븃$t:|$ w$觅_t Guk~Pt$$6hs~w$mD$PP!1[^_]hÐno side branches present for %sbranch number %s too highpUWVS$D$,@D$ t$Xt$L$PL$|$ uqD$XD$\\$,K$t$ "D$Xt@8.t8u@Ku@t$Xhot$ 1[^_]pÐt$ $8T$,EE<.uG<.uJu}0uE}0t1EC+Ѓ v?0uG?0t1B:Ѓ v9ru0tF*G~kL$ IL$ XD$XD$\\$,$t$ l!D$Xt@8.t8u@Ku@t$XhԈ}TD$PD$Tt$,$t$ PD$0$|t|Rh| t$t$ L$(L$,9$D$$$$t$L$(Yuzt$>u ;L$90uD$t$>0t1L$ Et$D5Ѓ v;0uC;0t1BЃ v9t9sFt$߉0tF*Gu%l$L$9tD$;AC;|P$tt$(v$_u,$tL$(q$Á_ut$(t$$L$(I(L$(|$$$$uzP$t!`|$u$u d|zP$$uzP$tl|$up|zP$tD$@P$zPz$ty|P$h|蜥 1[^_]pÐt$ $j L$(H$$I(L$(t$$9ujL$(H$$D$([^_]pÐ$t$(.T$,tG<.uEE<.uJuG?0t1C;Ѓ v}0uE}0t1EB*Ѓ v9ruyى0tF*G}WD$XD$\\$,C$t$ FD$Xt@8.t8u@Ku@t$Xh~jL$(H$$L$$q(t$($>T$,tEE<.uG<.uJuE}0t1EC+Ѓ v?0uG?0t1B:Ѓ v9rY0tF*G7D$,@9$$L$$)T$,tG<.uEE<.uJuG?0t1C;Ѓ v}0uE}0t1EB*Ѓ v9ru"ى0tF*Gt[\$,CD$PD$TS$t$ i P$|t|Rh|x t$D$,@9$$$L$$Yuz}t;}0u E}0tD$ED$t$.Ѓ v;0u C;0t1BЃ v9T$t 9T$s>@ߋL$0tF*Gu!l$\$}tE;QCK}4D$`PL$(qGPt$(6h7~K 1[^_]pÐ$t.L$$q$C|_tt$$vL$(1hP~봃$t:t$$v$ |_t Fuk~PL$(1hs~st$$NL$ D$,$9t$,$D$$[^_]pÐjt$ t$ i Ðworking file lacks revision numberSymbolic number %s is undefined.improper revision number: %sUWVS|$jt$$L$ 1t?u[^_]ËT$:$u_zuYt$$<u 1[^_]Ð8uh|蔟ڐPt$$f뜐Vhq뷉L$ QT$D$l$vt_VMOG?0uGЃ v9t$wUt$$ƊGF vOF[L$ +9t$wUt$$ƊGFvtփtуt̃t9t$wUt$$SދL$ 18t3Vy_y[u1ۅ9t$wUt$$ƊCFuG=<.u>?u)D$$u1T$ 2BÅ@SdD$F.t$hΝ1[^_]ÐPjjjt$OtÐ1Ð=(t(Pjjj5(1tÐ=t 1Ð$Id: rcsutil.c,v 5.10 1991/10/07 17:32:46 eggert Exp $out of memoryD$uPr_u hߕ$Ðt$t$t_u hߕÐS\$jPr_u hߕߝP[SD$uPr_Åu hߕ衝jq_u hߕ舝P[VS5t^6m_Vm_ޅu[^ÐST$9t C[9uK3m_Sym_[Wt$|$ 0҅uR?q_…u hߕ̜Rv__ÐWt$ |$0҅uRp_Džu hߕ腜jp_…u hߕjB:W:v_D$D$_ÐWt$~m_…t=R0׹ЅuPnp_u hߕPu__Ð1_LOGNAMEUSERno password entry for userid %luW=||$hLl_…tR0׹ЅuPso_u hߕPt_1|uDl_|u6%Pm_u%PhY诚|5|Ҕ|_HangupInterruptBroken pipeQuitTerminatedCputime limit exceededFilesize limit exceeded RCS: %s. Cleaning up. RCS: Signal %d. Cleaning up. @ÁWHE8=jWr_t=_=1ҍO9$К4<LiiiiiiiiiDiTiiiiiiii\d.&řʙՙt Rh WhD$ P(r_ T$0׹HPRju_ ,v_ signalWVS=D$ Л I D$ Ky|$ЛWj6p_ t hԛ |$t-D$TL$ L$jW6p_ t hԛ֕Ky[^_Ð WVS$ $ $u@\$ Vh jSg_uV[^_ WPS $t[^_ ÐWVSt$\$|$v5WhjVg_=twWSjVg_9t[^_/bin/sh: not found forkwaitpid%s failedUWVS贓{r_…4L$)˃tYjd_hjUk_ Dž|u%jjWf_ WWd_uЃtU@+t_j,d_hhAUqk_ Dž|u(jjWe_ Wc_uЃtUؓS34e_=< `u`Sh`e_0׹HPRj~r_ j hhjmr_ jb_} hufjD$PRq_ } hzF|$tL$qhD$[^_]Ðtoo many command argumentsPVSD$`t$\t$D$ \$hD$dD$t#~ h8詔ʃACDuߍD$P[^P19%.*s/%.2s/%.2s %.2s:%.2s:%sSL$\$ ʐB<.uB PB PBPBPRQ)HPy.u =}PSm_$[Ð%s isn't a number%s out of range %d..%dWVS|$w=t jVtN1G\PFЃ v>t Wh(肓~~jjWh:g[^_ÐRCSINITUWVSl$t$h~d_…tAR0׹ЅuPng_u hߕPl_1ۅuL$1}ڐB<  <} t < uG名uPf_u hߕ荒NjL$9ڊ<  <} tF< uC鐉ECB<  <}t"< t<\u;t JCאB뮐u[^_]Ð=ud_fÐ=uc_fÐsetuidroot setuid not supportedÐVS==ub_ff=ub_ff5=uc_fff9tNPi_t h| ;b_f9t*=u!ftP辐[^ÐVS==u1c_ff=ua_ff5=ub_fff9tNPh_t h|8ga_f9t*=u!ftP[^ÐW$jWh_t=_=1ҍO9$ 0MMMMMMMMM(M8MMMMMMMM@H.&řʙՙt Rh WhD$ PDh_ T$0׹HPRjk_ Hl$Id: rcsfnms.c,v 5.8 1991/09/24 00:28:40 eggert Exp $RCSa-- adaasm;; bat:: c * c++// cccppcxxcl;;; cmdcmfc csel; fforhhpphxxllisplspmacme.\" mlmmmsppaspl% texy# ΥХԥХإܥ #%)-/4ܥ8ܥ<?DG?J?MOSVYV]_TMPDIRTMPTEMP/tmp%s%cT%cXXXXXXcan't make temporary file name `%s%cT%cXXXXXX'UWVSl$=uLhl u6hsu hwu |0߹Ѓ PǍu0Vj/ShWJe_W`_t?uVj/Sh诋<[^_]ÐVStP\g_Ny[^ÐUWVS(8.р9tB8uр:u9-uȨ1dt4)ЉD$AC|$t|$uu<vt҃Fċhz0߹ЍpNt|3/t݉-51=|$?.u4|$/u D$|$.u/u@D$|$?.t͋5 N<./uHtu0T$׹Ѝ\9sF=t5K_%9r5VUSO_ /Ct$ST_[^_]Ð$Id: partime.c,v 5.6 1991/08/19 03:13:55 eggert Exp $januaryfebruarymarchaprilmayjunejulyaugustseptemberoctobernovemberdecembersundaymondaytuesdaywednesdaythursdayfridaysaturdaygmtutcutcutnzstjstkstisteetcetmetwetnstastestcstmstpstaksthasthstsstnzdtkdtbstndtadtedtcdtmdtpdtakdthadtltdstddstampmnoonmidnightv~  ù ̹ӹڹ  0!%)-159=,AhEIMRXWX[_0dhlpt,xh|X<x /-.DUWVS1ۋT$\BBB BBBBD$$D$(D$0D$LD$H|$X|$DD$DD$ t$ ux|$Ps|$$|t$$t$`!TT$\z}BL$0}1Ƀ|$(|L$D$()ȋ|$`ًT$` [^_]DÐ|$ND$Ph@ȸ9$Ƚ ,L$\DL$\8L$0/jD$4P4@ ŠD$P@$tj|$8u{\$@` oT$4T$:Ѓ w\ؿdӃ;Kt$@D$)L$|$D$x+uۉ\$,݋T$T$DD$H|$<|$Lt$PL$(L$$UQ Wt$DЃ |$N8|$H-\$P` FЃ  ؿdӃ;L$PșD$)L$|$>+uۉ\$,D$,D$(Xl$P|$HuEdщQD$`D$ t$ 6D$UD$`P|$HT$\z}z|$L:uPdӉQD$`D$ t$ D$SD$`PO|$L,A|$L/6t$4D$8T$LT$tD$4Ѓ D$@@$|$L:bD$|$.D$\$T$8T$Lu{8T$Mt]|$D|$4D$HD$8T$LT$<|$P|$@D$8D$4P'D$t|$>uD$@xT$\z }Iz=D$8D$Mu>t T$\r|$\w |%t D$\p T$\r} D$AT$\zz z}vq|$D|$4D$HD$8T$LT$<|$P|$@D$4P<D$u|$@t51[^_]DÀ|$>tD$4Ѓ ]D$@@$LUD$` PQEPD$`P=ŔxUD$`P6냐UD$`Pit$ u|$P%[^_]DÐ|$N7|$HuZL$PȿdQD$`D$ t$ D$L$PșQt$`D$tv|$Ht$PD$`P`|$L:uBt$ ;|$N|$H~t$Pt$`fD$8} T$1ÐÐT$L$B(|# ~1Ð uBu0B *z܃:ׅ| uJu ttÐUWVSl$Uu 1[^_]Ð}} t[u?+t?-uGNNxaE DЉD$GȻ 9E u9L$}E 1[^_]ÐT$U NyhuW E tɸ[^_]ÐUWVS\$3s3SS C CCC ^i19${u3r{u 3K cKC[^_]ÐC{u'AЃ wCC F9s8~-t~+u, C%AЃ C 9tKKC[^_]ÐFC[^_]ÃUWVS|$ 1ft$\$~/T$+D$AFtuT$<vuKхu#9u [^_]Ðt 1[^_]Ðu[^_]Ð$Id: maketime.c,v 5.3 1991/08/19 03:13:55 eggert Exp $;Zx0Nm UWVSD$|$8@ %D$D$,D$ D$$D$(|$u\$4{|$,u$jG_D$,|$,u[^_] Ðt$,y|$(Y\$y|$$Y \$ y|$q|$tED$,P?_+Q+i\$(9Yt+AD$+A@‰)TT$8+t$8yr;)<\$)É؅L$ |$ L$$y L$(D$$ |$$+1|$$uD$($%‰T$ h<D$~T|$$+1|$$uD$($%D$ 9D$ ~D$$|$$ ~ D$(D$$D$ |$8`|$8vL$4y|Y\$(D$$D$ |$(DJ1D$($u*D$(duD$(,uD$(y|y|$$D$ |$$ y |Y \$ |$ |$$+9D$ ~|$ |$$1t |$$%\$$Nj\$ |;|$m9i|$(}|$lT@|$(ǍD$,m9,D$(@D$,D$ōE9D$, l$,q|9D$,)D$,Q9D$1D$y|y|$y|q9| L$;|$<||$v|$jD$^l$,D$8T$+T$)Ћ\$D$,D$,|$u8|$(}|$,Q~ 9l$,D$,[^_] ÐD$,P;_|$4?| 9|$4|Y9_uP|$4|Y9_u>|$4 |Y 9_ u,|$4|Y9_u|$4zI9OnL$2[^_] ÐUTC is not available; perhaps TZ is not set?U`=}h`URЃu h0fÐ%.2d.%.2d.%.2d.%.2d.%.2d.%.2dL$ $`=}h`RЃ…u h0Of2rrr B@PBzc~lPht$(?_ can't parse date/time: %sbad date/time: %s(WVSt$8|$ W\$SV. u Vh et$ SuVh:eD$ `=}h`WЃ…u h0se2rrr B@PBzc~lPht$X>_ [^_(ÐHVST$Xu 1[^HÐD$0PRÍD$Pt$VS\ u Sh dt$VuSh:dht$X@_[^HÐ$Id: rcskeep.c,v 5.4 1991/08/19 03:13:55 eggert Exp $rclosing %c missing on keyword UWVSt$ =t[^_] Ð1u;jh5x^ ƅu5ha1[^_] Ðhh,thhbhhPhh>1ې$r|$N9NrV20_tFF}V^$l$t t:tD$9v؈G뜃$t:u:N9NrV/_t FF}Vi^$ t 2D$PP 9$xxxxh,V^ÅcjjV NVM =V Å*h,VS hVj jjVj tjjVY uF=$pjjV2V hVj N9NrV2._tFF}V\$t1ۃ$uu,8t8t8t 8uAN9NrV-_t FFWVm\$DtV\j$h_Vz][^_] badly terminated keyword valueVS\$ S9SrS -_t C0C}#S[$th^1[^Ðt$t$SV1[^Ðtoo much white space in keyword valueUWVST$t$ l$$t!jUT$I]ML$T$ 1D$1$9$44444444\444444444444444444444\444tsЈC9\$whD$PUeVtu h {][^_]Ðu|$(t 1[^_]ÐhJ]1[^_]ÐN9NrV*+_tFFVT$Y$T$h\1[^_]Ð19%s%s %s %s$UWVS|$81D$,D$0l$,O9OrW*_t GG}#W=Y$thb\1jUWSjD$$D$(l$$O9OrW*_t GG}#WX$th[1jUWS2D$D$ hD$ PO9OrW)_t G0G}WAX$t1-t +l$jUT$\$L$ L$1T$$9$````````````````````````````````tOЈC9\$wDD$PU92tu h OZoh>Z1bO9OrW"(_tGGWT$V$T$hY1u 1O9OrW'_tG0G}WaV$t1\$,0߹҉T$|$$ҋ|$ЋL$TDPht$t$(Sк wCЃ w {/uRh53_D$PYD$$PLD$,P?[^_]$ÐUWVS\$t$ l$$uEN9NrV&_t FF}VAU$t 1[^_]Ðڅt"jUT$]ML$T$ 1D$1$9$ddddddddddddddddddddddddddddddddtOЈC9\$wDD$PU52tu h KWoh:W1{N9NrV%_tFFVT$S$T$hV1tuMR[^_]Ð1[^_]ÐWVS\$1S9SrS$_t C0C}#S9S$th^V11jhSVtj5t[^_ST$\$ 1ɀ:t:.tЃ v1[AB:u} ȃ[Ð9%[$Id: rcsfcmp.c,v 5.9 1991/10/07 17:32:46 eggert Exp $rdUWVSt$|$D$(PhFS2Q D$ uSTD$D$=|$<9~%D$L$xy9yrt$x#_tL$xA(A}t$xQ|$x$tD$L$ y9yrt$ "_tL$ AD$$A D$$|$$}t$ dQ|$ $tD$D$ D$9l$$21D$$L$xy9yrt$x:"_tL$xA(A}t$xP|$x$tD$L$ y9yrt$ !_tL$ AD$$A D$$|$$}t$ |P|$ $tD$D$ D$\$hL$xy9yrt$xo!_tL$xA(A}t$xP|$x$tD$L$ y9yrt$ !_tL$ AD$$A D$$|$$}t$ O|$ $tD$D$ D$Q9l$$u+$t4 t:tD$p9vȈC$t :|$$$t |$$: D$hPƅD$9l$$ t$uR|$xO9Ort$x _t|$xGG}t$xNL$x$t\$$ t$u\$$S|$ O9Ort$ _t|$ GG}t$ ^NL$ $tD$$%D$|$$%D$D$ D$1 $|$xO9Ort$x!_t|$xG(G}t$xML$x$tD$|$ O9Ort$ _t|$ GD$$G D$$|$$}t$ dML$ $tD$D$ D$ 9l$$$|$xO9Ort$xC_t|$xG(G}t$xLL$x$tD$|$ O9Ort$ _t|$ GD$$G D$$|$$}t$ LL$ $tD$D$ D$%$OL$Wvt$td|$D$< uCJuPL$xy9yrt$x+_tL$xA(A}t$xK|$x$ uKuKt]L$xy9yrt$x_tL$xA(A}t$xjK|$x$u/ t Kut9l$$uL$9L$tD$t$ mKD$[^_]dÐUVSu1҃<tB8uӅt4ЃKue[^US$=$tЃ;uh~_]U=uÐSL$ T$\$̀} أ [ÐVSt$ \$T$t'Ѐ:t@8u)PRV Su[^' : can't load library 'Incompatible version. Too many libraries. No such library. Permission denied. Exec format error. Unspecified error. ) ( UWVSl$|$,=,PV>̀} ى  jh0huj9$4pLpppppdppppXpppppppp@jh:jh.jh"jhjh jh-j̀򐐋H %t 93D$ځ%9u 9}D$T$t;jh0hujujhjd̀򐐃>L[^_]þ,=,t.jhAphD0hGj>u֐1۸̀[^_]/lib/libc.so.4Jump table 4.1`ibgcusr/bin/co100755 2122 1750 172000 5316132315 11727 0ustar steinberert d-̀\ `-:D$4 `BP`[̀r-qCopyright 1982,1988,1989 by Walter F. Tichy Purdue CS Copyright 1990,1991 by Paul Eggert$Id: rcsbase.h,v 5.11 1991/10/07 17:32:46 eggert Exp $co$Id: co.c,v 5.9 1991/10/07 17:32:46 eggert Exp $ co usage: co -{flpqru}[rev] -ddate -jjoinlist -sstate -w[login] -Vn file ...,v/redefinition of revision number-l overrides -u.unknown option: %s%sno input file%sstdout%s --> %s w%s: parent directory isn't writableno revisions present; generating empty revision 0.0 cannot combine -kv and -l (unlocked) (locked)revision %s%s see %sdone DUWVS$D$D$D$ D$$D$,D$0D$UD$D$(Pt$`t$` D$XT$(T$\F/9$ X<xTHh$(>|$t hY(t$̃=} hy(몐=~ hy(놐D$weU|$ t jd)\$4SV\$ >=Lt jj(5L>|$t js(t$|$$t jw(>t t$$cD$$uL$\P5`L$\TRIL$\H|$| jk.(V.D$|$}hL$`1h&D$\T$\2L$X|$X~F<-3|$Xhhq&|$t  `jjX=t0bPt$ht$hF|$uP5|hq' |$t1 fh5h`j5^hU_u&=< ` u5hJU"S/=u2h&h!u W1R|$tD$,Pt$ [V=}hj{_1t tuP 0D$0Pcht$t$,t$,t$<os=} PG=tP_1?t 'a0W5a|$| T$=~=uh"=Lt ==} 9EP0hO1% u jF.= =%P=Lt|$u 1P559Ƌ9u Wbx=Lt'1u5cVE |$1ۃ=t't#=Lu5@cWU~ÅuV谈f$%m=t= =u P5UhJ\UZot5Uh^ he#6D$\L$X|$Xq5[^_]DÐ=t hh9t h9t h[Ð[j+_, and you do not own itwritable %s exists%s; remove it? [ny](n): checkout abortedwritable %s exists; checkout abortedto=ufՎ f9uR5h j:u45=u9t $ P=1ÐÐrevision %s locked by %s; use co -r or rcs -u UWVSD$ (5lt$|$t>6\P`ËF0U`uttvuDžu+1[^_] Ð6Uh  [^_] ÐVWT$lF@ [^_] Ðtoo many joinsjoin pair incompleteempty joinUWVSL;|$C; t; t;,t;=C9r$8 (( ( ( ( ( ( ( ( ((( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( (( ( ( ( ( ( ( ( ( ( ( ( ( ((K L$D$D$ 1WR)|tD$Pjjjt$,6hWL$ t64X1ۅC; t; t;:C; t; t;ڐC9r$K L$D$D$ 1WRztD$Pjjjt$,fWSL$ t64X1ۅ1[^_]h 球=u X \5X0sXd룐=~[^_]Ðh 뒐h .1[^_]Ðcommon ancestor of %s and %s undefinedUWVS|$l$ W3aD$U&aD$|$w |$UWa1FPUWib u^SUWWb u؅D$vPWh8.d D$vPUh@d 5@58a} 8@WS`tDUS`t6[^_]ÍFPUWa tVWh8c [^_]ÐUWh 1[^_]Ð/usr/bin/co/usr/bin/merge-L,:revision %s -pmerging... tUWVSD$$D$(D$D$ jD$jD$D$\D$dPD$l=HtHT$lD$p=Pt P=Tt T@|@D$,D$0D$4\D$@kD$8k19=t$l$$T$\T$u0V?:hnV荏4HV}hpVo4LV_4PhrhU4PU-T$T$`T$$T$ht$q4ThrmhU苏4TU׎T$T$`T$$T$ht$hT$T$<TT$DD$H=t D$H@D$L9=t $T$T$@D$,P葀=|99=gD$$P9D$P,[^_]tD$$P D$P1[^_]tÐ$Id: rcslex.c,v 5.11 1991/11/03 03:30:44 eggert Exp $Unknown phrases like `%s ...;' are in the RCS file. u5hÐ Jy=jh 蕋H9HrP__tP@}5Ðunknown character `%c'UWVS5= L$L$nS 9r=$ TdxxTjTTTt$hRO9OrWp_tGD$G D$|$} W3PN9NrD$PV_VD$%FV -  L$D$EEO9OrW_tGD$G D$|$} Wt:N9NrD$PV(_VD$%F} VML$ntu-D$EE9l$[D$Ph BE=t{= 1Ҁ?t C;uй14t3W_t's,搐j$pRh N9NrV$_t FFKVT$ T$59|$wt$t$赃NjN9NrV_tFF}VT$ T$ЈG t@t 뙐됋N9NrVn_tFF}VT$5 T$@}9|$wt$t$@G(N9NrV_tFF}VT$T$<nuh9|$wt$t$T$苂NjT$ЈGN9NrV_t FF}VT$]T$ntt %N9NrV<_u붐nl$,@N9NrV_tFF}VT$T$EtE9t}u;nt/| }#t$,0n G\$,99|$wt$t$T$9NjT$ CG9r1+D$ PD$$P[^_]ÐWVS=O9OrW_tG0G} Wt8K9KrPSf_SȈ%C} S t @t낐uO9OrWr_tG0G} W=t8K9KrPS_SȈ%C} S@5[^_ÐWVS `5N9NrV_tFF} V t @t RHN9NrV_tFF} VY@t [^_ÐO9OrPW_W؈%G=W/UWVS=|$L$$)y|$L$y9yrt$_tL$A0A} t$t9{9{rPS;_S%C} Sa t @tL$y9yrt$;_tL$A0A} t$t9{9{rPS_S%C} S@t)5L$$9|$)l$D$T$[^_]Ð9l$uD$Pt$(l}ʼnȈEEinvalid character %c in identifier `%s'identifier `%s' doesn't start with letterVSL$ \$ntulA‹ntttt߄tot8tg tb t] tXАA t t tt8uVPhl%A t t tt8uVh%[^Ðjt$9Ð`%s' is not a regular file@WVS|$PjW_ƅ} 1[^_@Ë\$Xu\$ SV_tWtfCf%f=t*Wh&VB_< `1[^_@t$TV_uW%[^_@Ðoutput error=tZhD'unexpected end of fileh|'input errorh'D$$ t h'ÐD$$ t"=thD'\ÐD$tP_t h'9ÐD$t0P_t#=tmhD'ÐS\$tPo_t h'[S\$t1PC_t$=thD'[ËT$$ t h't$t h|'Ðjjt$ _ t h'BÐh `_t=uhD'Ðu `P_t=uhD'Ð %s aborted %s error: t$5< `Ðu `PL_t=uhD'hhh)h ` T$< `t$_h `_t =uhD'Ðt$5< `u `P_t=uhD'hh)h `_ T$< `t$_hh)h `_ u `P_t=uhD'0hh)h ` D$Pt$h `| h `j h `_t=uhD'Ð%s: %s:%lu: u `PX_t=uhD't55|hh+h `|_D$Pt$h ` hh)h `O_ {u `P_t=uhD'hh)h `_ D$Pt$h `6 hh)h `_ %s warning: u `P4_t=uhD'Phh,h ` D$Pt$h ` h `j h `_t=uhD'Ðredefinition of -%c optiont$h-.Ð=uu `PS_t =uhD'oD$Pt$h ` h ` _t=uhD'(ÐSD$\$ K9Kr%PS7_S%C}+$ t%=t7hD'[Ðt$t$_}$=thD'Ðt$ t$ t$ k_ }$=thD'HÐD$ Pt$ t$ *_ }#=tyhD'Ð$Id: rcssyn.c,v 5.8 1991/08/19 03:13:55 eggert Exp $desclogtextaccessauthorbranchbranchescommentdateexpandheadlocksnextstatestrictsymbolsmissing ';' after '%s'%s isn't a delta numbermissing ':' in symbolic name definitionmissing number in symbolic name definitionmissing ':' in lockmissing number in lockunknown expand mode %.*sWVSxh/bÅt3]A$t3h 0j uh/h/h/t1Åtj uh/h/Eh/ƅtj\0X␐j ;uh/h/h/?ƅtIj u h%0;Åu hM0j ]\0Xxj uh/h/ah/lƅtij ru hx0)Åt3?$t3h 0u h0j [0Xx뎐j uh/h/h/tj uh/h/h/tE=uhrkj puh/h/"h/`tu=uND$ D$|$ WÉVS} SVh0Wjnj uh/h/h/2 $[^_ÐkvkvlkvoD4G4K4M4O4WT$0׹HPR_ÐUWVSl$\$T4=T4t.2٨u<u-T4[^_]Ð:uԸ[^_]Ð t |0t#&5YWVSÅt3<$t 3h 0P߅u1[^_jj h/ Gjj h/n Gjj h/Z Gh/wkÅt3f<$t3h 0tjyXpj uh/h/h/Åt3;$t3h 0N_(j zuh/h/,G GG8h/G W$x[^_{ultB H RuS\$h/t [Ð[Ðmissing %sWVSt$\$1V59u=|$u Vh7bj uVh/G[^_Ð%s %s; %s; %s %s:%s; %s; %s %s %c%s%c; VSt$ =t x7Ph/hy7VB=t"=|5h/hy7VVh/t3h7V [uh/h7V ts3h7V[uh/h7V ltC03h7V~[u=th/h7V[ h7VM=t:h/h7V1 j55jVh7V =t#j@4T4j@h/h7VV5$5 [ V9Vrj V*_F F } VT[^Ð %s %s %s; %s %s; %s %s; branches; %s %s; WVSt$|$~8Fux7Ph/vh/vh/6h9W$^t0h7W [u~(t F(x7Ph/h9WWv$v Z Wv(O^tW3<[u[^_Ðunexpected EOF in diff outputrVS\$jh:S ƅt0t$ t$ Vt$ t$ t$ jV[^ÐS1[^ÐWVS\$|$t1S9Srj@Sj_C@C@} St$|$tq>@u2K9Krj@S'_C@C@} SPS9SrPFS_S%FC} SOu|$t8|$ t1K9Krj S_C C } SS9Sr j@S}_C@C@} S[^_Ð %s %s %s %c%c UWVS\$(t$,|$0l$4h/t$(h8<UjVSjUj@h/hA<U|$8O9OrW._tGG}W$@u2M9Mrj@U_E@E@} UM9MrPU[_U؈%EYUKD$P.D$PUjVtL$|$tڐO9OrW>_tGG}'W$t|$h:W@u2M9Mrj@U_E@E@} UM9MrPUW_U؈%E} U 7L$|$(j@hH<U [^_]ÐD$@@ Ðbad diff output line: %sdiff line number too large: %s%c%cdiff output command line too longbackward insertion in diff output: %sbackward deletion in diff output: %s%s UWVS$$ T$$N9NrVW_t FF}/V $t t h:z[^_]Å@u{V9VrV_t FF} V@uD$@D$D$Ph>|$tSj@h>t$j|$$9w h>؈GN9NrVU_t FF}V $t h:z ut\$|$ u G t1+wt9sD$Ph>$GCЃ vЃ u G t1/Dwl9sD$Ph>GCЃ v̅uuD$Ph>\59sD$Ph>D$!|$tD$PhZ?t$ $$1i|$a%[^_]Ð$Id: rcsgen.c,v 5.10 1991/10/07 17:32:46 eggert Exp $UWVS\$l$t$|$ 9kuGV jtPU t1[^_]Ðh[^_]Ðjjjjs ;uut jVj jtPs\ jV1tCP t1[^_]Ðcan't find delta for revision %sdelta number corruptedUWVSt$|$l$ct6hpC fÅu hCh/t+9u'hR5FV= u&h/5_t= th/Y9t U<t# tGt/t8[^_]Ð_ [^_]ÐV& [^_]Ðj=[^_]ÐVUWVSt$T$t?JCA< uy ty t AڐI9rѐy t y ty uI9r)[^_]Ð=(u"=ujs_(ÐVS< `< `$t7=(u"=uj._(=t#ϋS9SrS"_tC0C}RS$tC=(u"=uj_(=th `j [^WVS=,=(u"=ujc_(=D$Pt$h `@ < `< `$t7=(u"=uj_(=t#ϋS9SrS_t C0C}RS$tC=(u"=uj_(=th `j  < `$< `t7=(u"=uj#_(=t&ϋV9VrV_t FF}RV$tC=(u"=uj賿_(=th `j ؃ t< `$4ytYu [^_ÐntNu1[^_ËD$[^_ %s%c %s %cNOTE: This is NOT the log message! descriptiont-rUWVSt$,-=tJ|$(uC5h/hHU!j[^_]Ð=t jj@h/hHUu.h,hHhHhHY48=4p>-uF0HhHV豺_…uVjh,T$W5, 0L$ T$Z9ZrRT$ڶ_T$tB8B}RT$T$$u,9t$ wD$ Ph,T$cXƋT$ȈF뉐Rn_t*+,5,ljt$tEO\$D$B< uz tz t BԐJ9rːz t z tz uJ9rt$)T$L$\$ 48j5854jU]9]rj U^_E E } U[^_]Ðenter %s, terminated with single '.' or end of file: %s>> can't reread redirected stdin for %s; use -%s<%s>>> UWVS\$(=(u"=ujԻ_( L$tt$,Sh\Kh `< `$tSt$(ShK11< `< `$t8=(u"=ujM_(=teϋM9MrU@_t EE}SUE$tC=(u"=ujں_(=th `j '\$< `$ub|$ u4t|7.ut|7 uNA|$th `hKB^St$4TL$09L$ >t?NCB< uz tz t BڐJ9rѐz t z tz uJ9r|$)T$D$T$[^_]Ð$Id: rcsedit.c,v 5.11 1991/11/03 01:11:44 eggert Exp $t$_1҅t=< `%ډedit script ends prematurelyedit script refers to line past end of filew+D$u?=ujQhN5蟵_u 5xÐS\$jjj$ S5DE5D[ÐUWVS|$l$5Dt5tjjWSV SV=EV|$LPjj5'_ tDHH-uP4 t$LPtML$D$ u뒐[^_]0ÁUWVSt$D$D$WV$$2_ t\9uPD$P@t$|$ʐM0$>/t SACV$ B돐< `D$P A< `ttEu?[^_]Ð1[^_]Ð< `([^_]Ð[^_]symbolic link to non RCS filename `%s'RCS filename `%s' incompatible with suffix `%s'RCS filename `%s' ends with `%c'rwTUWVSt$h\$p=%D$VDD$ \$9\$} 1[^_]TÐ.UAlj)T$\T$Ut$8A\UAu$Uha1< `1[^_]TÐ8uPWha Ӑ8tGC?uC*GCu;_uj_Uh b _T$D$ 0.\7h$hS<_ D$=< `8|$}+ D$$PS?_T|$t$lh,bU D$ =< `|$ tm|$tfh65\_1t=< `%ޅt=< `P7t 5\W(Sh\?h.bt$蘟_u 5\-=< `D$ [^_]TÐkeepdirtempL$d9 tHyhd|TXXXXXXcan't make temporary file name `%.*s%c_%cXXXXXX'UWVSl$|$uU:[^_]Ðt$'?Ǎ4\G PSo<t$S~>\7_C0Cm.dfdfSdSVk_t>uE0Pj/t$WhdT[^_]ÐUWVSXdt$u47_u5My[^_]VSD$ t$f\$t P[PV_t [^Ðt$Vޤ_1҅t=< `%ډ[^Ðmultiple revisions locked by %s; please specify oneUWVSl$1llt'3P/_uu{[u܅u(1[^_]ÐPhf[^_]ÐSU|$tC@ [[^_]revision %s already locked by %sVSt$ ltOC06@ u53&Pp_u1[^36hLg> [^Ð[uj &F slSl[^Ðsymbolic name %s already bound to %sUWVS|$t$l$tQ3Vĥ_u9uWs谥_u {[^_]sVhhv 1[^_]Ë[uj %É3{S[^_]ÐS1k1f9%P'[Ðrootuser %s not on the access listWVS=t@1f9(t291 1f9%PI'ƿhu [^_Ð5600f9%P'P耤_t=vu00f9%P&Phh/1[^_Ð[^_Ð %s%cWVSD$|$t^}1[^_Ð5555h/hi5==h.J0'5\蒥_1҅t=< `%ډӋ5< ` \d9 tHyhd|T'0t5|VӾ1[^_Ð[^_Ðbreaking hard link to %ssaved in %sUWVS|$}=p=t!55:)hf=&v5|hkL$/&f$m5\=|t hҼPVY_t (WVY_1҅t=< `%ډӋ5< ` \d9 tHyhdT&G/to5|Vk5\hk萾Xdt$u,.7}_u.My1[^_]Ð[^_]Ðt$S_t{Ð$Id: rcskeys.c,v 5.2 1991/08/19 03:13:55 eggert Exp $AuthorDateHeaderIdLockerLogRCSfileRevisionSourceStatemm"m)m,m3m7m?mHmOmUWVSl$ m"9u<$t<:u [^_]Ð1[^_]ÐCA8tփNu1[^_]Ð$Id: rcsmap.c,v 5.2 1991/08/19 03:13:55 eggert Exp $    $Id: rcsrev.c,v 5.3 1991/08/19 03:13:55 eggert Exp $T$u1Ð:tB<.uA:uVS\$ t$SV[1څt:u1B<.uA:u$uB<.uIuB[^ÐUWVSt$t$uD$r\$urt$>u [^_]À;u[^_]ÐD$t$>0t1t$ Et$D5Ѓ v;0uC;0t1BЃ v9tr[^_]ËT$߉0tF*Gu#l$t$>tD$;?C9[^_]UWVSL$\$T$A<.uC<.uJu90uA90t1 ED Ѓ v;0uC;0t1BЃ v9r+uʉ߉0tF*G[^_]Ð[^_]Ð[^_]Ð and state and author a date before No revision on branch %s has%s%s%s%s%s%s.revisionbranch%s %s absentUWVSt$t$\$u [^_]Åu[^_]Ðt$>tր;tD$t$>0t1t$ Et$D5Ѓ v;0uC;0t1BЃ v9trwT$߉0tF*Gu%l$t$>.uD$;.uCL$ X1[^_]ÐVSt$ \$t$V.t@8.t8u@Ku@[^RCS file emptybranch number %s too lowrevision number %s too lowRevision %s has date %s.Revision %s has author %s.Revision %s has state %s.hUWVSD$PD$T=|$ uhv- T$||$|t t$|>uD$$WB<.uA:uL$$|$$0L$||$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9r#Ή߉0tF*GD$ D$|$}qjt$ p$$v(t$ ID$Pt$|P+D$P@8.t8u@Ku@t$Phv+|$~1D$HD$Lj$\$PS Pht:|$$|$ 7t$pL$|$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9r'Ή߉0tF*G_$$t$ ^ur}t;}0u E}0tD$ED$|$/Ѓ v;0u C;0t1BЃ v9T$t9T$sBߋL$0tF*Gu!l$\$}tE;MCG|H$tt$ v$_u$$tJ|$ w$_t0jQt$ p$$v(t$ |$ t~L$|$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9ru&ʉ߉0tF*G|$$t\$|5D$Pt$P(D$P@8.t8u@Ku@\$P$$urP$t lt$u$u ptrP$$urP$txt$u|trP$tD$8P$#rPr$ttPSht j|$ x$$D$ [^_]hÐL$|t$ A<.uC<.uJu90uA90t1 ED Ѓ v;0uC;0t1BЃ v9r/uΉ߉0tF*GD$D$D$|$L$||$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9ruRΉ߉0tF*Gu0j$t$ p$$v(t$ |$ tyL$||$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9ru"ʉ߉0tF*GtKD$Pt$|P%D$P@8.t8u@Ku@t$Ph(v跬_|$$vQ|$tJD$HD$Lj$\$PSK Phthth S#j‹|$ z$$|$$v>R$$$t$4$t$8[^_]hÐ$ $t$|$ _urt$>tÀ;>0uD$|$?0t1t$ E|$D=Ѓ v;0uC;0t1BЃ v9t 9sBDt$߉0tF*Gu%l$t$>tD$;UCO}4D$XP|$$wPt$$6hCv 1[^_]hÐ$t*|$ w$ύ_twt$$6h\v븃$t:|$ w$蛍_t GuwvPt$$6hvw$mD$PP!1[^_]hÐno side branches present for %sbranch number %s too highpUWVS$D$,@D$ t$Xt$L$PL$|$ uqD$XD$\\$,K$t$ "D$Xt@8.t8u@Ku@t$Xhot$ 1[^_]pÐt$ $8T$,EE<.uG<.uJu}0uE}0t1EC+Ѓ v?0uG?0t1B:Ѓ v9ru0tF*G~kL$ IL$ XD$XD$\\$,$t$ l!D$Xt@8.t8u@Ku@t$Xh}TD$PD$Tt$,$t$ PD$0$tttRht t$t$ L$(L$,9$D$$$$t$L$(Yurt$>u ;L$90uD$t$>0t1L$ Et$D5Ѓ v;0uC;0t1BЃ v9t9sFt$߉0tF*Gu%l$L$9tD$;AC;|P$tt$(v$ۉ_u,$tL$(q$跉_ut$(t$$L$(I(L$(|$$$$urP$t!lt$u$u ptrP$$urP$txt$u|trP$tD$@P$rPr$ttP$ht蜥 1[^_]pÐt$ $j L$(H$$I(L$(t$$9ujL$(H$$D$([^_]pÐ$t$(.T$,tG<.uEE<.uJuG?0t1C;Ѓ v}0uE}0t1EB*Ѓ v9ruyى0tF*G}WD$XD$\\$,C$t$ FD$Xt@8.t8u@Ku@t$Xh(vjL$(H$$L$$q(t$($>T$,tEE<.uG<.uJuE}0t1EC+Ѓ v?0uG?0t1B:Ѓ v9rY0tF*G7D$,@9$$L$$)T$,tG<.uEE<.uJuG?0t1C;Ѓ v}0uE}0t1EB*Ѓ v9ru"ى0tF*Gt[\$,CD$PD$TS$t$ i P$tttRhtx t$D$,@9$$$L$$Yur}t;}0u E}0tD$ED$t$.Ѓ v;0u C;0t1BЃ v9T$t 9T$s>@ߋL$0tF*Gu!l$\$}tE;QCK}4D$`PL$(qGPt$(6hCvK 1[^_]pÐ$t.L$$q$7_tt$$vL$(1h\v봃$t:t$$v$_t FuwvPL$(1hvst$$NL$ D$,$9t$,$D$$[^_]pÐjt$ t$ i Ðworking file lacks revision numberSymbolic number %s is undefined.improper revision number: %sUWVS|$jt$$L$ 1t?u[^_]ËT$:$u_zuYt$$<u 1[^_]Ð8uh蔟ڐPt$$f뜐Vhq뷉L$ QT$D$l$nt_VMOG?0uGЃ v9t$wUt$$ƊGF vOF[L$ +9t$wUt$$ƊGFntփtуt̃t9t$wUt$$SދL$ 1t3V|_y[u1ۅ9t$wUt$$ƊCFuG=<.u>?u)D$$u1T$ 2BÅ@SdD$F.t$h̊Ν1[^_]ÐPjjjt$OtÐ1Ð=t(Pjjj51tÐ=t 1Ð$Id: rcsutil.c,v 5.10 1991/10/07 17:32:46 eggert Exp $out of memoryD$uPz_u h$Ðt$t$|_u hÐS\$jDz_u hߝ|P|[SD$uPz_Åu h衝jy_u h舝|P|[VS5|t^6u_Vu_ޅu|[^ÐST$||9t C[9uK3vu_Smu_[Wt$|$ 0҅uR3y_…u h̜R~__ÐWt$ |$0҅uRx_Džu h腜jx_…u hj|B|:W.~_D$D$_ÐWt$ru_…t=R0׹ЅuPbx_u hP}__Ð1_LOGNAMEUSERno password entry for userid %luW=\|$hXt_…tR0׹ЅuPgw_u hP|_1\uDxt_\u6%Pu_u%Phe诚\5\Ҕ\_HangupInterruptBroken pipeQuitTerminatedCputime limit exceededFilesize limit exceeded RCS: %s. Cleaning up. RCS: Signal %d. Cleaning up. @ÁWHE8=jWz_t=_=1ҍO9$ܒ@HXuuuuuuuuuPu`uuuuuuuuhp.&őё֑t Rh Wh)D$ Pz_ T$0׹HPRj}_ w_ signalWVS=``D$ ܓ I D$ Ky|$ܓWj6x_ t h |$t-D$`L$ L$jW6x_ t h֕Ky[^_Ð WVS$ $ $u@\$ Vh jSo_uV[^_ WPS $t[^_ ÐWVSt$\$|$v5WhjVo_=twWSjVo_9t[^_/bin/sh: not found forkwaitpid%s failedUWVS贓{z_…4L$)˃tYjl_hjUs_ Dž|u%jjWm_ WKl_uЃtU@+t_j l_hhAUes_ Dž|u(jjWm_ Wk_uЃtUؓS3(m_=< `ulShlm_0׹HPRjrz_ j htjaz_ jj_} hfjD$PRy_ } hF|$tL$qhD$[^_]Ðtoo many command argumentsPVSD$`t$\t$D$ \$hD$dD$t#~ hD詔ʃACDuߍD$P[^P19%.*s/%.2s/%.2s %.2s:%.2s:%sSL$\$ ʐB<.uB PB PBPBPRQ)HPy.u =}—PSu_$[Ð%s isn't a number%s out of range %d..%dWVS|$w=dt jVdtN1G\PFЃ v>t Wh4肓~~jjWhFg[^_ÐRCSINITUWVSl$t$hrl_…tAR0׹ЅuPbo_u hPt_1ۅuL$1}ڐB<  <} t < uG名uPn_u h荒NjL$9ڊ<  <} tF< uC鐉ECB<  <}t"< t<\u;t JCאB뮐u[^_]Ð=lull_fhhÐ=tutk_fppÐsetuidroot setuid not supportedÐVS==tutj_fpfp=tutj_fpf5p=lulk_fhfhf9tNPq_t h /j_f9t*=xu!xftP辐[^ÐVS==lul%k_fhfh=tuti_fpf5p=lulj_fhfhf9tNPp_t h8[i_f9t*=xu!xftP[^ÐW$jWp_t=_=1ҍO9$$,<YYYYYYYYY4YDYYYYYYYYLT.&őё֑t Rh Wh)D$ P8p_ T$0׹HPRjs_ m$Id: rcsfnms.c,v 5.8 1991/09/24 00:28:40 eggert Exp $RCSa-- adaasm;; bat:: c * c++// cccppcxxcl;;; cmdcmfc csel; fforhhpphxxllisplspmacme.\" mlmmmsppaspl% texy# ڝܝܝ  #&)+/159;@DHKP&SKVKY[_bebikTMPDIRTMPTEMP/tmp%s%cT%cXXXXXXcan't make temporary file name `%s%cT%cXXXXXX'UWVSl$=uLhx u6hu hu 0߹Ѓ PǍu0Vj/ShW>m_Wh_t?uVj/Sh诋<[^_]ÐVStPPo_Ny[^ÐUWVSl.р9tB8uр:u9-uԠ1pt4)ЉD$AC|$t|$uu<nt҃Fċtz0߹ЍpNt|3/t݉-51=||$?.u4|$/u D$|$.u/u@D$|$?.t͋5 N<./uHtu0T$׹Ѝ\9sF=t5S_%9r5VUSW_ /Ct$S\_[^_]Ð$Id: partime.c,v 5.6 1991/08/19 03:13:55 eggert Exp $januaryfebruarymarchaprilmayjunejulyaugustseptemberoctobernovemberdecembersundaymondaytuesdaywednesdaythursdayfridaysaturdaygmtutcutcutnzstjstkstisteetcetmetwetnstastestcstmstpstaksthasthstsstnzdtkdtbstndtadtedtcdtmdtpdtakdthadtltdstddstampmnoonmidnight Ʊ ϱ ر߱ 0%)-159=AEI,MhQUY^XcXgk0ptx|,hX<x /-.DUWVS1ۋT$\BBB BBBBD$$D$(D$0D$LD$H|$X|$DD$DD$ t$ ux|$Ps|$$|t$$t$`!TT$\z}BL$0}1Ƀ|$(|L$D$()ȋ|$`ًT$` [^_]DÐ|$ND$Ph@ȸ9$Ե,8L$\DL$\8L$0/jD$4P4@ ŠD$P@$tj|$8u{\$@` oT$4T$:Ѓ w\ؿdӃ;Kt$@D$)L$|$D$x+uۉ\$,݋T$T$DD$H|$<|$Lt$PL$(L$$UQ Wt$DЃ |$N8|$H-\$P` FЃ  ؿdӃ;L$PșD$)L$|$>+uۉ\$,D$,D$(Xl$P|$HuEdщQD$`D$ t$ 6D$UD$`P|$HT$\z}z|$L:uPdӉQD$`D$ t$ D$SD$`PO|$L,A|$L/6t$4D$8T$LT$tD$4Ѓ D$@@$|$L:bD$|$.D$\$T$8T$Lu{8T$Mt]|$D|$4D$HD$8T$LT$<|$P|$@D$8D$4P'D$t|$>uD$@xT$\z }Iz=D$8D$Mu>t T$\r|$\w |%t D$\p T$\r} D$AT$\zz z}vq|$D|$4D$HD$8T$LT$<|$P|$@D$4P<D$u|$@t51[^_]DÀ|$>tD$4Ѓ ]D$@@$LUD$` PQEPD$`P=ŔxUD$`P6냐UD$`Pit$ u|$P%[^_]DÐ|$N7|$HuZL$PȿdQD$`D$ t$ D$L$PșQt$`D$tv|$Ht$PD$`P`|$L:uBt$ ;|$N|$H~t$Pt$`fD$8} T$1ÐÐT$L$B(|# ~1Ð uBu0B *z܃:ׅ| uJu ttÐUWVSl$Uu 1[^_]Ð}} t[u?+t?-uGNNxaE DЉD$GȻ 9E u9L$}E 1[^_]ÐT$U NyhuW E tɸ[^_]ÐUWVS\$3s3SS C CCC ^i19$н{u3r{u 3K cKC[^_]ÐC{u'AЃ wCC F9s8~-t~+u, C%AЃ C 9tKKC[^_]ÐFC[^_]ÃUWVS|$ 1ft$\$~/T$+D$AFtuT$<nuKхu#9u [^_]Ðt 1[^_]Ðu[^_]Ð$Id: maketime.c,v 5.3 1991/08/19 03:13:55 eggert Exp $;Zx0Nm UWVSD$|$8@ %D$D$,D$ D$$D$(|$u\$4{|$,u$jN_D$,|$,u[^_] Ðt$,y|$(Y\$y|$$Y \$ y|$q|$tED$,PG_+Q+i\$(9Yt+AD$+A@‰)TT$8+t$8yr;)<\$)É؅L$ |$ L$$y L$(D$$ |$$+1|$$uD$($%‰T$ h<D$~T|$$+1|$$uD$($%D$ 9D$ ~D$$|$$ ~ D$(D$$D$ |$8`|$8vL$4y|Y\$(D$$D$ |$(DJ1D$($u*D$(duD$(,uD$(y|y|$$D$ |$$ y |Y \$ |$ |$$+9D$ ~|$ |$$1t |$$%\$$Nj\$ |;|$m9i|$(}|$lT@|$(ǍD$,m9,D$(@D$,D$ōE9D$, l$,q|9D$,)D$,Q9D$1D$y|y|$y|q9| L$;|$<||$v|$jD$^l$,D$8T$+T$)Ћ\$D$,D$,|$u8|$(}|$,Q~ 9l$,D$,[^_] ÐD$,PC_|$4?| 9|$4|Y9_uP|$4|Y9_u>|$4 |Y 9_ u,|$4|Y9_u|$4zI9OnL$2[^_] ÐUTC is not available; perhaps TZ is not set?U`=}h`URЃu h<fÐ%.2d.%.2d.%.2d.%.2d.%.2d.%.2dL$ $`=}h`RЃ…u h<Of2rrr B@PBzc~lPht$(G_ can't parse date/time: %sbad date/time: %s(WVSt$8|$ W\$SV. u Vh,et$ SuVhFeD$ `=}h`WЃ…u h<se2rrr B@PBzc~lPht$XF_ [^_(ÐHVST$Xu 1[^HÐD$0PRÍD$Pt$VS\ u Sh,dt$VuShFdht$XH_[^HÐ$Id: rcskeep.c,v 5.4 1991/08/19 03:13:55 eggert Exp $rclosing %c missing on keyword UWVSt$ =t[^_] Ð1u;jh5x^ ƅu5ha1[^_] Ðhh thhbhhPhhp>1ې$r|$N9NrV&8_tFF}V^$l$t t:tD$9v؈G뜃$t:u:N9NrV7_t FF}Vi^$ t 2D$PP 9$h V^ÅcjjV NVM =V Å*h VS hpVj jjVj tjjVY uF=$pjjV2V hpVj N9NrV&6_tFF}V\$t1ۃ$uu 8t8t8t p8uAN9NrV5_t FFWVm\$DtV\j$h_Vz][^_] badly terminated keyword valueVS\$ S9SrS5_t C0C}#S[$th^1[^Ðt$t$SV1[^Ðtoo much white space in keyword valueUWVST$t$ l$$t!jUT$I]ML$T$ 1D$1$9$@@@@@@@@h@@@@@@@@@@@@@@@@@@@@@h@@@tsЈC9\$whD$PUeVtu h,{][^_]Ðu|$(t 1[^_]ÐhJ]1[^_]ÐN9NrV3_tFFVT$Y$T$h\1[^_]Ð19%s%s %s %s$UWVS|$81D$,D$0l$,O9OrW2_t GG}#W=Y$thb\1jUWSjD$$D$(l$$O9OrW2_t GG}#WX$th[1jUWS2D$D$ hD$ PO9OrW1_t G0G}WAX$t1-t +l$jUT$\$L$ L$1T$$9$lllllllllllllllllllllllllllllllltOЈC9\$wDD$PU92tu h,OZoh>Z1bO9OrW0_tGGWT$V$T$hY1u 1O9OrW/_tG0G}WaV$t1\$,0߹҉T$|$$ҋ|$ЋL$TDPht$t$(Sк wCЃ w {/u Rh#5;_D$PYD$$PLD$,P?[^_]$ÐUWVS\$t$ l$$uEN9NrV._t FF}VAU$t 1[^_]Ðڅt"jUT$]ML$T$ 1D$1$9$pppppppppppppppppppppppppppppppptOЈC9\$wDD$PU52tu h,KWoh:W1{N9NrV-_tFFVT$S$T$hV1tuMR[^_]Ð1[^_]ÐWVS\$1S9SrS,_t C0C}#S9S$th^V11jhSVtj5t[^_ST$\$ 1ɀ:t:.tЃ v1[AB:u} ȃ[Ð9%[UVSu1҃<tB8uӅt4ЃKue[^US=tЃ;uh,_]U=uÐSL$ T$\$̀} أ [ÐVSt$ \$T$t'Ѐ:t@8u)PRV Su[^' : can't load library 'Incompatible version. Too many libraries. No such library. Permission denied. Exec format error. Unspecified error. ) ( UWVSl$|$,=,PV>̀} ى  jh(0h,uj9$TjhC:jhZ.jho"jhjh jhj̀򐐋H %t 93D$ځ%9u 9}D$T$t;jh(0h,ujujhCjd̀򐐃>L[^_]þ,=,t.jhph0hj>u֐1۸̀[^_]/lib/libc.so.4Jump table 4.1 `ibgcusr/bin/rcs100755 2122 1750 172000 5316132315 12115 0ustar steinberert d-̀\ `-:D$4 `P`[̀rCopyright 1982,1988,1989 by Walter F. Tichy Purdue CS Copyright 1990,1991 by Paul Eggert$Id: rcsbase.h,v 5.11 1991/10/07 17:32:46 eggert Exp $rcs$Id: rcs.c,v 5.12 1991/11/20 17:58:08 eggert Exp $ rcs usage: rcs -{ae}logins -Afile -{blu}[rev] -cstring -{iLU} -{nNs}name[:rev] -orange -t[file] -Vn file ...,v/missing file name after -A-L overrides -U.missing symbolic name after -nmissing symbolic name after -Nmissing revision range after -ostate missing after -sunknown option: %s%sno input file%s%s aborted file %s exists alreadyRCS file: %s can't change states in an empty treesaved in %sdone %s aborted; %s unchanged. tUWVS${xtD$4D$,D$0D$D$(D$<D$@11fD$D$$luD$D$ D$D$8PV$ky $t$8C79$UUUUUUUUUUPUUUUUU$UUUUUUUUUUUDUUUtU0Xp<UUUUD$ |$(t jb<D$(\$0|$,t jcf<\$,j~;u hyjjhظVjr=t1j0 nP@=uhh6&j@P ;uLjal@tGHTA;uPj)l@tEXU D$|$t|$u hd:D$dD$|$t|$Nh4:<D$/;uhv@Pj;uhb@PjS=|t jo:;uh@P ;uh7@P_D$;t{|$4t jt!:\$4dxXLlD6 u8|$$| jk9S@D$$|$$}h6h^8$$~C<-$hh/"8=HtKhh?t9[^_]t5Wh55h6|$ t1j`fD$D$P`fD$ff%$fD$sj|$ t@jjh@V$膴'~IuD5hK6jjh@V$F 5hbx8fl$|$ t!D$DP5p`u#fl$L+BAf-fm|$t L$ |$,t!L$, 40|$,H8|$$| L$$ $|$(t;D$+C t t t,tu[^Ð-m option lacks revision number-m option lacks log messageUWVSl$j:U_…uh0/[^_]ÐB0׹HPR1uÉօu hPŐjc‰*ZrB =`t `P \`[^_]Ðmissing ':' after state in option -sVS\$ C t t tj:V)C t t tuD5@[^Ð:th .[^ÐC t t tj b‰rB=ht hPdh[^Ð`-' is obsolete in `-o%s'; use `:' insteadinvalid range %s %s after -oWVS|t$F t t tj:V_t :.j-V_t= |Vh/-9uIF t t t7GF t t tuG[^_Ð7F t t tt9uF t t tuGG[^_Ð9tV7h'o.F t t tuGG[^_ÐwGF t t tu[^_Ðcan't find delta for revision %sdelta number corrupted %s %s VSt$ TtZ6h-7Åu h-{8t& ( ThC3h5(30hC9u+h@$~uuR5@DqFV^{tR{8tLT" ( Tjssj5(;5T5`.C"R=0 u&hC5t_t05=0 thC9t !|$t j[^?[^WVS|$=Tt07T0~_uTXP_TuЋ5Tt-73G_uSVS_ދ^uӉ[^_ÐWVS=ttF?u rtb37_u[su>t37_tsj]ÉCl[^_Revision %s is already locked by %s. Do you want to break the lock? [ny](n): wSubject: Broken lock on %s Your lock on revision %s of file %s has been broken by %s for the following reason: State the reason for breaking the lock: (terminate with single '.' or end of file) >> %c >> /bin/mailMail may have failed.Please tell `%s' why you broke the lock.UWVS]u Shh `q,hjou1%jEhu_E}u"uj'Shu, ;P٫PS5Phu+h `hbU+ mƊ< `$u u .u t,uS*߉ uh `h+뷐EP$ju hjucth)u h(e[^_%s still locked by %s%s unlocked no lock set on revision %scan't remove branch point %scan't remove locked revision %sdeleting revision %s Revision %s doesn't exist.invalid branch range %s after -oinvalid revision range %s-%sRevisions %s-%s don't exist.UWVSD$h85|Uhjjj58ADž587=tD$584=D$=\D$$t8/t$FVUC0? tmS|$t58h!%1[^_]Ë58t$VC0)? tSݐs(=-19tQ{t3h$@t9Xut3hw$[(9uu'9tC83h'[(9ut5[^_]ÐD$$t58h!=[|$vH/t$NVUC0> t Ss(=w7t$VC0= tSݐs=t0j07t< u@(=uӋ-19tP{t3h #@t9Xut3h"[(9u9tC83hl%[(9u`m={|$u`7jVC0< tSߐs|$t=(=|$t=w(uC7t$VC0%< tSݐsh869hjjj58=-19tR{t3h!@t9Xut3hS![(9u9C83h#[(9ukh85P5889D$u!|$v6D$HP758; t587hB hjjj58<Ņg|$u78~%58u8%D$|$t5u7_8u55|h__=w(<7t$VC0!: tSݐsm(-u77} "58u7%D$|$t*u77u55|h_m(-7t$VC0a9 tSݐs-19tR{t3h@t9Xut3h[(9uu+9tC83hH![(9uN1[^_]Ðcan't delete nonexisting symbol %sno latest revision to associate with symbol %sWVS=l?u[ޅt;w3z_t ދ[ut9u[}[^rwh `8t)1h8P`Mt058^R/PÅuwh3 XtwwS  7[^_ÐNo locks are set.can't unlock an empty treecan't unlock nonexisting revision %s%s locked can't lock an empty treeUWVS=P==D$Pj΃tB0Ӊ\$|$C0V_u63臅P_t+3Vu3Vhu zߋ[ut/C0hKOC@ L$ >Vh-D$0h\hH!hZ!j=X.h87@K hjjj58G7D$582$u&58D$ 0E3t7hu!D$0\$l$C0Vu_u63'Pa_t+3VNu3Vhu K݋[ut/C0h<KMC@ L$ VhY=Tt7u=Ltg=t5[^_]Ð=t/5|*0h![^_]Ðh![^_]Ðcan't lock nonexisting revision %sSh8t$ UItvhjjj58`5ÅtW580$u)583h1t58h$%[S"|3h![ÐS\tDh83Ht)hjjj584t SKPH[ u[Ðcan't set state of nonexisting revision %s to %sVSt$h8t$8Ht`hjjj58C4ÅtA58/$u,583K0tV58h% [^Ðs[^Ðdiff failed-an/usr/bin/diffWVS\$1@8js8=tgj}hW_ƅuWjs9SuVfVjs9Sujjjf hd=tbjj5Wh&h&SjS} h&)j5(Spp0u&[^_Ðj5(5pp0L&[^_ÐDo you really want to delete all revisions? [ny](n): No revision deleted=tc 9H(u H(ÐPЋRt 9 u=t Ð9u RPËRPÐ=u?=u6h'j\u#h(t@8@(uË Ð$Id: rcslex.c,v 5.11 1991/11/03 03:30:44 eggert Exp $Unknown phrases like `%s ...;' are in the RCS file. u5th.)ÐJyH=hT\<jh蕋hH9HrP_thP@`}5hÐunknown character `%c'UWVS5T=h `L$L$ S 9r=$*t+**,,*.**.**.t$hH*R<O9OrW_tGD$G D$|$} W3PN9NrD$PVL_VD$%FV - L$D$EEO9OrWJ_tGD$G D$|$} Wt:N9NrD$PV_VD$%F} VML$ tu-D$EE9l$[D$PhBE=\t{=1Ҁ?t C;uй14t3Wv_t's,搐j$162$202626262|262$262$2$2T3RhH* <N9NrV_t FFKVT$ T$59|$wt$t$赃NjN9NrVF_tFF}VT$ T$ЈG t@t 뙐<됋N9NrV_tFF}VT$5 T$@}9|$wt$t$@G(N9NrV_tFF}VT$T$< uh<9|$wt$t$T$苂NjT$ЈGN9NrV_t FF}VT$]T$ tt %<N9NrV_u붐 l$,@N9NrV~_tFF}VT$T$EtE9t}u; t/| }#`t$,>t0 G\$,99|$wt$t$T$9NjT$ CG9r`1+D$ PD$$P[^_]ÐWVST=hO9OrW~_tG0G} Wt8K9KrPS_SȈ%C} S t @t낐<uO9OrW_tG0G} W=t8K9KrPSZ_SȈ%C} S@5`[^_ÐWVS `5hN9NrVZ_tFF} V t @t R<HN9NrV_tFF} VY@t `[^_ÐO9OrPWj_W؈%G=W/UWVST=h|$L$$)y|$L$y9yrt$W_tL$A0A} t$t9{9{rPS_S%C} Sa t @t<L$y9yrt$_tL$A0A} t$t9{9{rPS_S%C} S@t)5`L$$9|$)l$D$T$[^_]Ð9l$uD$Pt$(l}ʼnȈEEinvalid character %c in identifier `%s'identifier `%s' doesn't start with letterVSL$ \$ tulA‹ tttt߄tot8tg tb t] tXАA t t tt8uVPh8A t t tt8uVh9[^Ðjt$9Ð`%s' is not a regular file@WVS|$PjWn_ƅ} 1[^_@Ë\$Xu\$ SVq_tWtfCf%f=t*Wh :V_< `1[^_@t$TVR_uW%[^_@Ðoutput error=th:unexpected end of fileh:input errorh$;D$$ t h$;ÐD$$ t"=th:\ÐD$tPR_t h$;9ÐD$t0P._t#=t%h:ÐS\$tP_t h$;[S\$t1P_t$=th:[ËT$$ t h$;t$t h:Ðjjt$ 3_ t h$;BÐh `r_t=uh:Ðu `P4_t=uh:Ð %s aborted %s error: t$5< `Ðu `P_t=uh:hhh!=h ` HT$< `t$@_h `k_t =uh:Ðt$5< `u `P_t=uh:hh!=h `H_ T$< `t$_hh=h `_ u `P_t=uh:0hh!=h ` HD$Pt$h `| h `j h `$_t=uh:Ð%s: %s:%lu: u `P_t=uh:t5<5hh$?h `_D$Pt$h ` hh=h `_ 3u `PH_t=uh:hh!=h `x_ D$Pt$h `6 hh=h `K_ %s warning: u `P_t=uh:PhhH@h ` D$Pt$h ` h `j h `J_t=uh:Ðredefinition of -%c optiont$hA.Ð=uu `P_t =uh:oD$Pt$h ` h `_t=uh:(ÐSD$\$ K9Kr%PS跾_S%C}+$ t%=th:[Ðt$t$k_}$=th:Ðt$ t$ t$ _ }$=trh:HÐD$ Pt$ t$ _ }#=t1h:Ð$Id: rcssyn.c,v 5.8 1991/08/19 03:13:55 eggert Exp $desclogtextaccessauthorbranchbranchescommentdateexpandheadlocksnextstatestrictsymbolsmissing ';' after '%s'%s isn't a delta numbermissing ':' in symbolic name definitionmissing number in symbolic name definitionmissing ':' in lockmissing number in lockunknown expand mode %.*sWVShQCbÅt3$t3hCj uhQChvCh-Ct1Åtj uh-ChvCEhCƅtj>-0X␐j ;uhChvChnC?ƅtIj u hC;Åu hCj ,0Xxj uhnChvCahVCƅtij ru hC)Åt3$t3hCu h Dj ,0Xx뎐j uhVChvChgCtj uhgChvC8h=CtE=0uhr48kj puh=ChvC"$hJC`tu=0uND$ D$|$ WÉVS$} SVh#DWjnj uhJChvChC2[^_ÐkvkvlkvoGGGGGWT$0׹HPR_ÐUWVSl$\$G=Gt.2٨u<u-G[^_]Ð:uԸ[^_]Ð\0 t |0t#&\5t5*WVSÅt3O $t 3hCP߅u1[^_\jj hEC G\jj h&Cn Gjj haCZ Gh4CwkÅt3 $t3hCtj(pj uh4ChvCh\CÅt3M $t3hCN_(j zuh\ChvC,G GG8hCG W$[^_{utB H RuS\$hCt [Ð[Ðmissing %sWVSt$\$1V590u=t|$u VhJbj uVhvCG[^_Ð%s %s; %s; %s %s:%s; %s; %s %s %c%s%c; VSt$ =t JPhQChJVB=t"= |5h-ChJVVhCt3hKV [uhnChKV ts3h KV[uhVChKV tC03h KV~[u=thgChKV[ hKVM=8t:h=ChKV1 j5854jVhKV =$t#j@$4Gj@hJChKVV55 , V9Vrj V誳_F F } VT[^Ð %s %s %s; %s %s; %s %s; branches; %s %s; WVSt$|$~8FuJPhaCvh&CvhEC6h MW$^t0hKW [u~(t F(JPh\Ch.MWWv$v * Wv(O^tW3<[u[^_Ðunexpected EOF in diff outputrVS\$jh*NS ƅt0t$ t$ Vt$ t$ t$ jV[^ÐS1[^ÐWVS\$|$t1S9Srj@S_C@C@} St$|$tq>@u2K9Krj@S觱_C@C@} SPS9SrPFSr_S%FC} SOu|$t8|$ t1K9Krj S._C C } SS9Sr j@S_C@C@} S[^_Ð %s %s %s %c%c UWVS\$(t$,|$0l$4hCt$(hOUjVSjUj@hChOU|$8O9OrW记_tGG}W$@u2M9Mrj@U_E@E@} UM9MrPUۯ_U؈%EYUKD$P.D$PUjVtL$|$tڐO9OrW辯_tGG}'W$t|$h NW@u2M9Mrj@U _E@E@} UM9MrPU׮_U؈%E} U 7L$|$(j@hOU [^_]ÐD$@@ Ðbad diff output line: %sdiff line number too large: %s%c%cdiff output command line too longbackward insertion in diff output: %sbackward deletion in diff output: %s%s UWVS$$ T$$N9NrV׭_t FF}/V $t t h Nz[^_]Å@u{V9VrVq_t FF} V@uD$@D$D$Ph0R`|$tSj@hhRt$j|$$9w hmR؈GN9NrVլ_t FF}V $t h Nz ut<\$|$ u G t1+wt9sD$PhIR$GCЃ vЃ u G t1/Dwl9sD$PhIRGCЃ v̅uuD$Ph0R\59sD$PhIRD$u [^_]À;u[^_]ÐD$t$>0t1t$ Et$D5Ѓ v;0uC;0t1BЃ v9tr[^_]ËT$߉0tF*Gu#l$t$>tD$;?C9[^_]UWVSL$\$T$A<.uC<.uJu90uA90t1 ED Ѓ v;0uC;0t1BЃ v9r+uʉ߉0tF*G[^_]Ð[^_]Ð[^_]Ð and state and author a date before No revision on branch %s has%s%s%s%s%s%s.revisionbranch%s %s absentUWVSt$t$\$u [^_]Åu[^_]Ðt$>tր;tD$t$>0t1t$ Et$D5Ѓ v;0uC;0t1BЃ v9trwT$߉0tF*Gu%l$t$>.uD$;.uCL$ X1[^_]ÐVSt$ \$t$V]t@8.t8u@Ku@[^RCS file emptybranch number %s too lowrevision number %s too lowRevision %s has date %s.Revision %s has author %s.Revision %s has state %s.hUWVSD$PD$T=|$ uhY T$||$|t t$|>uD$$WB<.uA:uL$$|$$0L$||$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9r#Ή߉0tF*GD$ D$|$}qjt$ p$$v(t$ ID$Pt$|P[D$P@8.t8u@Ku@t$PhY+|$~1D$HD$Lj$\$PS PhX:|$$|$ 7t$pL$|$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9r'Ή߉0tF*G_$$t$ ^uV}t;}0u E}0tD$ED$|$/Ѓ v;0u C;0t1BЃ v9T$t9T$sBߋL$0tF*Gu!l$\$}tE;MCG|H$tt$ v$?_u$$tJ|$ w$_t0jQt$ p$$v(t$ |$ t~L$|$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9ru&ʉ߉0tF*G|$$t\$|5D$Pt$PXD$P@8.t8u@Ku@\$P$$uVP$t DX$u$u HXVP$$uVP$tPX$uTXVP$tD$8P$#VPV$t]XPShmX j|$ x$$D$ [^_]hÐL$|t$ A<.uC<.uJu90uA90t1 ED Ѓ v;0uC;0t1BЃ v9r/uΉ߉0tF*GD$D$D$|$L$||$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9ruRΉ߉0tF*Gu0j$t$ p$$v(t$ |$ tyL$||$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9ru"ʉ߉0tF*GtKD$Pt$|PpUD$P@8.t8u@Ku@t$PhZ__|$$vQ|$tJD$HD$Lj$\$PSK PhXhX SwSj‹|$ z$$|$$v>R$$$t$4$t$8[^_]hÐ$ $t$|$ _uVt$>tÀ;>0uD$|$?0t1t$ E|$D=Ѓ v;0uC;0t1BЃ v9t 9sBDt$߉0tF*Gu%l$t$>tD$;UCO}4D$XP|$$wPt$$6hZ 1[^_]hÐ$t*|$ w$_twt$$6h4Z븃$t:|$ w$é_t GuOZPt$$6hWZw$mD$PP^Q1[^_]hÐno side branches present for %sbranch number %s too highpUWVS$D$,@D$ t$Xt$L$PL$|$ uqD$XD$\\$,K$t$ ,RD$Xt@8.t8u@Ku@t$Xhdt${P1[^_]pÐt$ $8T$,EE<.uG<.uJu}0uE}0t1EC+Ѓ v?0uG?0t1B:Ѓ v9ru0tF*G~kL$ IL$ XD$XD$\\$,$t$ QD$Xt@8.t8u@Ku@t$Xhd}TD$PD$Tt$,$t$ PD$0$XtXRhX t$t$ L$(L$,9$D$$$$t$L$(YuVt$>u ;L$90uD$t$>0t1L$ Et$D5Ѓ v;0uC;0t1BЃ v9t9sFt$߉0tF*Gu%l$L$9tD$;AC;|P$tt$(v$_u,$tL$(q$ߥ_ut$(t$$L$(I(L$(|$$$$uVP$t!DX$u$u HXVP$$uVP$tPX$uTXVP$tD$@P$VPV$t]XP$hmXD 1[^_]pÐt$ $j L$(H$$I(L$(t$$9ujL$(H$$D$([^_]pÐ$t$(.T$,tG<.uEE<.uJuG?0t1C;Ѓ v}0uE}0t1EB*Ѓ v9ruyى0tF*G}WD$XD$\\$,C$t$ LD$Xt@8.t8u@Ku@t$XhZjL$(H$$L$$q(t$($>T$,tEE<.uG<.uJuE}0t1EC+Ѓ v?0uG?0t1B:Ѓ v9rY0tF*G7D$,@9$$L$$)T$,tG<.uEE<.uJuG?0t1C;Ѓ v}0uE}0t1EB*Ѓ v9ru"ى0tF*Gt[\$,CD$PD$TS$t$ i P$XtXRhX t$D$,@9$$$L$$YuV}t;}0u E}0tD$ED$t$.Ѓ v;0u C;0t1BЃ v9T$t 9T$s>@ߋL$0tF*Gu!l$\$}tE;QCK}4D$`PL$(qGPt$(6hZ 1[^_]pÐ$t.L$$q$__tt$$vL$(1h4Z봃$t:t$$v$'_t FuOZPL$(1hWZst$$NL$ D$,$9t$,$D$$[^_]pÐjt$ t$ i Ðworking file lacks revision numberSymbolic number %s is undefined.improper revision number: %sUWVS|$jt$$fFL$ 1t?u[^_]ËT$:$u_zuYt$$Vu 1[^_]Ð8uh`n<ڐPt$$H뜐Vhn뷉L$ QT$D$l$ t_VMOG?0uGЃ v9t$wUt$$tFƊGF vOF[L$ +9t$wUt$$4FƊGF tփtуt̃t9t$wUt$$EދL$ 1t3V褝_y[u1ۅ9t$wUt$$EƊCFuG=<.u>?u)D$$u1T$ 2BÅ@SdD$F.t$hnv1[^_]ÐPjjjt$OtÐ1Ð=t(Pjjj51tÐ=t 1Ð$Id: rcsutil.c,v 5.10 1991/10/07 17:32:46 eggert Exp $out of memoryD$uP豖_u hqÐt$t$_u hqÐS\$jl_u hqP[SD$uP0_Åu hqIj_u hq0P[VS5t^6_V_ޅu[^ÐST$9t C[9uK3螑_S蕑_[Wt$|$ 0҅uR[_…u hqtRʚ__ÐWt$ |$0҅uR_Džu hq-j_…u hqB:WV_D$D$_ÐWt$蚑_…t=R0׹ЅuP芔_u hqP__Ð1_LOGNAMEUSERno password entry for userid %luW=|$h0t_…tR0׹ЅuP菓_u hqP_1uD蠐_u6%P/_u%Ph=tW5z_HangupInterruptBroken pipeQuitTerminatedCputime limit exceededFilesize limit exceeded RCS: %s. Cleaning up. RCS: Signal %d. Cleaning up. @ÁWHE8=jW_t=_=1ҍO9$vw w0wMwMwMwMwMwMwMwMwMw(wMw8wMwMwMwMwMwMwMwMw@wHwu.u&uuuuut Rhu WhvD$ PD_ T$0׹HPRj贙_ `_ signalWVS=D$ w I D$ Ky|$wWj6_ t hw|$t-D$8L$ L$jW6ǔ_ t hw~Ky[^_Ð WVS$ $ $u@\$ Vh jS_uV[^_ WPS $t[^_ ÐWVSt$\$|$v5WhjV_=twWSjV΋_9t[^_/bin/sh: not found forkwaitpid%s failedUWVS\#ʖ_…4L$)˃tYj誈_hjU_ Dž|u%jjW_ Ws_uЃtU+t_jH_hhAU荏_ Dž|u(jjW趉_ W _uЃtUS3P_=< `uDyShDy0_0׹HPRj蚖_ j hLyj艖_ j7_} hYyjD$PRߕ_ } h^y|$tL$qhfyD$[^_]Ðtoo many command argumentsPVSD$`t$\t$D$ \$hD$dD$t#~ h{QʃACDuߍD$P[^P19%.*s/%.2s/%.2s %.2s:%.2s:%sSL$\$ ʐB<.uB PB PBPBPRQ)HP{y.u = }{PS譑_$[Ð%s isn't a number%s out of range %d..%dWVS|$w=t jVtN1G\PFЃ v>t Wh |*~~jjWh| [^_ÐRCSINITUWVSl$t$h|蚈_…tAR0׹ЅuP芋_u hqP_1ۅuL$1}ڐB<  <} t < uG名uP_u hq5NjL$9ڊ<  <} tF< uC鐉ECB<  <}t"< t<\u;t JCאB뮐u[^_]Ð=u谈_fÐ=u8_fÐsetuidroot setuid not supportedÐVS==uц_ff=u謆_ff5=uׇ_fff9tNPݍ_t h`~贾W_f9t*=u!g~ftl~Pf[^ÐVS==uM_ff=u؅_ff5=u_fff9tNP _t h`~胅_f9t*=u!g~ftl~P蒿[^ÐW$jW_t=_=1ҍO9$111111111 111111111$,u.u&uuuuut Rhu WhvD$ P`_ T$0׹HPRjЏ_ |$Id: rcsgen.c,v 5.10 1991/10/07 17:32:46 eggert Exp $UWVS\$l$t$|$ 9kuGV jtPU t1[^_]Ðhd[^_]Ðjjjjs ;uut jVj jtPs\ jV1tCP t1[^_]Ðcan't find delta for revision %sdelta number corruptedUWVSt$|$l$ӫt6hW{֭Åu h:hC>t+9u'h@9R5@FV=0 u&hC5t贊_t=0 thCɬ9t ű<t# tGt/t8[^_]Ð_ [^_]ÐV& [^_]Ðj=[^_]ÐVUWVSt$T$t?JCA< uy ty t AڐI9rѐy t y ty uI9r)[^_]Ð=u"=xujc_xxÐVS< `< `$t7=u"=xuj_x=xt#ϋS9SrS|_tC0C}RSE$tC=u"=xuj諂_x=xth `j x[^WVS=,=u"=xujS_x=x?D$Pt$h `谼 < `< `$t7=u"=xuj_x=xt#ϋS9SrSz_t C0C}RS$tC=u"=xuj{_x=xth `j H < `$< `t7=u"=xuj_x=xt&ϋV9VrVz_t FF}RV=$tC=u"=xuj裀_x=xth `j p؃ t< `$4ytYu [^_ÐntNu1[^_ËD$[^_ %s%c %s %cNOTE: This is NOT the log message! descriptiont-rUWVSt$,-(=htJ|$(uC5`hChU葺(Tj?T[^_]ÐT=ht jj@hChU5u.hhhÇhχY=p>-uF0Hh҇V{_…uVjhT$P,5 L$ T$Z9ZrRT$w_T$tB8B}RT$T$$u,9t$ wD$ PhT$,ƋT$ȈF뉐R^z_t蚱+5ljt$tEO\$D$B< uz tz t BԐJ9rːz t z tz uJ9rt$)T$L$\$ j55jUY]9]rj UNv_E E } U[^_]Ðenter %s, terminated with single '.' or end of file: %s>> can't reread redirected stdin for %s; use -%s<%s>>> UWVS\$(=u"=xuj|_x xL$tt$,Shlh `d< `$tSt$(Shj11< `< `$t8=u"=xuj=|_x=xteϋM9MrU0u_t EE}SUeE$tC=u"=xuj{_x=xth `j 藵\$< `$ub|$ u4t|7.ut|7 uNA|$th `hي貵^St$4 )L$09L$ >t?NCB< uz tz t BڐJ9rѐz t z tz uJ9r|$)T$D$T$[^_]Ð$Id: rcsedit.c,v 5.11 1991/11/03 01:11:44 eggert Exp $t$ς_1҅t=< `%ډedit script ends prematurelyedit script refers to line past end of filew+D$du?=uj%h5v_du 5ÐS\$jjj$ S5Y5W[ÐUWVS|$l$5t5dtjjWSV SVV|$ jj5dv_ td-duPd t$LP3tML$D$ u뒐[^_]0ÁUWVSt$D$D$WV$$2k_ t\9uPD$PCt$|$ʐM0$>/t SV$ x돐< `D$P< `ttEu?[^_]Ð1[^_]Ð< `([^_]Ð[^_]symbolic link to non RCS filename `%s'RCS filename `%s' incompatible with suffix `%s'RCS filename `%s' ends with `%c'rwTUWVSt$h\$p=(%D$VDD$ \$9\$} 1[^_]TÐ.U4lj)T$T$Ut$U7u$UhĠ衜< `1[^_]TÐ8uPWhv Ӑ8tGC?uC*GCu;_uj_Uh1 _T$D$ ^$h$hS,g_ D$=< `|$}+ D$$PS/k_|$t$lh<U? D$ =< `|$ tm|$tfh(z5l_1t=< `%ޅt=< `t 5W蘚Shh>t$`_(u 5Q=< `D$ [^_]TÐkeepdirtempL$9 tHyhXXXXXXcan't make temporary file name `%.*s%c_%cXXXXXX'UWVSl$|$uU[^_]Ðt$Ǎ4G PSt$S7_C0C5ffSSV[d_t>uE0Pj/t$Wh[^_]ÐUWVSt$u7k_uHMy[^_]VSD$ t$f\$t P˖PV\_t [^Ðt$Ve_1҅t=< `%ډ[^Ðmultiple revisions locked by %s; please specify oneUWVSl$1t'3Ph_uu{[u܅u(1[^_]ÐPhT[^_]ÐSU|$tC@ [[^_]revision %s already locked by %sVSt$ tOC06u53&P`g_u1[^36h\讗 [^Ð[uj nF sS[^Ðsymbolic name %s already bound to %sUWVS|$t$l$tQ3Vf_u9uWsf_u {[^_]sVh 1[^_]Ë[uj É3{S[^_]ÐSb3f9%Pr[Ðrootuser %s not on the access listWVS=t@f9t2f9%Pƿu [^_Ð56f9%PPpe_t=vuVf9%PPh蟕1[^_Ð[^_Ð %s%cWVSD$|$t^}1[^_Ð5( 5(55`hCh5(G=(=Th(螒5f_1҅t=< `%ډӋ5< ` 9 tHyhHwt5VC1[^_Ð[^_Ðbreaking hard link to %ssaved in %sUWVS|$}=Hp=ht!5(5hhhif=v5h輕{fm(5=t h(BPVIW_t (WVI`_1҅t=< `%ډӋ5< ` 9 tHyh脔to5Vۑ5h-t$u7md_uMy1[^_]Ð[^_]Ðt$CX_tÐ$Id: rcskeys.c,v 5.2 1991/08/19 03:13:55 eggert Exp $AuthorDateHeaderIdLockerLogRCSfileRevisionSourceState&-29<CGOX_UWVSl$ "9u<$t<:u [^_]Ð1[^_]ÐCA8tփNu1[^_]Ð$Id: rcsmap.c,v 5.2 1991/08/19 03:13:55 eggert Exp $    $Id: rcsfnms.c,v 5.8 1991/09/24 00:28:40 eggert Exp $RCSa-- adaasm;; bat:: c * c++// cccppcxxcl;;; cmdcmfc csel; fforhhpphxxllisplspmacme.\" mlmmmsppaspl% texy# Z\`\dhlptvz~~~~pvv~~vhıhȱ˱бӱ˱ֱ˱ٱv۱v߱vTMPDIRTMPTEMP/tmp%s%cT%cXXXXXXcan't make temporary file name `%s%cT%cXXXXXX'UWVSl$TX=uLhau6hKu h5u 0߹Ѓ PǍu0Vj/Sh WY_W U_t?uVj/Sh诋z0߹ЍpNt|3/t݉-(5<1=|$?.u4|$/u D$|$.u/u@D$|$?.t͋5< N<./uHtu0T$׹Ѝ\90sF=0t5,A@_0%090r50C,,VUS1D_ /Ct$SfI_,[^_]Ð$Id: rcskeep.c,v 5.4 1991/08/19 03:13:55 eggert Exp $rclosing %c missing on keyword UWVSt$ =,t[^_] Ð1u;jh5pt ƅu5pw1[^_] ÐhhhhLhhhh1ې$r|$N9NrV:_tFF}V)u$l$t t:tD$9v؈G뜃$t:u:N9NrV:_t FF}Vt$ t 2D$PP 9$hV^ÅcjjV NVM =V Å*hVS hVj jjVj tjjVY uF=H$pjjV2V hVj N9NrV8_tFF}V)s$t1ۃ$uu8tL8t8t 8uAN9NrV8_t FFWVr$DtVrj$huVs,[^_] badly terminated keyword valueVS\$ S9SrS7_t C0C}#Sr$th>u1[^Ðt$t$SV1[^Ðtoo much white space in keyword valueUWVST$t$ l$$t!jUT$]ML$T$ 1D$1$9$pppppppppppppppppppppppppppppppptsЈC9\$whD$PUVtu h\s[^_]Ðu|$(t 1[^_]Ðhs1[^_]ÐN9NrV5_tFFVT$p$T$h6s1[^_]Ð19%s%s %s %s$UWVS|$81D$,D$0l$,O9OrWY5_t GG}#Wo$thr1jUWSjD$$D$(l$$O9OrW4_t GG}#Wo$th:r1jUWS2D$D$ hD$ PO9OrW[4_t G0G}Wn$t1-t +l$jUT$f\$L$ L$1T$$9$tOЈC9\$wDD$PU2tu h\pohp1bO9OrW2_tGGWT$m$T$h.p1u 1O9OrW~2_tG0G}Wl$t1\$,0߹҉T$|$$ҋ|$ЋL$TDPhLRt$t$(Sк wCЃ w {/uPRhS5L~>_D$PD$$PD$,P[^_]$ÐUWVS\$t$ l$$uEN9NrV[1_t FF}Vk$t 1[^_]Ðڅt"jUT$j]ML$T$ 1D$1$9$ tOЈC9\$wDD$PU2tu h\mohm1{N9NrV/_tFFVT$ j$T$h*m1tuh[^_]Ð1[^_]ÐWVS\$1S9SrSU/_t C0C}#Si$thl11jhSVtj5t[^_ST$\$ 1ɀ:t:.tЃ v1[AB:u} ȃ[Ð9%[UVS|u1҃<tB8uӅt4|ЃKue[^US=tЃ;uhL._]U=uÐSL$ T$\$̀} أ [ÐVSt$ \$T$t'Ѐ:t@8u)PRV Su[^' : can't load library 'Incompatible version. Too many libraries. No such library. Permission denied. Exec format error. Unspecified error. ) ( UWVSl$|$,=,PV>̀} ى  jhX0h\uj9$jhs:jh.jh"jhjh jhj̀򐐋H %t 93D$ځ%9u 9}D$T$t;jhX0h\ujujhsjd̀򐐃>L[^_]þ,=,t.jhph0hj>u֐1۸̀[^_]/lib/libc.so.4Jump table 4.1,;`ibgcusr/bin/rcsdiff100755 2122 1750 142000 5316132315 12743 0ustar steinberert d-̀\ `-:D$4 `P`[̀rCopyright 1982,1988,1989 by Walter F. Tichy Purdue CS Copyright 1990,1991 by Paul Eggert$Id: rcsbase.h,v 5.11 1991/10/07 17:32:46 eggert Exp $rcsdiff$Id: rcsdiff.c,v 5.10 1991/10/07 17:32:46 eggert Exp $ rcsdiff usage: rcsdiff [-q] [-rrev1 [-rrev2]] [-Vn] [diff options] file ...,v//usr/bin/difftoo many revision numberstoo many -L options-%c needs following argument%sunknown option: %s%sno input file%s/usr/bin/co-q=================================================================== RCS file: %s rno revisions present-kkvlretrieving revision %s -pco faileddiff%s -r%s %s diff%s -r%s -r%s diff failedUWVS$HD$pD$tD$hD$lD$\D$LD$TD$XD$@D$DD$H8\$P D$4@@`ǃ |$0D$dPU$ $l$dnAVиH9$ttttttttttt(((t(ttttttttttt|tttD$\|$\t |$\tL$XL$ThnRtD$@|$@u h;tC9tAC9u$uhVhtE|$0D$0iCa̹T}=8RED$DP>}|$HWND$}!huhs1AE@9t}D$08D$0M$$~A<-q$hh$s\$4 19\$0v;0щL$t$9\$0wFPD$,L$,\$4 9\$0v ABu9\$0wD$8D$<|$@!|$@u |$0|$R0׹ЅuP_u hK iPv_1uD_u6%P_u%Phki5c_HangupInterruptBroken pipeQuitTerminatedCputime limit exceededFilesize limit exceeded RCS: %s. Cleaning up. RCS: Signal %d. Cleaning up. @ÁWHE8=jWn_t=_=̹1ҍO9$<.&%16AXt Rhp WhD$ P_ T$0׹HPRj,_ _ signalWVS=D$ < I D$ Ky|$<Wj6r_ t h@d|$t-D$L$ L$jW6?_ t h@dKy[^_Ð WVS$ $ $u@\$ Vh jSr_uVa[^_ WPS $t[^_ ÐWVSt$\$|$v5WhjVv_=t`wWSjVF_9t`[^_/bin/sh: not found forkwaitpid%s failedUWVSpb7bB_…4L$)˃tYj"_hjUj_ Dž|u%jjW_ W_uЃtUb+t_j_hhAU_ Dž|u(jjW._ W_uЃtUbS3_=< `uSh_0׹HPRj_ j hj_ j_} h"bjD$PRW_ } hb|$tL$qhcD$[^_]Ðtoo many command argumentsPVSD$`t$\t$D$ \$hD$dD$t#~ hecʃACDuߍD$P[^P19%.*s/%.2s/%.2s %.2s:%.2s:%sSL$\$ ʐB<.uB PB PBPBPRQ)HP y.u =Թ}"PS%_$[Ð%s isn't a number%s out of range %d..%dWVS|$w=t jVctN1G\PFЃ v>t Wh>b~~jjWh#bԹ[^_ÐRCSINITUWVSl$t$hP_…tAR0׹ЅuP_u hK aPr_1ۅuL$1}ڐB<  <} t < uG名uP_u hK IaNjL$9ڊ<  <} tF< uC鐉ECB<  <}t"< t<\u;t JCאB뮐u[^_]Ð=u(_fÐ=u_fÐsetuidroot setuid not supportedÐVS==uI_ff=u$_ff5=uO_fff9tNPU_t h]_f9t*=u!ftPz_[^ÐVS==u_ff=uP_ff5=u{_fff9tNP_t h\_f9t*=u!ftP^[^ÐW$jW_t=_=̹1ҍO9$ .&%16AXt Rhp WhD$ P_ T$0׹HPRjH_ $Id: rcsfnms.c,v 5.8 1991/09/24 00:28:40 eggert Exp $RCSa-- adaasm;; bat:: c * c++// cccppcxxcl;;; cmdcmfc csel; fforhhpphxxllisplspmacme.\" mlmmmsppaspl% texy# :<@<DHLPTVZ^b^e^i^mpuPy}V}}V^^VpHHVVVTMPDIRTMPTEMP/tmp%s%cT%cXXXXXXcan't make temporary file name `%s%cT%cXXXXXX'UWVSl$=uLh u6hu hu 0߹Ѓ PǍu0Vj/ShW_W-_t?uVj/ShkZ<[^_]ÐVStP_Ny[^ÐUWVSйXLdȹ<.р9tB8uр:u9-<u41t4)ЉD$AC|$t|$uu_%9r5h45s_|$$t5t$8t$80|$HPt$t$$t$0jU b|$ )58t$t$8t$8T$tu [^_]À;u[^_]ÐD$t$>0t1t$ Et$D5Ѓ v;0uC;0t1BЃ v9tr[^_]ËT$߉0tF*Gu#l$t$>tD$;?C9[^_]UWVSL$\$T$A<.uC<.uJu90uA90t1 ED Ѓ v;0uC;0t1BЃ v9r+uʉ߉0tF*G[^_]Ð[^_]Ð[^_]Ð and state and author a date before No revision on branch %s has%s%s%s%s%s%s.revisionbranch%s %s absentUWVSt$t$\$u [^_]Åu[^_]Ðt$>tր;tD$t$>0t1t$ Et$D5Ѓ v;0uC;0t1BЃ v9trwT$߉0tF*Gu%l$t$>.uD$;.uCL$ X1[^_]ÐVSt$ \$t$Vt@8.t8u@Ku@[^RCS file emptybranch number %s too lowrevision number %s too lowRevision %s has date %s.Revision %s has author %s.Revision %s has state %s.hUWVSD$PD$T=й|$ uh7u? T$||$|t t$|>uD$$WB<.uA:uL$$|$$0L$||$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9r#Ή߉0tF*GD$ D$|$}qj^t$ p$$v(t$ ID$Pt$|PD$P@8.t8u@Ku@t$Ph7+|$~1D$HD$Lj$\$PS Ph6:|$$|$ 7t$pL$|$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9r'Ή߉0tF*G_$$t$ ^u4}t;}0u E}0tD$ED$|$/Ѓ v;0u C;0t1BЃ v9T$t9T$sBߋL$0tF*Gu!l$\$}tE;MCG|H$tt$ v$C_u$$tJ|$ w$_t0jt$ p$$v(t$ |$ t~L$|$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9ru&ʉ߉0tF*G|$$t\$|5D$Pt$PmD$P@8.t8u@Ku@\$P$$u4P$t @6$u$u D64P$$u4P$tL6$uP64P$tD$8P$4P4$tY6PShi6V: j |$ x$$D$ [^_]hÐL$|t$ A<.uC<.uJu90uA90t1 ED Ѓ v;0uC;0t1BЃ v9r/uΉ߉0tF*GD$D$D$|$L$||$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9ruRΉ߉0tF*Gu0jt$ p$$v(t$ |$ tyL$||$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9ru"ʉ߉0tF*GtKD$Pt$|PTD$P@8.t8u@Ku@t$Ph77_|$$vQ|$tJD$HD$Lj$\$PSK Ph6h67 S[j]‹|$ z$$|$$v>R$$$t$4$t$8[^_]hÐ$ $t$|$ _u4t$>tÀ;>0uD$|$?0t1t$ E|$D=Ѓ v;0uC;0t1BЃ v9t 9sBDt$߉0tF*Gu%l$t$>tD$;UCO}4D$XP|$$wkPt$$6h8+6 1[^_]hÐ$t*|$ w$_twt$$6h08븃$t:|$ w$_t GuK8Pt$$6hS8w$mD$PPB1[^_]hÐno side branches present for %sbranch number %s too highpUWVS$D$,@D$ t$Xt$L$PL$|$ uqD$XD$\\$,K$t$ D$Xt@8.t8u@Ku@t$XhB4t$_1[^_]pÐt$ $8T$,EE<.uG<.uJu}0uE}0t1EC+Ѓ v?0uG?0t1B:Ѓ v9ru0tF*G~kL$ IL$ XD$XD$\\$,$t$ D$Xt@8.t8u@Ku@t$XhB}TD$PD$Tt$,$t$ PD$0$6t6Rh6Q3 t$t$ L$(L$,9$D$$$$t$L$(Yu4t$>u ;L$90uD$t$>0t1L$ Et$D5Ѓ v;0uC;0t1BЃ v9t9sFt$߉0tF*Gu%l$L$9tD$;AC;|P$tt$(v$_u,$tL$(q$_ut$(t$$L$(I(L$(|$$$$u4P$t!@6$u$u D64P$$u4P$tL6$uP64P$tD$@P$C4P4$tY6P$hi60 1[^_]pÐt$ $jL$(H$$I(L$(t$$9uj]L$(H$$D$([^_]pÐ$t$(.T$,tG<.uEE<.uJuG?0t1C;Ѓ v}0uE}0t1EB*Ѓ v9ruyى0tF*G}WD$XD$\\$,C$t$ D$Xt@8.t8u@Ku@t$Xh7j9L$(H$$L$$q(t$($>T$,tEE<.uG<.uJuE}0t1EC+Ѓ v?0uG?0t1B:Ѓ v9rY0tF*G7D$,@9$$L$$)T$,tG<.uEE<.uJuG?0t1C;Ѓ v}0uE}0t1EB*Ѓ v9ru"ى0tF*Gt[\$,CD$PD$TS$t$ i P$6t6Rh6- t$D$,@9$$$L$$Yu4}t;}0u E}0tD$ED$t$.Ѓ v;0u C;0t1BЃ v9T$t 9T$s>@ߋL$0tF*Gu!l$\$}tE;QCK}4D$`PL$(qPt$(6h8, 1[^_]pÐ$t.L$$q$c_tt$$vL$(1h08봃$t:t$$v$+_t FuK8PL$(1hS8st$$NL$ D$,$9t$,$D$$[^_]pÐjt$ t$ i Ðworking file lacks revision numberSymbolic number %s is undefined.improper revision number: %sUWVS|$jt$$JL$ 1t?u[^_]ËT$:$u_zuYt$$Fu 1[^_]Ð8uh\L*ڐPt$$뜐VhL*뷉L$ QT$D$l$/t_VMOG?0uGЃ v9t$wUt$$XƊGF vOF[L$ +9t$wUt$$ƊGF/tփtуt̃t9t$wUt$$ދL$ 1dt3V訿_y[u1ۅ9t$wUt$$ƊCFuG=<.u>?u)D$$u1T$ 2BÅ@SdD$F.t$hL)1[^_]ÐPjjjt$OtÐ1Ð=Xt(Pjjj5X1tÐ=йt й1Ð$Id: rcssyn.c,v 5.8 1991/08/19 03:13:55 eggert Exp $desclogtextaccessauthorbranchbranchescommentdateexpandheadlocksnextstatestrictsymbolsmissing ';' after '%s'%s isn't a delta numbermissing ':' in symbolic name definitionmissing number in symbolic name definitionmissing ':' in lockmissing number in lockunknown expand mode %.*sWVShOvRÅt3$t3h9P'йj uhOh"P'XhOt1ÅtXj uhOh"P5'hOLƅtj0X␐j +uhOh"P&hPzd/ƅtIj u hQP&+Åu hyP&j 葺0Xxj uhPh"PQ&hPƅtij bu hP&Åt3R$t3h9P%u hP%j 0Xx뎐j uhPh"P%hPȹtj uhPh"Pq%hOtE=uh b[j `uhOh"P%عhOPtu=uND$ D$|$ WÉVSع} SVhP$Wj uhOh"P$hO"[^_ÐkvkvlkvopTsTwTyT{TWT$0׹HPR_ÐUWVSl$\$T=Tt.2٨u<u-T[^_]Ð:uԸ[^_]Ð  t |0t#&5@WVSÅt3$t 3h9P@#߅u1[^_jj hO Gjj hOn Gjj h PZ GhOw[Åt3$t3h9P"tj譶pj uhOh"Pq"hPÅt3$t3h9P>"_(j juhPh"P"G GG8hOG W$[^_{utB H RuS\$hOt [Ð[Ðmissing %sWVSt$\$1V%9u=@ |$u Vh4WR!j uVh"P7![^_Ð%s %s; %s; %s %s:%s; %s; %s %s %c%s%c; VSt$ =йt йWPhOhWV2$=Xt"=Թ|5XhOhWV$VhO}#Lt3hWV# [uhPhWV# dts3hWV#[uhPhWV# tC03hWVn#[u=ȹthPhWVK# hWV=#=t:hOhWV!# j55jVhWV"=عt#j@ع4Tj@hOhWV"V55 V9Vrj V_F F } VD[^Ð %s %s %s; %s %s; %s %s; branches; %s %s; WVSt$|$~8FuWPh PvhOvhO6hYW"$^t0hWW! [u~(t F(WPhPhYW!Wv$v ۸ Wv(O^tW3<[u[^_Ðunexpected EOF in diff outputrVS\$jhZS ƅt0t$ t$ Vt$ t$ t$ jV [^ÐS1[^ÐWVS\$|$t1S9Srj@S>_C@C@} St$|$tq>@u2K9Krj@S_C@C@} S@S9SrPFSƤ_S%FC} S Ou|$t8|$ t1K9Krj S肤_C C } SS9Sr j@SQ_C@C@} S[^_Ð %s %s %s %c%c UWVS\$(t$,|$0l$4hOt$(hd\UjVSjUj@hOhm\Uq|$8O9OrW_tGG}W$@u2M9Mrj@Uc_E@E@} UM9MrPU/_U؈%EYUoKD$P.D$PUjVtL$|$tڐO9OrW_tGG}'W$t|$hZG@u2M9Mrj@U__E@E@} UM9MrPU+_U؈%E} Uo 7L$|$(j@ht\U [^_]ÐD$@@ Ðbad diff output line: %sdiff line number too large: %s%c%cdiff output command line too longbackward insertion in diff output: %sbackward deletion in diff output: %s%s UWVS$$ T$$N9NrV+_t FF}/V$t t hZj[^_]Å@u{V9VrVŠ_t FF} V@uD$@D$D$Ph^|$tSj@h_t$j|$$9w h_؈GN9NrV)_t FF}V$t hZj ut\$|$ u G t1+wt9sD$Ph^GCЃ vЃ u G t1/Dwl9sD$Ph^GCЃ v̅uuD$Ph^\59sD$Ph^D$$kkkkkkklkkkkklRhc N9NrV_t FFKVT$ T$59|$wt$t$NjN9NrV誔_tFF}VT$ T$ЈG t@t 뙐됋N9NrVR_tFF}VT$5 T$@}9|$wt$t$B@G(N9NrV_tFF}VT$T$|$4 |Y 9_ u,|$4|Y9_u|$4zI9OnL$2[^_] ÐUTC is not available; perhaps TZ is not set?U`=Թ}h`URЃu hÐ%.2d.%.2d.%.2d.%.2d.%.2d.%.2dL$ $`=Թ}h`RЃ…u h2rrr B@PBzc~lPhht$(Ê_ can't parse date/time: %sbad date/time: %s(WVSt$8|$ W\$SV~ u Vht$ SuVhD$ `=Թ}h`WЃ…u h2rrr B@PBzc~lPhht$X_ [^_(ÐHVST$Xu 1[^HÐD$0PRIÍD$Pt$VS u ShBt$VuSh#0,h,t$X_[^HÐ$Id: partime.c,v 5.6 1991/08/19 03:13:55 eggert Exp $januaryfebruarymarchaprilmayjunejulyaugustseptemberoctobernovemberdecembersundaymondaytuesdaywednesdaythursdayfridaysaturdaygmtutcutcutnzstjstkstisteetcetmetwetnstastestcstmstpstaksthasthstsstnzdtkdtbstndtadtedtcdtmdtpdtakdthadtltdstddstampmnoonmidnightń̄ք ބ   )-1480=AEIMQUY]a,ehimqvX{X0,hX<xą Ʌ/-.DUWVS1ۋT$\BBB BBBBD$$D$(D$0D$LD$H|$X|$DD$DD$ t$ ux|$Ps|$$|t$$t$`!TT$\z}BL$0}1Ƀ|$(|L$D$()ȋ|$`ًT$` [^_]DÐ|$ND$Ph@ȸ9$D(PL$\DL$\8L$0/jD$4P4@ ŠD$P@$tj|$8u{\$@` oT$4T$:Ѓ w\ؿdӃ;Kt$@D$)L$|$D$x+uۉ\$,݋T$T$DD$H|$<|$Lt$PL$(L$$UQ Wt$DЃ |$N8|$H-\$P` FЃ  ؿdӃ;L$PșD$)L$|$>+uۉ\$,D$,D$(Xl$P|$HuEdщQD$`D$ t$ 6D$UD$`P|$HT$\z}z|$L:uPdӉQD$`D$ t$ D$SD$`PO|$L,A|$L/6t$4D$8T$LT$tD$4Ѓ D$@@$|$L:bD$|$.D$\$T$8T$Lu{8T$Mt]|$D|$4D$HD$8T$LT$<|$P|$@D$8D$4P'D$t|$>uD$@xT$\z }Iz=D$8D$Mu>t T$\r|$\w |%t D$\p T$\r} D$AT$\zz z}vq|$D|$4D$HD$8T$LT$<|$P|$@D$4P<D$u|$@t51[^_]DÀ|$>tD$4Ѓ ]D$@@$LUD$` PQEPD$`P=ŔxUD$`P6냐UD$`Pit$ u|$P%[^_]DÐ|$N7|$HuZL$PȿdQD$`D$ t$ D$L$PșQt$`D$tv|$Ht$PD$`P`|$L:uBt$ ;|$N|$H~t$Pt$`fD$8} T$1ÐÐT$L$B(|# ~1Ð uBu0B *z܃:ׅ| uJu ttÐUWVSl$Uu 1[^_]Ð}} t[u?+t?-uGNNxaE DЉD$GȻ 9E u9L$}E 1[^_]ÐT$U NyhԅuW E tɸ[^_]ÐUWVS\$3s3SS C CCC ^i19$ؑؑؑؑؑؑؑؑؑؑؑؑؑؑؑؑؑؑؑؑؑؑؑؑؑؑؑؑؑؑؑؑؑؑؑؑ{u3r{u 3K cKC[^_]ÐC{u'AЃ wCC F9s8~-t~+u, C%AЃ C 9tKKC[^_]ÐFC[^_]ÃUWVS|$ 1ft$\$~/T$+D$AFtuT$̀} ى  jhL0hPuj9$xԣjhg:jh~.jh"jhjh jh͢j̀򐐋H %t 93D$ځ%9u 9}D$T$t;jhL0hPujujhgjd̀򐐃>L[^_]þ,=,t.jhph0hj>u֐1۸̀[^_]/lib/libc.so.4Jump table 4.1 /`ibgcusr/bin/rcsmerge100755 2122 1750 122000 5316132315 13130 0ustar steinberert d胉-̀\ `-:D$4 `2P`[̀r/usr/bin/coCopyright 1982,1988,1989 by Walter F. Tichy Purdue CS Copyright 1990,1991 by Paul Eggert$Id: rcsbase.h,v 5.11 1991/10/07 17:32:46 eggert Exp $rcsmerge$Id: rcsmerge.c,v 5.7 1991/11/20 17:58:09 eggert Exp $ rcsmerge usage: rcsmerge -rrev1 [-rrev2] [-p] [-Vn] file-q,v/too many revision numbersunknown option: %s%sno input file%sno base revision number giventoo many argumentsRCS file: %s rno revisions presentretrieving revision %s -pco failed; result to stdoutMerging differences between %s and %s into %s%s 8UWVSt$L\$PD$4D$8D$,D$0D$D$D$D$VVؘYD$(PSVt Ƌ\$(*B"9$D$ l:te|$uT$X|$u T$Kh]rؘ4+U';GPM}h3hwErN~B<-hhr|$u h rjjh SVP Su{t hjr5Xh/sjh5ܘl D$ |$ u 5ܘoO=pu h|qD$8uupD$t$ D$0Pt$ D D$$Pjjjt$<>0D$|$t D$8uupD$t$ D$0Pt$$GD BD$$Pjjjt$Wju 0Ņt(u=luhMn tjhcL$H1_ƅu T$D2kjheWh D$|$u WkVt$*t$FiVai| t t _Ny[^_]($Id: rcsutil.c,v 5.10 1991/10/07 17:32:46 eggert Exp $out of memoryD$uP=_u h7 lÐt$t${`u h7 lÐS\$j_u h7 lXPX[SD$uP_Åu h7 ]lj_u h7 DlXPX[VS5Xt^6v_Vm_ޅuX[^ÐST$XX9t C[9uK3*_S!_[Wt$|$ 0҅uR_…u h7 kRV`_ÐWt$ |$0҅uR_Džu h7 Akj_…u h7 &kXBX:W`D$D$_ÐWt$&_…t=R0׹ЅuP_u h7 jP`_Ð1_LOGNAMEUSERno password entry for userid %luW=8|$h _…tR0׹ЅuP_u h7 iP`18uD,_8u6%P_u%Ph ki858c8_HangupInterruptBroken pipeQuitTerminatedCputime limit exceededFilesize limit exceeded RCS: %s. Cleaning up. RCS: Signal %d. Cleaning up. `@`ÁW`H``E\8=\jW_`t=\_=l1ҍO9$( . &  " - D t Rh\ Whu D$ P_ T$0׹HPRj@` _ signalWVS=<<D$ ( I D$ Ky|$(Wj6_ t h,d|$t-D$L$ L$jW6S_ t h,dKy[^_Ð WVS$ $ $u@\$ Vh jS_uVa[^_ WPS $t[^_ ÐWVSt$\$|$v5WhjV_=t`wWSjVZ_9t`[^_/bin/sh: not found forkwaitpid%s failedUWVSpb7bV_…4L$)˃tYj6_hjU~_ Dž|u%jjW_ W_uЃtUb+t_j_hhAU_ Dž|u(jjWB_ W_uЃtUbS3_=< `uSh_0׹HPRj&_ j hj_ j_} h"bjD$PRk_ } hb|$tL$qhcD$[^_]Ðtoo many command argumentsPVSD$`t$\t$D$ \$hD$dD$t#~ hecʃACDuߍD$P[^P19%.*s/%.2s/%.2s %.2s:%.2s:%sSL$\$ ʐB<.uB PB PBPBPRQ)HP y.u =t}PS9_$[Ð%s isn't a number%s out of range %d..%dWVS|$w=@t jVc@tN1G\PFЃ v>t Wh>b~~jjWh#bt[^_ÐRCSINITUWVSl$t$h<&_…tAR0׹ЅuP_u h7 aP_1ۅuL$1}ڐB<  <} t < uG名uP_u h7 IaNjL$9ڊ<  <} tF< uC鐉ECB<  <}t"< t<\u;t JCאB뮐u[^_]Ð=HuH<_fDDÐ=PuP_fLLÐsetuidroot setuid not supporteddÐVS=d=PuP]_fLfL=PuP8_fLf5L=HuHc_fDfDf9tNPi_t h]_f9t*=Tu!TftPz_[^ÐVS=d=HuH_fDfD=PuPd_fLf5L=HuH_fDfDf9tNP_t h\_f9t*=Tu!TftP^[^ÐW$jW_`t=\_=l1ҍO9$ px . &  " - D t Rh\ Whu D$ P_ T$0׹HPRj\_ $Id: rcsfnms.c,v 5.8 1991/09/24 00:28:40 eggert Exp $RCSa-- adaasm;; bat:: c * c++// cccppcxxcl;;; cmdcmfc csel; fforhhpphxxllisplspmacme.\" mlmmmsppaspl% texy# &(,(048<@BFJNJQJUJY\a<eilBoruiwi{B}JJB\44rBBBTMPDIRTMPTEMP/tmp%s%cT%cXXXXXXcan't make temporary file name `%s%cT%cXXXXXX'UWVSl$=huLh hu6hhu hhu hh0߹Ѓ PǍu0Vj/ShW_WA_t?uVj/ShkZ<[^_]ÐVStP_Ny[^ÐUWVSpHhܘ.р9tB8uр:u9-ܘu 1t4)ЉD$AC|$t|$uu<,t҃Fċ<0щHC[^_]ÐVS\$ t$9ss6{t3_Cc9srs[^S\$T$ 9SsP{u,9SsEC9Ss c9Srs[ÐKMC9rP3[ËD$xt 0_ÐVST$ D$ƅtP2Pzt 2_ ؉[^WVS\$|$sV9SsLu*9SsCC9Ss c9SrsKMC9rP3 K[^_ÐUWVS\$l$;t0;Ѝp109CsN{u*9CsCC9Cs c9Crs\KMS9rR3cUP_[^_]ÐWVS\$t$09{s6{t3T_Cc9{rsV3_[^_ËD$ Bt /uÐS\$؉ڐ Bt /u)[ÃUWVS0|$HD$t$Ɖt$ؘڐtu [^_]À;u[^_]ÐD$t$>0t1t$ Et$D5Ѓ v;0uC;0t1BЃ v9tr[^_]ËT$߉0tF*Gu#l$t$>tD$;?C9[^_]UWVSL$\$T$A<.uC<.uJu90uA90t1 ED Ѓ v;0uC;0t1BЃ v9r+uʉ߉0tF*G[^_]Ð[^_]Ð[^_]Ð and state and author a date before No revision on branch %s has%s%s%s%s%s%s.revisionbranch%s %s absentUWVSt$t$\$u [^_]Åu[^_]Ðt$>tր;tD$t$>0t1t$ Et$D5Ѓ v;0uC;0t1BЃ v9trwT$߉0tF*Gu%l$t$>.uD$;.uCL$ X1[^_]ÐVSt$ \$t$Vt@8.t8u@Ku@[^RCS file emptybranch number %s too lowrevision number %s too lowRevision %s has date %s.Revision %s has author %s.Revision %s has state %s.hUWVSD$PD$T=p|$ uh4u? T$||$|t t$|>uD$$WB<.uA:uL$$|$$0L$||$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9r#Ή߉0tF*GD$ D$|$}qj^t$ p$$v(t$ ID$Pt$|PD$P@8.t8u@Ku@t$Ph4+|$~1D$HD$Lj$\$PS Ph3:|$$|$ 7t$pL$|$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9r'Ή߉0tF*G_$$t$ ^u1}t;}0u E}0tD$ED$|$/Ѓ v;0u C;0t1BЃ v9T$t9T$sBߋL$0tF*Gu!l$\$}tE;MCG|H$tt$ v$W_u$$tJ|$ w$3_t0jt$ p$$v(t$ |$ t~L$|$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9ru&ʉ߉0tF*G|$$t\$|5D$Pt$PmD$P@8.t8u@Ku@\$P$$u1P$t ,3$u$u 031P$$u1P$t83$u<31P$tD$8P$1P1$tE3PShU3V: j |$ x$$D$ [^_]hÐL$|t$ A<.uC<.uJu90uA90t1 ED Ѓ v;0uC;0t1BЃ v9r/uΉ߉0tF*GD$D$D$|$L$||$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9ruRΉ߉0tF*Gu0jt$ p$$v(t$ |$ tyL$||$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9ru"ʉ߉0tF*GtKD$Pt$|PTD$P@8.t8u@Ku@t$Ph47_|$$vQ|$tJD$HD$Lj$\$PSK Ph3h37 S[j]‹|$ z$$|$$v>R$$$t$4$t$8[^_]hÐ$ $t$|$ _u1t$>tÀ;>0uD$|$?0t1t$ E|$D=Ѓ v;0uC;0t1BЃ v9t 9sBDt$߉0tF*Gu%l$t$>tD$;UCO}4D$XP|$$wkPt$$6h5+6 1[^_]hÐ$t*|$ w$_twt$$6h5븃$t:|$ w$_t Gu75Pt$$6h?5w$mD$PPB1[^_]hÐno side branches present for %sbranch number %s too highpUWVS$D$,@D$ t$Xt$L$PL$|$ uqD$XD$\\$,K$t$ D$Xt@8.t8u@Ku@t$Xh?4t$_1[^_]pÐt$ $8T$,EE<.uG<.uJu}0uE}0t1EC+Ѓ v?0uG?0t1B:Ѓ v9ru0tF*G~kL$ IL$ XD$XD$\\$,$t$ D$Xt@8.t8u@Ku@t$Xh?}TD$PD$Tt$,$t$ PD$0$3t3Rh3Q3 t$t$ L$(L$,9$D$$$$t$L$(Yu1t$>u ;L$90uD$t$>0t1L$ Et$D5Ѓ v;0uC;0t1BЃ v9t9sFt$߉0tF*Gu%l$L$9tD$;AC;|P$tt$(v$_u,$tL$(q$_ut$(t$$L$(I(L$(|$$$$u1P$t!,3$u$u 031P$$u1P$t83$u<31P$tD$@P$C1P1$tE3P$hU30 1[^_]pÐt$ $jL$(H$$I(L$(t$$9uj]L$(H$$D$([^_]pÐ$t$(.T$,tG<.uEE<.uJuG?0t1C;Ѓ v}0uE}0t1EB*Ѓ v9ruyى0tF*G}WD$XD$\\$,C$t$ D$Xt@8.t8u@Ku@t$Xh4j9L$(H$$L$$q(t$($>T$,tEE<.uG<.uJuE}0t1EC+Ѓ v?0uG?0t1B:Ѓ v9rY0tF*G7D$,@9$$L$$)T$,tG<.uEE<.uJuG?0t1C;Ѓ v}0uE}0t1EB*Ѓ v9ru"ى0tF*Gt[\$,CD$PD$TS$t$ i P$3t3Rh3- t$D$,@9$$$L$$Yu1}t;}0u E}0tD$ED$t$.Ѓ v;0u C;0t1BЃ v9T$t 9T$s>@ߋL$0tF*Gu!l$\$}tE;QCK}4D$`PL$(qPt$(6h5, 1[^_]pÐ$t.L$$q$w_tt$$vL$(1h5봃$t:t$$v$?_t Fu75PL$(1h?5st$$NL$ D$,$9t$,$D$$[^_]pÐjt$ t$ i Ðworking file lacks revision numberSymbolic number %s is undefined.improper revision number: %sUWVS|$jt$$JL$ 1t?u[^_]ËT$:$u_zuYt$$/u 1[^_]Ð\8uhHI*ڐPt$$뜐VhkI*뷉L$ QT$D$l$,t_VMOG?0uGЃ v9t$wUt$$XƊGF vOF[L$ +9t$wUt$$ƊGF,tփtуt̃t9t$wUt$$ދL$ 1t3V_y[u1ۅ9t$wUt$$ƊCFuG=<.u>?u)D$$u1T$ 2BÅ@SdD$F.t$hI)1[^_]ÐPjjjt$OtÐ1Ð=t(Pjjj51tÐ=pt p1Ð$Id: rcssyn.c,v 5.8 1991/08/19 03:13:55 eggert Exp $desclogtextaccessauthorbranchbranchescommentdateexpandheadlocksnextstatestrictsymbolsmissing ';' after '%s'%s isn't a delta numbermissing ':' in symbolic name definitionmissing number in symbolic name definitionmissing ':' in lockmissing number in lockunknown expand mode %.*sWVSThLvRÅt3$t3h%M'pj uhLhM'hLt1Åtj uhLhM5'hLƅtj0X␐j +uhLhM&hMz/ƅtIj u h=M&+Åu heM&j 葺0Xxj uhMhMQ&hLHƅtij bu hM&Åt3R$t3h%M%u hM%j 0Xx뎐j uhLhM%hLhtj uhLhMq%hLtE=uhb[j `uhLhM%xhLPtu=uND$ D$|$ WÉVSx} SVhM$Wj uhLhM$hL"[^_Ðkvkvlkvo\Q_QcQeQgQWT$0׹HPR_ÐUWVSl$\$lQ=lQt.2٨u<u-lQ[^_]Ð:uԸ[^_]Ð  t |0t#&5WVSÅt3$t 3h%M@#߅u1[^_jj hL Gjj hLn Gjj hLZ GhLw[Åt3$t3h%M"tj譶pj uhLhMq"hLÅt3$t3h%M>"_(j juhLhM"G GG8hLG W$T[^_{uHtB H RuS\$hLt [Ð[Ðmissing %sWVSt$\$1V%9u= |$u Vh TR!j uVhM7![^_Ð%s %s; %s; %s %s:%s; %s; %s %s %c%s%c; VSt$ =pt pTPhLhTV2$=t"=t|5hLhTV$VhL}#t3hTV# [uhMhTV# ts3hTV#[uhLhTV# HtC03hTVn#[u=hthLhTVK# hTV=#=t:hLhTV!# j55jVhTV"=xt#j@x4lQj@hLhTV"V55 V9Vrj V_F F } VD[^Ð %s %s %s; %s %s; %s %s; branches; %s %s; WVSt$|$~8FuTPhLvhLvhL6hVW"$^t0hTW! [u~(t F(TPhLhVW!Wv$v ۸ Wv(O^tW3<[u[^_Ðunexpected EOF in diff outputrVS\$jhWS ƅt0t$ t$ Vt$ t$ t$ jV [^ÐS1[^ÐWVS\$|$t1S9Srj@SR_C@C@} St$|$tq>@u2K9Krj@S_C@C@} S@S9SrPFSڧ_S%FC} S Ou|$t8|$ t1K9Krj S薧_C C } SS9Sr j@Se_C@C@} S[^_Ð %s %s %s %c%c UWVS\$(t$,|$0l$4hLt$(hPYUjVSjUj@hLhYYUq|$8O9OrW_tGG}W$@u2M9Mrj@Uw_E@E@} UM9MrPUC_U؈%EYUoKD$P.D$PUjVtL$|$tڐO9OrW&_tGG}'W$t|$hWG@u2M9Mrj@Us_E@E@} UM9MrPU?_U؈%E} Uo 7L$|$(j@h`YU [^_]ÐD$@@ Ðbad diff output line: %sdiff line number too large: %s%c%cdiff output command line too longbackward insertion in diff output: %sbackward deletion in diff output: %s%s UWVS$$ T$$N9NrV?_t FF}/V$t t hWj[^_]Å@u{V9VrV٣_t FF} V@uD$@D$D$Ph[|$tSj@h\t$j|$$9w h\؈GN9NrV=_t FF}V$t hWj ut\$|$ u G t1+wt9sD$Ph[GCЃ vЃ u G t1/Dwl9sD$Ph[GCЃ v̅uuD$Ph[\59sD$Ph[D$_tGD$G D$|$} Wt:N9NrD$PV蜜_VD$%F} V L$,tt tu+D$EE9l$QD$PhȐ趹8E5Ȑ] O9OrWJ_tGD$G D$|$} Wt:N9NrD$PV訛_VD$%F} V L$ [^_]ÐWVS=5Ԙ,tt=1[^_ÐK9KrSt_t C8C}S1 $t [^_ÐtN9NrPV̚_VȈ%F[V MD$9t1ÐÐ= u/5t$_u51Ðmissing '%s' keywordS\$= u*5S蒧_u5ģP[ÐShLfmissing string after '%s' keywordS\$= u*5S*_u5\ShLf=t Shf[ÐS= t1[Ð[ÐS= t1[ÐĐ[ÐUWVS= ut$,5艦_u11؉[^_]Ð̘ lu̘5h_5ԘD$ D$$5\$$S85V0|$ H|$ L$ L$$L$L$L$\$9|$wt$t$T$NjT$ЈG,K 9r>$xhhhhhhhihhhhhiRh` N9NrV_t FFKVT$ T$59|$wt$t$NjN9NrV辗_tFF}VT$ T$ЈG t@t 뙐됋N9NrVf_tFF}VT$5 T$@}9|$wt$t$B@G(N9NrV_tFF}VT$T$<,uh9|$wt$t$T$ϳNjT$ЈGN9NrV苖_t FF}VT$]T$,tt %N9NrV4_u붐,l$,@N9NrV_tFF}VT$T$EtE9t}u;,t/| }#t$,t G\$,99|$wt$t$T$}NjT$ CG9r1+D$ PD$$P[^_]ÐWVS=ԘO9OrW_tG0G} Wt8K9KrPS^_SȈ%C} S t @t낐uO9OrWj_tG0G} W=t8K9KrPSғ_SȈ%C} S@5[^_ÐWVS `5ԘN9NrVғ_tFF} V t @t RHN9NrV膓_tFF} VY@t [^_ÐO9OrPW_W؈%G=W/UWVS=Ԙ|$L$$)y|$L$y9yrt$ϒ_tL$A0A} t$t9{9{rPS3_S%C} Sa t @tL$y9yrt$3_tL$A0A} t$t9{9{rPS藑_S%C} S@t)5L$$9|$)l$D$T$[^_]Ð9l$uD$Pt$(谮ʼnȈEEinvalid character %c in identifier `%s'identifier `%s' doesn't start with letterVSL$ \$,tulA‹,tttt߄tot8tg tb t] tXАA t t tt8uVPhtoA t t tt8uVho[^Ðjt$9Ð`%s' is not a regular file@WVS|$PjW_ƅ} 1[^_@Ë\$Xu\$ SV_tWtfCf%f=t*WhpV:_< `1[^_@t$TVʒ_uW%[^_@Ðoutput error=Иt肕ИhLqunexpected end of filehqinput errorhqD$$ t hqÐD$$ t"=ИtИhLq\ÐD$tPʑ_t hq9ÐD$t0P覑_t#=Иt蕔ИhLqÐS\$tPg_t hq[S\$t1P;_t$=Иt*ИhLq[ËT$$ t hqt$t hqÐjjt$ 諑_ t hqBÐh `_t=ИuИhLqÐdu `P謐_t=ИuИhLqÐ %s aborted %s error: t$5< `Ðdu `PD_t=ИuИhLqhhhsh ` T$< `t$踕_h `_t =ИuИhLqÐt$5< `du `P萏_t=ИuИhLqhhsh `_ T$< `t$ _hhsh `蓏_ du `P _t=ИuИhLq0hhsh ` D$Pt$h `| h `j h `蜎_t=ИuИhLqÐ%s: %s:%lu: du `PP_t=ИuИhLqt55Xhhuh `t_D$Pt$h ` hhsh `G_ 裐du `P_t=ИuИhLqhhsh `_ D$Pt$h `6 hhsh `Í_ %s warning: du `P,_t=ИuИhLqPhhvh ` D$Pt$h ` h `j h `Œ_t=ИuИhLqÐredefinition of -%c optiont$hw.Ð=ludu `PK_t =ИuИhLqoD$Pt$h ` h `_t=ИuИhLq(ÐSD$\$ K9Kr%PS/_S%C}+$ t%=Иt_ИhLq[Ðt$t$_}$=Иt"ИhLqÐt$ t$ t$ c_ }$=ИtИhLqHÐD$ Pt$ t$ "_ }#=Иt衍ИhLqÐ$Id: rcskeep.c,v 5.4 1991/08/19 03:13:55 eggert Exp $rclosing %c missing on keyword UWVSt$ =t[^_] Ð1u;jhy5ܘ ƅu5ܘ1[^_] Ðhyhhyhhyh\ԤhyhL¤1ې$r|$N9NrV^_tFF}V$l$t t:tD$9v؈G뜃$t:u:N9NrV_t FF}V$ t 2D$PD P 9$`{{{{{L|L|L|X|L|d|hV^ÅcjjV NVM =V Å*hVS hLVj jjVj tjjVY uF=$pjjV2V hLVj N9NrV^_tFF}V$t1ۃ$uu8t8t\8t L8uAN9NrV_t FFWV$DtVj$hyV[^_] badly terminated keyword valueVS\$ S9SrSL_t C0C}#S $thh}.1[^Ðt$t$SV1[^Ðtoo much white space in keyword valueUWVST$t$ l$$t!jUT$͞]ML$T$ 1D$1$9$t~l0l0TtsЈC9\$whD$PUVtu h}[^_]Ðu|$(t 1[^_]Ðhh}1[^_]ÐN9NrVV_tFFVT$ $T$hh}&1[^_]Ð19%s%s %s %s$UWVS|$81D$,D$0l$,O9OrW_t GG}#W}$thh}1jUWSjD$$D$(l$$O9OrWI_t GG}#W$thh}*1jUWS2D$D$ hyD$ PO9OrW_t G0G}W$t1-t +l$jUT$蚛\$L$ L$1T$$9$x44444444\x444444444444444444444\444xtOЈC9\$wDD$PU轛2tu h}ohh}~1bO9OrWN~_tGGWT$$T$hh}1u 1O9OrW}_tG0G}W$t1\$,0߹҉T$|$$ҋ|$ЋL$TDPh膙t$t$(Sкy wCЃ w {/uRh5_D$PݙD$$PЙD$,PÙ[^_]$ÐUWVS\$t$ l$$uEN9NrV|_t FF}V$t 1[^_]Ðڅt"jUT$螘]ML$T$ 1D$1$9$|88888888`|888888888888888888888`888|tOЈC9\$wDD$PU蹘2tu h}ohh}z1{N9NrVJ{_tFFVT$$T$hh}1tu[^_]Ð1[^_]ÐWVS\$1S9SrSz_t C0C}#Sy$thh}11jh\SVtj5\t[^_ST$\$ 1ɀ:t:.tЃ v1[AB:u} ȃ[Ð9%[$Id: rcskeys.c,v 5.2 1991/08/19 03:13:55 eggert Exp $AuthorDateHeaderIdLockerLogRCSfileRevisionSourceState!&-07;CLSUWVSl$ "9u<$t<:u [^_]Ð1[^_]ÐCA8tփNu1[^_]ÐUVSu1҃<tB8uӅt4ЃKue[^US=tЃ;uh܇By_]U=uÐSL$ T$\$̀} أ [ÐVSt$ \$T$t'Ѐ:t@8u)PRV Su[^' : can't load library 'Incompatible version. Too many libraries. No such library. Permission denied. Exec format error. Unspecified error. ) ( UWVSl$|$,=,PV>̀} ى  jh0huj9$p|jh:jh.jh/"jhAjhU jhij̀򐐋H %t 93D$ځ%9u 9}D$T$t;jh0hujujhjd̀򐐃>L[^_]þ,=,t.jh}ph0hj>u֐1۸̀[^_]/lib/libc.so.4Jump table 4.1ˋ`ibgcusr/bin/merge100755 2122 1750 122000 5316132315 12420 0ustar steinberert d-̀\ `-:D$4 `P`[̀r merge: usage: merge [-p] [-q] [-L label1 [-L label3]] file1 file2 file3 unknown option: %s%sCopyright 1982,1988,1989 by Walter F. Tichy Purdue CS Copyright 1990,1991 by Paul Eggert$Id: rcsbase.h,v 5.11 1991/10/07 17:32:46 eggert Exp $merge$Id: merge.c,v 1.2 1991/08/19 03:13:55 eggert Exp $too many -L options-L needs following argumentnot enoughtoo many%s arguments%sUWVSt$(\$,舂11B]=lu|$8u =|u?=luSht+|$<t =lS5lO|$t=dt5ܘh=Ԙt [^_]ø[^_]ÐPWDworking directoryUWVSX8/9-D?h8GQÅP=TsL=Tt5P_T =T{=Tr5TNP5T5Pk_Åuz=< `"ua=T}9s̃=Tt5Pt_T =T~9Tr5TVN|u h<0߹ЍpNt|3/t݉-D5X1=X|$?.u4|$/u D$|$.u/u@D$|$?.t͋5X N<./uHtu0T$׹Ѝ\9LsF=Lt5He_L%L9Lr5LOMHHVUSU_ /Ct$S_H[^_]Ð$Id: rcslex.c,v 5.11 1991/11/03 03:30:44 eggert Exp $Unknown phrases like `%s ...;' are in the RCS file. lu5hÐJy=ԘjhԘH9HrP/_tԘP@}5ԘÐunknown character `%c'UWVS5=Ԙ L$L$2S 9r=$P$t$hRO9OrW@_tGD$G D$|$} W3PN9NrD$PV_VD$%FV - L$D$EEO9OrW_tGD$G D$|$} Wt:N9NrD$PV_VD$%F} VML$2tu-D$EE9l$[D$Ph,BE=t{=1Ҁ?t C;uй14t3W_t's,搐j$!!!!!!!,"!!!!!#Rh N9NrV_t FFKVT$ T$59|$wt$t$NjN9NrV_tFF}VT$ T$ЈG t@t 뙐됋N9NrV>_tFF}VT$5 T$@}9|$wt$t$*@G(N9NrV_tFF}VT$T$<2uh9|$wt$t$T$NjT$ЈGN9NrVc_t FF}VT$]T$2tt %N9NrV _u붐2l$,@N9NrV_tFF}VT$T$EtE9t}u;2t/| }#t$,B G\$,99|$wt$t$T$eNjT$ CG9r1+D$ PD$$P[^_]ÐWVS=ԘO9OrW_tG0G} Wt8K9KrPS6_SȈ%C} S t @t낐uO9OrWB_tG0G} W=t8K9KrPS_SȈ%C} S@5[^_ÐWVS `5ԘN9NrV_tFF} V t @t RHN9NrV^_tFF} VY@t [^_ÐO9OrPW_W؈%G=W/UWVS=Ԙ|$L$$)y|$L$y9yrt$_tL$A0A} t$t9{9{rPS _S%C} Sa t @tL$y9yrt$ _tL$A0A} t$t9{9{rPSo_S%C} S@t)5L$$9|$)l$D$T$[^_]Ð9l$uD$Pt$(ʼnȈEEinvalid character %c in identifier `%s'identifier `%s' doesn't start with letterVSL$ \$2tulA‹2tttt߄tot8tg tb t] tXАA t t tt8uVPh(A t t tt8uVh([^Ðjt$9Ð`%s' is not a regular file@WVS|$PjW_ƅ} 1[^_@Ë\$Xu\$ SV_tWtfCf%f=t*Wh)V_< `1[^_@t$TV_uW%[^_@Ðoutput error=tVht*unexpected end of fileh*input errorh*D$$ t h*ÐD$$ t"=tht*\ÐD$tP_t h*9ÐD$t0P~_t#=tiht*ÐS\$tP?_t h*[S\$t1P_t$=tht*[ËT$$ t h*t$t h*Ðjjt$ _ t h*BÐh `_t=uht*Ðdu `P_t=uht*Ð %s aborted %s error: t$5< `Ðdu `P_t=uht*hh/h,h ` T$< `t$_h `_t =uht*Ðt$5< `du `Ph_t=uht*h/h,h `_ T$< `t$_h/h,h `k_ du `P_t=uht*0h/h,h ` D$Pt$h `| h `j h `t_t=uht*Ð%s: %s:%lu: du `P(_t=uht*t55Xh/h.h `L_D$Pt$h ` h/h,h `_ wdu `P_t=uht*h/h,h `_ D$Pt$h `6 h/h,h `_ %s warning: du `P_t=uht*Ph/h/h ` D$Pt$h ` h `j h `_t=uht*Ðredefinition of -%c optiont$h0.Ð=ludu `P#_t =uht*oD$Pt$h ` h `_t=uht*(ÐSD$\$ K9Kr%PS_S%C}+$ t%=t3ht*[Ðt$t$_}$=tht*Ðt$ t$ t$ ;_ }$=tht*HÐD$ Pt$ t$ _ }#=tuht*Ð$Id: rcsmap.c,v 5.2 1991/08/19 03:13:55 eggert Exp $    $Id: rcsrev.c,v 5.3 1991/08/19 03:13:55 eggert Exp $T$u1Ð:tB<.uA:uVS\$ t$SVڅt:u1B<.uA:u$uB<.uIuB[^ÐUWVSt$t$uD$|7\$u|7t$>u [^_]À;u[^_]ÐD$t$>0t1t$ Et$D5Ѓ v;0uC;0t1BЃ v9tr[^_]ËT$߉0tF*Gu#l$t$>tD$;?C9[^_]UWVSL$\$T$A<.uC<.uJu90uA90t1 ED Ѓ v;0uC;0t1BЃ v9r+uʉ߉0tF*G[^_]Ð[^_]Ð[^_]Ð and state and author a date before No revision on branch %s has%s%s%s%s%s%s.revisionbranch%s %s absentUWVSt$t$\$u [^_]Åu[^_]Ðt$>tր;tD$t$>0t1t$ Et$D5Ѓ v;0uC;0t1BЃ v9trwT$߉0tF*Gu%l$t$>.uD$;.uCL$ X1[^_]ÐVSt$ \$t$Vt@8.t8u@Ku@[^RCS file emptybranch number %s too lowrevision number %s too lowRevision %s has date %s.Revision %s has author %s.Revision %s has state %s.hUWVSD$PD$T=p|$ uh: T$||$|t t$|>uD$$WB<.uA:uL$$|$$0L$||$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9r#Ή߉0tF*GD$ D$|$}qj)t$ p$$v(t$ ID$Pt$|PD$P@8.t8u@Ku@t$Ph:+|$~1D$HD$Lj$\$PS Phs9:|$$|$ 7t$pL$|$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9r'Ή߉0tF*G_$$t$ ^u|7}t;}0u E}0tD$ED$|$/Ѓ v;0u C;0t1BЃ v9T$t9T$sBߋL$0tF*Gu!l$\$}tE;MCG|H$tt$ v$c_u$$tJ|$ w$?_t0j]'t$ p$$v(t$ |$ t~L$|$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9ru&ʉ߉0tF*G|$$t\$|5D$Pt$PD$P@8.t8u@Ku@\$P$$u|7P$t 9$u$u $9|7P$$u|7P$t,9$u09|7P$tD$8P$//|7P|7$t99PShI9 j%|$ x$$D$ [^_]hÐL$|t$ A<.uC<.uJu90uA90t1 ED Ѓ v;0uC;0t1BЃ v9r/uΉ߉0tF*GD$D$D$|$L$||$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9ruRΉ߉0tF*Gu0j0$t$ p$$v(t$ |$ tyL$||$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9ru"ʉ߉0tF*GtKD$Pt$|PpD$P@8.t8u@Ku@t$Ph:3_|$$vQ|$tJD$HD$Lj$\$PSK Ph|9h9 Swj"‹|$ z$$|$$v>R$$$t$4$t$8[^_]hÐ$ $t$|$ _u|7t$>tÀ;>0uD$|$?0t1t$ E|$D=Ѓ v;0uC;0t1BЃ v9t 9sBDt$߉0tF*Gu%l$t$>tD$;UCO}4D$XP|$$w*Pt$$6h:_ 1[^_]hÐ$t*|$ w$_twt$$6h;븃$t:|$ w$_t Gu+;Pt$$6h3;w$mD$PP^1[^_]hÐno side branches present for %sbranch number %s too highpUWVS$D$,@D$ t$Xt$L$PL$|$ uqD$XD$\\$,K$t$ ,D$Xt@8.t8u@Ku@t$XhtEt${1[^_]pÐt$ $8T$,EE<.uG<.uJu}0uE}0t1EC+Ѓ v?0uG?0t1B:Ѓ v9ru0tF*G~kL$ IL$ XD$XD$\\$,$t$ D$Xt@8.t8u@Ku@t$XhE}TD$PD$Tt$,$t$ PD$0$|9ts9Rh9 t$t$ L$(L$,9$D$$$$t$L$(Yu|7t$>u ;L$90uD$t$>0t1L$ Et$D5Ѓ v;0uC;0t1BЃ v9t9sFt$߉0tF*Gu%l$L$9tD$;AC;|P$tt$(v$'_u,$tL$(q$_ut$(t$$L$(I(L$(|$$$$u|7P$t! 9$u$u $9|7P$$u|7P$t,9$u09|7P$tD$@P$%|7P|7$t99P$hI9 1[^_]pÐt$ $j L$(H$$I(L$(t$$9ujL$(H$$D$([^_]pÐ$t$(.T$,tG<.uEE<.uJuG?0t1C;Ѓ v}0uE}0t1EB*Ѓ v9ruyى0tF*G}WD$XD$\\$,C$t$ D$Xt@8.t8u@Ku@t$Xh:jL$(H$$L$$q(t$($>T$,tEE<.uG<.uJuE}0t1EC+Ѓ v?0uG?0t1B:Ѓ v9rY0tF*G7D$,@9$$L$$)T$,tG<.uEE<.uJuG?0t1C;Ѓ v}0uE}0t1EB*Ѓ v9ru"ى0tF*Gt[\$,CD$PD$TS$t$ i P$|9ts9Rh9 t$D$,@9$$$L$$Yu|7}t;}0u E}0tD$ED$t$.Ѓ v;0u C;0t1BЃ v9T$t 9T$s>@ߋL$0tF*Gu!l$\$}tE;QCK}4D$`PL$(qS!Pt$(6h: 1[^_]pÐ$t.L$$q$胿_tt$$vL$(1h;봃$t:t$$v$K_t Fu+;PL$(1h3;st$$NL$ D$,$9t$,$D$$[^_]pÐjt$ t$ i Ðworking file lacks revision numberSymbolic number %s is undefined.improper revision number: %sUWVS|$jt$$fL$ 1t?u[^_]ËT$:$u_zuYt$$%u 1[^_]Ð\8uh?u)D$$u1T$ 2BÅ@SdD$F.t$hOJ1[^_]ÐPjjjt$OtÐ1Ð=t(Pjjj51tÐ=pt p1Ð$Id: rcssyn.c,v 5.8 1991/08/19 03:13:55 eggert Exp $desclogtextaccessauthorbranchbranchescommentdateexpandheadlocksnextstatestrictsymbolsmissing ';' after '%s'%s isn't a delta numbermissing ':' in symbolic name definitionmissing number in symbolic name definitionmissing ':' in lockmissing number in lockunknown expand mode %.*sWVSThRÅt3$t3hSpj uhRhShRt1 Åtj uhRhSihRƅtj0X␐j _uhRhShRcƅtIj "u h1S_Åu hYSj 0Xxj uhRhShR"Hƅtij u hSMÅt3R$t3hS'u hSj e0Xx뎐j 'uhRhShR"htj uhRhShRtE=uhj uhRhSFxhRtu=uND$ D$|$ W&ÉVSx} SVhSW躲j uhRhShRV[^_ÐkvkvlkvoPWSWWWYW[WWT$0׹HPR_ÐUWVSl$\$`W=`Wt.2٨u<u-`W[^_]Ð:uԸ[^_]Ð t |0t#&5WVS Åt3$t 3hSt߅u1[^_jj hR Gjj hRn Gjj hRZ GhRwÅt3$t3hStj- pj uhRhShRBÅt3$t3hSr_(j uhRhSPG GG8hRG W$T[^_{uHtB H RuS\$hRt [Ð[Ðmissing %sWVSt$\$1VY9u=ǿ|$u VhZj uVhSk[^_Ð%s %s; %s; %s %s:%s; %s; %s %s %c%s%c; VSt$ =pt pZPhRhZVf=t"=t|5hRhZV;VhRt3hZV [uhRhZV ts3hZV[uhRhZV HtC03hZV[u=hthRhZV hZVq=t:hRhZVU j55jVhZV.=xt#j@x4`Wj@hRhZVV55e V9Vrj V_F F } Vx[^Ð %s %s %s; %s %s; %s %s; branches; %s %s; WVSt$|$~8FuZPhRvhRvhR6h\W<$^t0hZW! [u~(t F(ZPhRh\WWv$v [ Wv(O^tW3<[u[^_Ðunexpected EOF in diff outputrVS\$jh]S ƅt0t$ t$ Vt$ t$ t$ jV?[^ÐS1[^ÐWVS\$|$t1S9Srj@S^_C@C@} St$|$tq>@u2K9Krj@S_C@C@} StS9SrPFS_S%FC} S>Ou|$t8|$ t1K9Krj S袡_C C } SS9Sr j@Sq_C@C@} S[^_Ð %s %s %s %c%c UWVS\$(t$,|$0l$4hRt$(hD_UjVSjUj@hRhM_U|$8O9OrW"_tGG}W$@u2M9Mrj@U胠_E@E@} UM9MrPUO_U؈%EYUKD$P.D$PUjVtL$|$tڐO9OrW2_tGG}'W$t|$h]{@u2M9Mrj@U_E@E@} UM9MrPUK_U؈%E} U 7L$|$(j@hT_U [^_]ÐD$@@ Ðbad diff output line: %sdiff line number too large: %s%c%cdiff output command line too longbackward insertion in diff output: %sbackward deletion in diff output: %s%s UWVS$$ T$$N9NrVK_t FF}/V1$t t h][^_]Å@u{V9VrV_t FF} V@uD$@D$D$Pha,|$tSj@hat$j|$$9w ha؈GN9NrVI_t FF}V-$t h] ut\$|$ u G t1+wt9sD$PhaHGCЃ vЃ u G t1/Dwl9sD$PhaGCЃ v̅uuD$Pha\59sD$PhaD$R0׹ЅuP觟_u herP_1uD踜_u6%PG_u%Ph%h5B_HangupInterruptBroken pipeQuitTerminatedCputime limit exceededFilesize limit exceeded RCS: %s. Cleaning up. RCS: Signal %d. Cleaning up. ̘@̘ÁW̘H̘̘EȘ8=ȘjW_̘t=Ș_=l1ҍO9$jkkk5k5k5k5k5k5k5k5k5kk5k k5k5k5k5k5k5k5k5k(k0kti.{i&iiiiit Rhi WhiD$ P\_ T$0׹HPRj̥_ l_ signalWVS=D$ k I D$ Ky|$kWj6_ t hky|$t-D$ tL$ L$jW6ߠ_ t hkFKy[^_Ð WVS$ $ $u@\$ Vh jS_uVU[^_ WPS $t[^_ ÐWVSt$\$|$v5WhjV_=t苽wWSjV_9t^[^_/bin/sh: not found forkwaitpid%s failedUWVS$_…4L$)˃tYj”_hjU _ Dž|u%jjW6_ W苔_uЃtU谿+t_j`_hhAU襛_ Dž|u(jjWΕ_ W#_uЃtUHS3h_=< `u,mSh,mH_0׹HPRj貢_ j h4mj衢_ jO_} hAm־jD$PR_ } hFm趾|$tL$qhNmD$[^_]Ðtoo many command argumentsPVSD$`t$\t$D$ \$hD$dD$t#~ hoʃACDuߍD$P[^P19%.*s/%.2s/%.2s %.2s:%.2s:%sSL$\$ ʐB<.uB PB PBPBPRQ)HPoy.u =t}oPSŝ_$[Ð%s isn't a number%s out of range %d..%dWVS|$w=t jVtN1G\PFЃ v>t Who~~jjWhp׾t[^_ÐRCSINITUWVSl$t$hp貔_…tAR0׹ЅuP袗_u hemP_1ۅuL$1}ڐB<  <} t < uG名uP2_u heNjL$9ڊ<  <} tF< uC鐉ECB<  <}t"< t<\u;t JCאB뮐u[^_]Ð=uȔ_fÐ=uP_fÐsetuidroot setuid not supportedИÐVS=И=u_ff=uĒ_ff5=u_fff9tNP_t hHr|o_f9t*=u!OrftTrP.[^ÐVS=И=ue_ff=u_ff5=u_fff9tNP!_t hHr訹蛑_f9t*=u!OrftTrPZ[^ÐW$jW*_̘t=Ș_=l1ҍO9$ttttuuuuuuuuutuuuuuuuuuu uuti.{i&iiiiit Rhi WhiD$ Px_ T$0׹HPRj_ 舍$Id: rcskeep.c,v 5.4 1991/08/19 03:13:55 eggert Exp $rclosing %c missing on keyword UWVSt$ =t[^_] Ð1u;jhu5ܘ ƅu5ܘԶ1[^_] Ðhuh huhhuh\huhL֔1ې$r|$N9NrVb_tFF}VE$l$t t:tD$9v؈G뜃$t:u:N9NrV_t FF}Vճ$ t 2D$PD P 9$\wwwwwHxHxHxTxHx`xhV^ÅcjjV NVM =V Å*hVS hLVj jjVj tjjVY uF=$pjjV2V hLVj N9NrVb_tFF}VE$t1ۃ$uu8t8t\8t L8uAN9NrV_t FFWVٱ$DtV j$huV[^_] badly terminated keyword valueVS\$ S9SrSP_t C0C}#S5$thdyZ1[^Ðt$t$SV1[^Ðtoo much white space in keyword valueUWVST$t$ l$$t!jUT$]ML$T$ 1D$1$9$pzh{{{{{{{{{,{h{{{{{{{{{{{{{{{{{{{{{{,{{{{P{tsЈC9\$whD$PUVtu hy[^_]Ðu|$(t 1[^_]Ðhdy趲1[^_]ÐN9NrVZ_tFFVT$5$T$hdyR1[^_]Ð19%s%s %s %s$UWVS|$81D$,D$0l$,O9OrWń_t GG}#W詮$thdyα1jUWSjD$$D$(l$$O9OrWM_t GG}#W1$thdyV1jUWS2D$D$ huD$ P(O9OrWǃ_t G0G}W譭$t1-t +l$jUT$讋\$L$ L$1T$$9$}t~0~0~0~0~0~0~0~0~X~t~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~0~X~0~0~0~t~tOЈC9\$wDD$PUы2tu hy軯ohdy誯1bO9OrWR_tGGWT$-$T$hdyJ1u 1O9OrW_tG0G}Wͫ$t1\$,0߹҉T$|$$ҋ|$ЋL$TDPh蚉t$t$(Sкu wCЃ w {/u{Rh{5_D$PD$$PD$,P׉[^_]$ÐUWVS\$t$ l$$uEN9NrVǀ_t FF}V譪$t 1[^_]Ðڅt"jUT$貈]ML$T$ 1D$1$9$x44444444\x444444444444444444444\444xtOЈC9\$wDD$PU͈2tu hy跬ohdy覬1{N9NrVN_tFFVT$)$T$hdyF1tu蹧[^_]Ð1[^_]ÐWVS\$1S9SrS~_t C0C}#S襨$thdyʫ11jh\SVtj5\t[^_ST$\$ 1ɀ:t:.tЃ v1[AB:u} ȃ[Ð9%[$Id: rcskeys.c,v 5.2 1991/08/19 03:13:55 eggert Exp $AuthorDateHeaderIdLockerLogRCSfileRevisionSourceState"),37?HOUWVSl$ "9u<$t<:u [^_]Ð1[^_]ÐCA8tփNu1[^_]ÐUVSu1҃<tB8uӅt4ЃKue[^US=tЃ;uh؃F}_]U=uÐSL$ T$\$̀} أ [ÐVSt$ \$T$t'Ѐ:t@8u)PRV Su[^' : can't load library 'Incompatible version. Too many libraries. No such library. Permission denied. Exec format error. Unspecified error. ) ( UWVSl$|$,=,PV>̀} ى  jh0huj9$lxjh:jh.jh+"jh=jhQ jhej̀򐐋H %t 93D$ځ%9u 9}D$T$t;jh0hujujhjd̀򐐃>L[^_]þ,=,t.jhyph|0hj>u֐1۸̀[^_]/lib/libc.so.4Jump table 4.1LJ`ibgcusr/bin/ident100755 2122 1750 22000 5316132315 12403 0ustar steinberert d -̀\ `-:D$4 `P`[̀rCopyright 1982,1988,1989 by Walter F. Tichy Purdue CS Copyright 1990,1991 by Paul Eggert$Id: rcsbase.h,v 5.11 1991/10/07 17:32:46 eggert Exp $ident$Id: ident.c,v 5.3 1991/09/10 22:15:46 eggert Exp $-qr%s error: can't open %s %s error: write error UWVS\$11~ t$~ƨtKD$Wjh< ` h D$t$6`u$t$6hhh ``BWt$6P ~-5 `95 `rj h `_ `  `Ku `$ uh ``thh(h `2` [^_]Ð%s: input%s warning: no id keywords in %s %s error: %s: read error WVS\$t$|$tVhh2`m1 $ ur$uS…u+K9KrS_t CC}$tuVhhsh `@`S`t Vhhh ``jY`[^_ %c%s WVS$\$ ~9~rV>_tFF:t:|>h|ЈC$9rЅu [^_ÍD$ 9u [^_ÈЈC~9~rV_t FF tЅu [^_Ð C~9~rVv_tFF$t^}"$%ي$ \Tht tЈC$ 9rЅu [^_Ð{ u.ЈCD$ Pj$h|h `t_1[^_Ð[^_$Id: rcsmap.c,v 5.2 1991/08/19 03:13:55 eggert Exp $    UVS8u1҃<<t<B8uӅt48ЃKue[^USD=DtЃ;uhh _]U=uÐSL$ T$\$̀} أ [ÐVSt$ \$T$t'Ѐ:t@8u)PRV Su[^' : can't load library 'Incompatible version. Too many libraries. No such library. Permission denied. Exec format error. Unspecified error. ) ( UWVSl$|$,=,PV>̀} ى  jht 0hx uj9$ 8  8 8 8 8 8 , 8 8 8 8 8 8 8 8 8 8 8 8  jh :jh .jh "jh jh jh j̀򐐋H %t 93D$ځ%9u 9}D$T$t;jht 0hx ujujh jd̀򐐃>L[^_]þ,=,t.jh ph 0h j>u֐1۸̀[^_]/lib/libc.so.4Jump table 4.1H W `ibgcusr/bin/rlog100755 2122 1750 152000 5316132316 12270 0ustar steinberert d -̀\ `-:D$4 `P`[̀rCopyright 1982,1988,1989 by Walter F. Tichy Purdue CS Copyright 1990,1991 by Paul Eggert$Id: rcsbase.h,v 5.11 1991/10/07 17:32:46 eggert Exp $rlog$Id: rlog.c,v 5.9 1991/09/17 19:07:40 eggert Exp $ rlog usage: rlog -{bhLRt} -ddates -l[lockers] -rrevs -sstates -w[logins] -Vn file ...,v/unknown option: %s%sno input file%s-t overrides -h. access list: %s comment leader: " RCS file: %s; Working file: %s head: %s%s branch: %s%s locks: lines added/del: %lu/%lu %s: %s; access list: %s comment leader: " RCS file: %s Working file: %s head:%s%s branch:%s%s locks:%s lines: +%lu -%lu %s: %s%s strict strict symbolic names:" keyword substitution: %s total revisions: %u%.2d.%.2d.%.2d.%.2d.%.2d.%.2d; selected revisions: %udescription: ============================================================================= (UWVSl$@D$D$D$D$ `,_D$4PUt$D>p D$iR ]R QD$FD$:,,$unhuhcR-UL$<|$<~B<-L|$<hhx-D$ D$uh-D$=}4D$0D$,D$(D$$X)D$ D4D$0ND$,\D$(aD$$tXD$ cjjhUt$Lh=dtC |$t =|$t5hW/ =tPLuP=LtP=t P=tP505t$@W.$tC03t$(W_.[u=t=}Wh-Wt$4-@t3t$0W. [uWh-Xts3t$(W-[uWt$,M-W55,h Wh*-=} =t4L?hWz- J95hWa- 1=tvL$L$tld 5lt0jjjjjjh(S` S5[@u5VhFW, Wj +|$tWh_D,j8tHKÀ{8tNu{(t3KDu #9C(uy5Whm+(L$<|$<WL%`[^_](Ã=t `h([%Ðj_Stjs(S [(u[ÐS\$ts(s[ÐS\$t1s3!ts(s[S\$ts(jSSw [Ð---------------------------- revision %s locked by: %s; date: %s; author: %s; state: %s; branches: %s;(UWVS|$<\$@8& `7h h `*  tw h h `* wwD$ PwgPh h `q*t+|$Dt s0s4 s4s05Xh `B*_tWD$D$Uh )t$V0At$h U) [uڍD$PUj (w_u USV2d | t Uj ([^_](Ðmissing delta logdelta number corruptedduplicate delta logVSVt h@ %^ƅu hR %h:~t hi %D$D$ \$SRS(FV= u&h:54`t2= th:EF4F095t V6#[^Ðunexpected end to edit scriptUWVSl$(5(t$D$P;D$Pjjt$<u T$U4؋|$}0V9VrV_tFF} V}! t]@uV9VrV_tFF} V=!@tOt ht $[^_]ÐO[&[^_]S\$t8SC8Cs([t3[u[ÐS\$C<,t< t< t< t<;tu |[Ðj5Z|P|C<,tt< t < t< t<;utC<,t< t< t< t<;tu[ÐS\$C,t t t t;tu+jYxj)\xB[ÐjY xHxC,tt t t t;ut!C,t t t t;tu[Ðmissing state attributes after -s optionsS\$C<,t< t< t< t<;tuh,#[ÐjXPC<,tt< t < t< t<;utC<,t< t< t< t<;tu[ÐVS=|t\=tS5t?|t63_t[uFtV5ƅu[^ÐVS\$ t$t\{8t/Vs<|F Ps< sV_Vs([tV3[u[^ÐWVS|$u 1[^_Ð=hu =ltiht9;tSw<|{ twC P;}[@u˅u&lSw;t [@uG8w(iW84_t3QƋ[u[^_ÐWVS|$xt#w3f_t[u1[^_Ðtw3:_t [uҐ=dtt9xt@򐐋5ttJ7{:ڃ9u$Sv7< |S7v< } v u][^_Ðmissing date/time after -dUWVSt$F,t t t t;tuhh[^_]Ð1jDUǀuFG Ft ;tu>utG PRy;tu!WG P_ lO@=lsF t t t;tut=G 7F>ty hO@=htF;t t t t[^_].1UWVSt=pD$$D$(D$D$ T$$T$T$T$1l$$T$T$t{w t7&Uw;Pyl$t$$7ƅcSÅPSt$S73UwOt$$t$t$$7ƃw D$j.t$ Q_t$wOt$D7ƃwhUt$U~j.t$(_ffPit$wOtVt$wOtCt$t$(Et/t$$6Vt$ t$,29 ~ l$T$T$t$0%v%d%p%v%v%v%%v%d%v%d%d%&Rh N9NrVd_t FFKVT$ T$59|$wt$t$nNjN9NrV_tFF}VT$ T$ЈG t@t 뙐됋N9NrV_tFF}VT$5 T$@}9|$wt$t$m@G(N9NrVF_tFF}VT$T$_tFF}VT$T$EtE9t}u;T6t/| }#t$,B4 G\$,99|$wt$t$T$lNjT$ CG9r1+D$ PD$$Pk[^_]ÐWVS=(O9OrW>_tG0G} Wt8K9KrPS_SȈ%C} S t @t낐uO9OrW_tG0G} W=t8K9KrPS_SȈ%C} S@5[^_ÐWVS `5(N9NrV_tFF} V t @t RHN9NrV_tFF} VY@t [^_ÐO9OrPW*_W؈%G=W/UWVS=(|$L$$)y|$L$y9yrt$_tL$A0A} t$t9{9{rPS{_S%C} Sa t @tL$y9yrt${_tL$A0A} t$t9{9{rPS_S%C} S@t)5L$$9|$)l$D$T$[^_]Ð9l$uD$Pt$(LhʼnȈEEinvalid character %c in identifier `%s'identifier `%s' doesn't start with letterVSL$ \$T6tulA‹T6tttt߄tot8tg tb t] tXАA t t tt8uVPh,,A t t tt8uVhT,[^Ðjt$9Ð`%s' is not a regular file@WVS|$PjW._ƅ} 1[^_@Ë\$Xu\$ SV1_tWtfCf%f=t*WhL-V_< `1[^_@t$TV_uW%[^_@Ðoutput error=th.unexpected end of fileh<.input errorhd.D$$ t hd.ÐD$$ t"=t$h.\ÐD$tP_t hd.9ÐD$t0P_t#=th.ÐS\$tP_t hd.[S\$t1P_t$=tZh.[ËT$$ t hd.t$t h<.Ðjjt$ _ t hd.BÐh `2_t=uh.Ðu `P_t=uh.Ð %s aborted %s error: t$5< `Ðu `P_t=uh.hhha0h ` T$< `t$_h `+_t =uh.Ðt$5< `u `P_t=uh.hha0h `_ T$< `t$R_hhU0h `_ u `PT_t=uh.0hha0h ` D$Pt$h `| h `j h `_t=uh.Ð%s: %s:%lu: u `P_t=uh.t55hhd2h `_D$Pt$h ` hhT0h `_ u `P_t=uh.hha0h `8_ D$Pt$h `6 hhT0h ` _ O%s warning: u `Pt_t=uh.Phh3h ` D$Pt$h ` h `j h ` _t=uh.Ðredefinition of -%c optiont$h@4.Ð=uu `P_t =uh.oD$Pt$h ` h `L_t=uh.(ÐSD$\$ K9Kr%PSw_S%C}+$ t%=th.[Ðt$t$+_}$=tRh.Ðt$ t$ t$ _ }$=th.HÐD$ Pt$ t$ j_ }#=th.Ð$Id: rcsmap.c,v 5.2 1991/08/19 03:13:55 eggert Exp $    $Id: rcssyn.c,v 5.8 1991/08/19 03:13:55 eggert Exp $desclogtextaccessauthorbranchbranchescommentdateexpandheadlocksnextstatestrictsymbolsmissing ';' after '%s'%s isn't a delta numbermissing ':' in symbolic name definitionmissing number in symbolic name definitionmissing ':' in lockmissing number in lockunknown expand mode %.*sWVSh:N*Åt3$t3h;~j uh:h:YLh:t1ÅtLj [uh:h: h:@_ƅtj>-0X␐j uh:h:h:RXƅtIj u h;}Åu hE;gj ,0Xxj wuh:h:)h:{ƅtij :u hp;wÅt3$t3h;u h;j ,0Xx뎐j uh:h:}h:tj uh:h:Ih:tE=uh:3j 8uh:h:h:(tu=uND$ D$|$ WÉVS} SVh;WUj uh:h:Yh:[^_Ðkvkvlkvo@u2K9Krj@S/_C@C@} SS9SrPFS_S%FC} SOu|$t8|$ t1K9Krj S趹_C C } SS9Sr j@S腹_C@C@} Sp[^_Ð %s %s %s %c%c UWVS\$(t$,|$0l$4h:t$(h0GUmjVSjUj@h:h9GUI|$8O9OrW6_tGG}W$@u2M9Mrj@U藸_E@E@} UM9MrPUc_U؈%EYUGKD$P.D$PUjVtL$|$tڐO9OrWF_tGG}'W$t|$hE@u2M9Mrj@U蓷_E@E@} U|M9MrPU__U؈%E} UG 7L$|$(j@h@GU[ [^_]ÐD$@@ Ðbad diff output line: %sdiff line number too large: %s%c%cdiff output command line too longbackward insertion in diff output: %sbackward deletion in diff output: %s%s UWVS$$ T$$N9NrV__t FF}/V$t t hEB[^_]Å@u{V9VrV_t FF} V@uD$@D$D$PhI|$tSj@hIt$j|$$9w hI؈GN9NrV]_t FF}V$t hEB ut\$|$ u G t1+wt9sD$PhIGCЃ vЃ u G t1/Dwl9sD$PhIGCЃ v̅uuD$PhI}\59sD$PhIeD$u [^_]À;u[^_]ÐD$t$>0t1t$ Et$D5Ѓ v;0uC;0t1BЃ v9tr[^_]ËT$߉0tF*Gu#l$t$>tD$;?C9[^_]UWVSL$\$T$A<.uC<.uJu90uA90t1 ED Ѓ v;0uC;0t1BЃ v9r+uʉ߉0tF*G[^_]Ð[^_]Ð[^_]Ð and state and author a date before No revision on branch %s has%s%s%s%s%s%s.revisionbranch%s %s absentUWVSt$t$\$u [^_]Åu[^_]Ðt$>tր;tD$t$>0t1t$ Et$D5Ѓ v;0uC;0t1BЃ v9trwT$߉0tF*Gu%l$t$>.uD$;.uCL$ X1[^_]ÐVSt$ \$t$VPDt@8.t8u@Ku@[^RCS file emptybranch number %s too lowrevision number %s too lowRevision %s has date %s.Revision %s has author %s.Revision %s has state %s.hUWVSD$PD$T=|$ uhPQ T$||$|t t$|>uD$$WB<.uA:uL$$|$$0L$||$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9r#Ή߉0tF*GD$ D$|$}qjt$ p$$v(t$ ID$Pt$|PFBD$P@8.t8u@Ku@t$Ph_Q+|$~1D$HD$Lj$\$PS PhP:|$$|$ 7t$pL$|$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9r'Ή߉0tF*G_$$t$ ^uN}t;}0u E}0tD$ED$|$/Ѓ v;0u C;0t1BЃ v9T$t9T$sBߋL$0tF*Gu!l$\$}tE;MCG|H$tt$ v$Ǹ_u$$tJ|$ w$裸_t0jQt$ p$$v(t$ |$ t~L$|$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9ru&ʉ߉0tF*G|$$t\$|5D$Pt$P1?D$P@8.t8u@Ku@\$P$$uNP$t O$u$u ONP$$uNP$tO$uONP$tD$8P$#NPN$tOPShO~ j|$ x$$D$ [^_]hÐL$|t$ A<.uC<.uJu90uA90t1 ED Ѓ v;0uC;0t1BЃ v9r/uΉ߉0tF*GD$D$D$|$L$||$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9ruRΉ߉0tF*Gu0j$t$ p$$v(t$ |$ tyL$||$ 90uA90t1 ED Ѓ v;0uC;0t1BЃ v9ru"ʉ߉0tF*GtKD$Pt$|P<D$P@8.t8u@Ku@t$PhxQ'_|$$vQ|$tJD$HD$Lj$\$PSK PhPhP S:j‹|$ z$$|$$v>R$$$t$4$t$8[^_]hÐ$ $t$|$ _uNt$>tÀ;>0uD$|$?0t1t$ E|$D=Ѓ v;0uC;0t1BЃ v9t 9sBDt$߉0tF*Gu%l$t$>tD$;UCO}4D$XP|$$wPt$$6hQS 1[^_]hÐ$t*|$ w$_twt$$6hQ븃$t:|$ w$K_t GuQPt$$6hQw$mD$PP81[^_]hÐno side branches present for %sbranch number %s too highpUWVS$D$,@D$ t$Xt$L$PL$|$ uqD$XD$\\$,K$t$ 8D$Xt@8.t8u@Ku@t$Xh\t$#71[^_]pÐt$ $8T$,EE<.uG<.uJu}0uE}0t1EC+Ѓ v?0uG?0t1B:Ѓ v9ru0tF*G~kL$ IL$ XD$XD$\\$,$t$ 7D$Xt@8.t8u@Ku@t$Xh0\}TD$PD$Tt$,$t$ PD$0$PtPRhPy t$t$ L$(L$,9$D$$$$t$L$(YuNt$>u ;L$90uD$t$>0t1L$ Et$D5Ѓ v;0uC;0t1BЃ v9t9sFt$߉0tF*Gu%l$L$9tD$;AC;|P$tt$(v$苮_u,$tL$(q$g_ut$(t$$L$(I(L$(|$$$$uNP$t!O$u$u ONP$$uNP$tO$uONP$tD$@P$NPN$tOP$hO 1[^_]pÐt$ $j L$(H$$I(L$(t$$9ujL$(H$$D$([^_]pÐ$t$(.T$,tG<.uEE<.uJuG?0t1C;Ѓ v}0uE}0t1EB*Ѓ v9ruyى0tF*G}WD$XD$\\$,C$t$ 3D$Xt@8.t8u@Ku@t$XhxQjL$(H$$L$$q(t$($>T$,tEE<.uG<.uJuE}0t1EC+Ѓ v?0uG?0t1B:Ѓ v9rY0tF*G7D$,@9$$L$$)T$,tG<.uEE<.uJuG?0t1C;Ѓ v}0uE}0t1EB*Ѓ v9ru"ى0tF*Gt[\$,CD$PD$TS$t$ i P$PtPRhP t$D$,@9$$$L$$YuN}t;}0u E}0tD$ED$t$.Ѓ v;0u C;0t1BЃ v9T$t 9T$s>@ߋL$0tF*Gu!l$\$}tE;QCK}4D$`PL$(qGPt$(6hQ 1[^_]pÐ$t.L$$q$_tt$$vL$(1hQ봃$t:t$$v$诨_t FuQPL$(1hQst$$NL$ D$,$9t$,$D$$[^_]pÐjt$ t$ i Ðworking file lacks revision numberSymbolic number %s is undefined.improper revision number: %sUWVS|$jt$$-L$ 1t?u[^_]ËT$:$u_zuYt$$<u 1[^_]Ð8uheڐPt$$.뜐Vhe뷉L$ QT$D$l$T6t_VMOG?0uGЃ v9t$wUt$$-ƊGF vOF[L$ +9t$wUt$$,ƊGFT6tփtуt̃t9t$wUt$$,ދL$ 1Xt3V,_y[u1ۅ9t$wUt$$T,ƊCFuG=<.u>?u)D$$u1T$ 2BÅ@SdD$F.t$hf>1[^_]ÐPjjjt$OtÐ1Ð=Lt(Pjjj5L1tÐ=t 1Ð$Id: rcsutil.c,v 5.10 1991/10/07 17:32:46 eggert Exp $out of memoryD$uP9_u h;iÐt$t$w_u h;irÐS\$j_u h;iOP[SD$uP踞_Åu h;ij蝞_u h;iP[VS5t^6r_Vi_ޅu[^ÐST$9t C[9uK3&_S_[Wt$|$ 0҅uR_…u h;iR0׹ЅuP_u h;irP膡_1uD(_u6%P跙_u%Phk5B_HangupInterruptBroken pipeQuitTerminatedCputime limit exceededFilesize limit exceeded RCS: %s. Cleaning up. RCS: Signal %d. Cleaning up. @ÁWHE8=jW~_t=_=1ҍO9$,nnnnnnnnnnnnnnnnnnnnnnnnnnm. m&m!m&m1mHmt Rh`m WhymD$ P̞_ T$0׹HPRj<_ Ț_ signalWVS=D$ ,o I D$ Ky|$,oWj6肝_ t h0oy|$t-D$wL$ L$jW6O_ t h0oFKy[^_Ð WVS$ $ $u@\$ Vh jS肔_uVU[^_ WPS $t[^_ ÐWVSt$\$|$v5WhjV膔_=t苽wWSjVV_9t^[^_/bin/sh: not found forkwaitpid%s failedUWVS$R_…4L$)˃tYj2_hjUz_ Dž|u%jjW覒_ W_uЃtU谿+t_jА_hhAU_ Dž|u(jjW>_ W蓐_uЃtUHS3ؑ_=< `upShp踑_0׹HPRj"_ j hpj_ j迎_} hp־jD$PRg_ } hp趾|$tL$qhpD$[^_]Ðtoo many command argumentsPVSD$`t$\t$D$ \$hD$dD$t#~ hrʃACDuߍD$P[^P19%.*s/%.2s/%.2s %.2s:%.2s:%sSL$\$ ʐB<.uB PB PBPBPRQ)HPsy.u =}sPS5_$[Ð%s isn't a number%s out of range %d..%dWVS|$w=t jVtN1G\PFЃ v>t Whs~~jjWhs׾[^_ÐRCSINITUWVSl$t$h@t"_…tAR0׹ЅuP_u h;imP肙_1ۅuL$1}ڐB<  <} t < uG名uP袓_u h;iNjL$9ڊ<  <} tF< uC鐉ECB<  <}t"< t<\u;t JCאB뮐u[^_]Ð=u8_fÐ=u_fÐsetuidroot setuid not supportedÐVS==uY_ff=u4_ff5=u__fff9tNPe_t hu|ߎ_f9t*=u!uftuP.[^ÐVS==uՏ_ff=u`_ff5=u苏_fff9tNP葕_t hu訹 _f9t*=u!uftuPZ[^ÐW$jW蚕_t=_=1ҍO9$xtx|xxxxxxxxxxxxxxxxxxxxxxxxm. m&m!m&m1mHmt Rh`m WhymD$ P_ T$0׹HPRjX_ $Id: partime.c,v 5.6 1991/08/19 03:13:55 eggert Exp $januaryfebruarymarchaprilmayjunejulyaugustseptemberoctobernovemberdecembersundaymondaytuesdaywednesdaythursdayfridaysaturdaygmtutcutcutnzstjstkstisteetcetmetwetnstastestcstmstpstaksthasthstsstnzdtkdtbstndtadtedtcdtmdtpdtakdthadtltdstddstampmnoonmidnight&y.y7y=yCyGyLyQyXyby jy sy |yyyyyyyyyyyy0yyyyyyyyyy,yhyyyzXzX zz0zzz z$z,(zh,z0z4z9zX>zAz<EzxJzMzPz Uz/-.DUWVS1ۋT$\BBB BBBBD$$D$(D$0D$LD$H|$X|$DD$DD$ t$ ux|$Ps|$$|t$$t$`!TT$\z}BL$0}1Ƀ|$(|L$D$()ȋ|$`ًT$` [^_]DÐ|$ND$Ph@ȸ9$x}}}}}}~L$\DL$\8L$0/jD$4P4@ ŠD$P@$tj|$8u{\$@` oT$4T$:Ѓ w\ؿdӃ;Kt$@D$)L$|$D$x+uۉ\$,݋T$T$DD$H|$<|$Lt$PL$(L$$UQ Wt$DЃ |$N8|$H-\$P` FЃ  ؿdӃ;L$PșD$)L$|$>+uۉ\$,D$,D$(Xl$P|$HuEdщQD$`D$ t$ 6D$UD$`P|$HT$\z}z|$L:uPdӉQD$`D$ t$ D$SD$`PO|$L,A|$L/6t$4D$8T$LT$tD$4Ѓ D$@@$|$L:b@|D$A||$.D$\$T$8T$Lu{8T$Mt]|$D|$4D$HD$8T$LT$<|$P|$@D$8D$4P'D$t|$>uD$@xT$\z }Iz=D$8D$Mu>t T$\r|$\w |%t D$\p T$\r} D$AT$\zz z}vq|$D|$4D$HD$8T$LT$<|$P|$@D$4P<D$u|$@t51[^_]DÀ|$>tD$4Ѓ ]D$@@$LUD$` PQEPD$`P=ŔxUD$`P6냐UD$`Pit$ u|$P%[^_]DÐ|$N7|$HuZL$PȿdQD$`D$ t$ D$L$PșQt$`D$tv|$Ht$PD$`P`|$L:uBt$ ;|$N|$H~t$Pt$`fD$8} T$1ÐÐT$L$B(|# ~1Ð uBu0B *z܃:ׅ| uJu ttÐUWVSl$Uu 1[^_]Ð}} t[u?+t?-uGNNxaE DЉD$GȻ 9E u9L$}E 1[^_]ÐT$U Nyh`zuW E tɸ[^_]ÐUWVS\$3s3SS C CCC ^i19$t<<<<<dddddddddddddddddd<dddddddHHdHHHHHddddddddddH{u3r{u 3K cKC[^_]ÐC{u'AЃ wCC F9s8~-t~+u, C%AЃ C 9tKKC[^_]ÐFC[^_]ÃUWVS|$ 1ft$\$~/T$+D$AFtuT$|$4 |Y 9_ u,|$4|Y9_u|$4zI9OnL$2[^_] ÐUTC is not available; perhaps TZ is not set?U`=}h`URЃu hǥÐ%.2d.%.2d.%.2d.%.2d.%.2d.%.2dL$ $`=}h`RЃ…u hk2rrr B@PBzc~lPhDt$(_ can't parse date/time: %sbad date/time: %s(WVSt$8|$ W\$SV. u VhЍܤt$ SuVh迤D$ `=}h`WЃ…u h菤2rrr B@PBzc~lPhDt$X _ [^_(ÐHVST$Xu 1[^HÐD$0PR]ÍD$Pt$VS\ u ShЍ t$VuShht$X_[^HÐ$Id: rcsfnms.c,v 5.8 1991/09/24 00:28:40 eggert Exp $RCSa-- adaasm;; bat:: c * c++// cccppcxxcl;;; cmdcmfc csel; fforhhpphxxllisplspmacme.\" mlmmmsppaspl% texy# z||ÏƏɏˏϏяՏُۏƏ TMPDIRTMPTEMP/tmp%s%cT%cXXXXXXcan't make temporary file name `%s%cT%cXXXXXX'UWVSl$=uLhu6hu h#u (0߹Ѓ PQǍu0Vj/Sh-W{_Wv_t?uVj/Sh;Ϡ<[^_]ÐVS$tP}_Ny[^ÐUWVSL@X0.р9tB8uр:u9-0ut1t4)ЉD$AC|$t|$uù} ى ((jhp0htuj9$444444(444444444444jh:jh.jh"jhɲjhݲ jhj̀򐐋H %t 93D$ځ%9u 9}D$T$t;jhp0htujujhjd̀򐐃>L[^_]þH=Ht.jhph0h j>u֐1۸̀[^_]/lib/libc.so.4Jump table 4.1000000000000000000000000000000000000000000*** empty log message ***$DS`0ibgcusr/bin/cvs100755 2122 1750 372004 5405666410 12136 0ustar steinberert d Ǻ-̀\ `-<D$4 `P`[̀rUsage: %s %s [-k rcs-kflag] [-m message] files... -k Use "rcs-kflag" to add the file with the specified kflag. -m Use "message" for the creation log. k:m:warning: message too long; truncated!cannot add files with '/' in their name; %s not addednothing known about %s%s/%scannot add file `%s' since the directory`%s' already exists in the repositoryillegal filename overlapscheduling file `%s' for addition%s added independently by second party%s has already been enteredcannot resurrect %s; RCS file removed by second partyResurrected %s%s, version %s, resurrectedcould not resurrect %s%s should be removed and is still there (or is back again)%s already exists, with version number %sthis filethese filesuse 'cvs commit' to add %s permanentlyU8+WVSu 1DžDž}t}u hƅhVu2 ktmt6t`5j룐5= `='v+hjj聋h'5S4 `E`5S `Lh: )Mƃ} hjj<j]YDž M91j/V `tVhjj蠊GpjjjVjju$8xxu VhDVvzVh[(`Izt7Vhajjhjj hjj։ PpVtGH=P;Vhjj肉Vh80uxu Vh:-xxu Vh.V`2P|Ë@PS`S0u`VhdS`$pppS0VUS_ Pj[u0Vhsjj蔈3VhVhjjyGRVhjj`GPu9uVwxtV,ǃM9?t%u Ph!jjP!d[^_directory %s not added; must be a direct sub-directoryCVSCVS.admcannot add a `%s' or a `%s' directorycannot get working directory: %scannot chdir to %s%s/%s (or %s/%s) already exists%s is not a directory; %s not addedDirectory %s added to the repository --> Using per-directory sticky tag `' --> Using per-directory sticky date `Add directory %s to the repository (y/n) [n] ? directory %s not addedcannot mkdir %s- New directory.%sU WVSj/u N`tu hju tu u$hhh#jj蔅%PPY[S_ u ShIju _}!u hj5< `j4huuhut&hu hu h}jjSu uh[S`S[ut(Stuu Shjj蝄VhS` t%hS`S`h S`t%h S`S`h S|`VOtVh5 ]_h `s_%< `h< `hP_tyt"YtVhe jj貃j`hV_ }'Vh| 5< `jtP`P`._`CJh nwCC S`jjPVY$PB_Ph B?t_t_Ph _S_}Shj5< `jg1[^_,vAttic%s/%s/%s%sthere is an old file %s already in %s/%s,p%s/%s%sw+cannot close %s,tcannot write to %sInitial %s0UWVS]} hJ WhM ShS V_Vcrt hM SWh^ jj苁=Xh Whh Vi_h VVrS_ uVh 5< `j/h Whh V"_h VrÃU:t%SR_uVh 5< `j܀S_uPh 5< `j貀Wh tS_jjuSh WugM1h[^_Usage: %s %s rcs-options files... UVS]u  hH9}8-u9|+ƉHtu hH5jjjjjjVSjhPjhDie[^0cannot admin newly added file `%s'rcs%s%s%s failed for `%s'UWVSuujjujjjuiE$ƿuuhjjh'5`h+x5 t6yKuUB pxjjjjzt4=Pu"uh'h01Ƀu < `Qjy~1e[^_Administrating %sU=Puuh>jj7~Checking in %s; ,,CVS%s/%s%s-rci%s%s -f %s%s-m%sco%s%s -q %s%srcs%s%s -q -N%s:%s-V4could not check in %s -- fork failedcould not check in %s%s%s -q -u/dev/nullUWVS] }Shx_ShhhVK_=Xu VSkEuP}tPh5`hvu h-wuw jjjj9xqEuP}tPh5`h&vuvjjjjw(jSqVS_su SVq Vr=Hu jSp}AuCt? `Pu1uWh5`huu.vjjjjUw(ju$jjSjWjusf‰r1t FO)ȃ$uBpppppSu$bHuSpjuoi0PhG=Xu2Sh5< `j=XuSVpShjj{7}t-h5`htu!ujhjjEv1[^_Usage: %s %s [-ANPQcflnpqs] [-r rev | -D date] [-d dir] [-k kopt] modules... -A Reset any sticky tags/date/kopts. -N Don't shorten module paths if -d specified. -P Prune empty directories. -Q Really quiet. -c "cat" the module database. -f Force a head revision match if tag/date not found. -l Local directory only, not recursive -n Do not run module program (if any). -p Check out files to standard output. -q Somewhat quiet. -s Like -c, but include module status. -r rev Check out revision or tag. (implies -P) -D date Check out revisions as of date. (implies -P) -d dir Check out into dir instead of module name. -k kopt Use RCS kopt -k option on checkout. -j rev Merge in changes made between current revision and rev. Usage: %s %s [-NPQflnq] [-r rev | -D date] [-d dir] module... exportNnd:flRQqr:D:ANnk:d:flRpQqcsr:D:j:Ponly two -j options can be specified-d and -p are mutually exclusivemust specify a tag or datetag `%s' must be a symbolic tagvcannot chdir to %sCVSCVS.admEmptydir%s/%s.w+CVS/Entries.Staticcannot close %sUpdatingU WVSDžDžDžDžDžDžDž5@ u !}u SbxVu uy 4|$\\\\\\\\\\\\\\H\\\\\\\\\\\\\\\\|\\\\8\ \X&Dž=t5_5^DžLPDžuDžeDžXADž1DžDž5 =th8jjys =ttcSR)UE u Džu}t}u=t= t SFt=th]jjr 5@ uj=u)= uh~jjrS=t&  `PtQhjjLrhu tN1 ǃ}h._S_ }h5< `jqeDžh)bhbh5hhSa_SauhS_jjSh-=Xu7hhbPN_ uhh5< `jptj/6_tkj/_*_ }h5< `jpdS{u Dž}~H] U4jhhj3Wf(9|W[^_/ignoring module %sexisting repository %s does not match %sInitial %sUWVS}Dž`DžXU 25hhS}_=t5cX6j/W_ƃtihS_WS_}u2}tWuWuhP_Uj/W_}t@E~WVhS_S^tISV_}u-}tWuWuhP_V}uS}NU9~u 6I_CU9WqbU BU}uUU}t1}uVj/U 2_ƃtFPS^_]}u%}tUUU 2S3_]=t8u5hS_5_Saua=Paj/u_j/W_Ãt!FPu\ƍCPWPÃuCPU:%PSWuDtu$hjjlW_AW_hH]h3]=Xu[U:~SjjPh(hh_]P_hh5< `j2l~5 5Ph([5jSVX_t-VShjjku$hjjk$S_9S_=tVS_}7Sh5< `jk5y_XDž\ Dž\=u = t\} U:5@ t2=u)Puu P5jOX555\555jj55 55jj=j8dU92lT} jdj5S5 55PTh$xu8ShT_hpppTpSd6(hP WFU92jdPE5@ t2=u)Puu P5jOUW555\555ju 55 55E PUHP?`<5_X`D[^_UUE H9| 8/u9}1U WVS]uV_SS_j/V_#j/S_ÃhVk_V_ hXhX5@ Pu h_1}u P1}uPh# =Xu7hhlXP_ uhh5< `jCg//FChVi_V_ |1Vh5< `jf[^_nothing known about %suse `cvs add' to create an entry for %smove away %s; it is in the way0warning: new-born %s has disappearedconflict: %s created independently by second party-%sconflict: removed %s was modified by second party%s should be removed and is still therewarning: %s is not (any longer) pertinent%s is no longer in the repositoryconflict: %s is modified but no longer in the repositoryupdatewarning: %s was lostUWVS]u(u$jSuuu uu O$8xudxu&t xuIxuC=Lu:uh($t xu#xu=Luuh(jjdx4u$PuR =Luh(0)uUxu#=Luh )jjdjxu 8=LPuhE)7;-xuo@ux)Phy)S_ xu 0S_u =Luh})=Luuh)jjFc븐xxu$=Luuh)jjclp pm_u&=LKuh*jjb2u$u t(=Luuh#*jjb=Luh)jjvbSp_xuD5@\*=Luhc*jjbp pi_uFCxtspH_u$uu) u$u t$u$uup@@ux)P_ {xu85@\*uӃ=Luuhc*jj`봐p pY_tu$u t},tM, PM؍[^_UVS]} u {u{tuCP pt!{tIsR_u9{t3 {u(t{tsV_u{t{tssss 3uu,e[^Usage: %s %s [-nRl] [-m msg | -f logfile] [-r rev] files... -n Do not run the module program (if any). -R Process directories recursively. -l Local directory only (not recursive). -f file Read the log message from file. -m msg Log message. -r rev Commit to this branch or trunk revision. nlRm:f:r:warning: message too long; truncated!cannot specify both a message and a log filecannot read log message from %slock failed - giving upcorrect above errors first!UWVSu1u h\ch'fQh0u Va 3$1333333333333333333333333333333333333333333333|322333P3XD5W_='v9h0jj\h'55I_ƀ'55_=t5D_5rPLF1=D  !h\V +5 E =tQ `Pt>5E_|.uR/_Dϐ=t|8th 1jjW[ j5K_Ã|h'5Sa_E }5h615< `j [S_M  6jjj5jWu Vjjh5jv0h5595X thV1jjZ W6jjj5jWu Vjh<h=h7 Ã0thn1jj1Z =Xu1jjj5jWu VhtBhAh\@h@>Ã0/h56h+6؍e[^_UEU rp(_UVS] w6 SMFtV5O7tV7Ee[^Up-to-date check failed for `%s'cannot commit with sticky date for file `%s'sticky tag `%s' for file `%s' is not a branchcannot remove file `%s' which has a numeric sticky tag of `%s'cannot add file `%s' when RCS file `%s' already existscannot add file `%s' with revision `%s'; must be on trunk.nothing known about `%s'Unknown status 0x%x for `%s'UWVSXPLLPX=e  `PMQPs]Suuu5jjjju<ǃ( 6SDSuuu5jjj5uǃ,5MKVOtj.V_]Suuu5jjjVuǃ(tuIj.V_t:SCSuuu5jjjVu\ǍG,wEpo_5JUBVX_ +EPuuujjjj5uǃ(XPLG$9h<9999999<uh46=t `PuTExtuhU6Ru7xt1upu藸 uuEph6jjMUu3Ext*H `PtQuh6jjUu{SuueSEtSuh6jjTExt;H `Pt*QM~Epuh&7jjTeu >u`7V52ÃtC@V/0$0 1VuHCjGPCS510u3HCCJ{S10uHCCJj &GƉ>Ext6H `PtQGFuQu耷F FEpGFsS 1 u h`7V5/tG@X=Dt&=uRu5VeuSu/u 1dp>u,vuu tKuuh/>vuu tuu>u1ۃ~uJhBu,/=u jC5h;>S0_uuvFuPuǃt|S_t>uVSuuI u5vvSuujMHǃ,tuu\huuX>uuvuu#lj[^_rCVS/Checkin.prog%s %s: Executing '' UWVS]ES5-ƒ5BEB@E=ujEP$ujuEP5u EP+EP+}t u_}=Xh0@h2@G_ǃWhlV_ tkj V!_tSj'SVh)=G5@5hC@s_ h ` MhV@\_jjjj[IS_W(_E`[^_Committing %sUWVS}W57,t@01t @9u T=PuWhAjjtM=Dt)WuAVS5W譃SC_e[^_US] u=tj5j!؋]UVSEpj.6T_Ãtj j6_t.9}1e[^rcs%s%s -q -N%s/dev/nullfailed to remove tag `%s' from `%s'Attic%s/%s,v%s/%s/%s%sUWVS]Wu u thShB5`hBEWPFjhBjjtG$=PWShC1҃u< `RjKh'Cu h-CV_j_hV_S_ h3Cuh'Cu h6CV_VW_ t)VW_uW<uV <tuu1[^_,pCVS%s/%s%s,tUWVS}]VWu^S5uu VWujAaƃ,uHh|DuhDhDS_SAhDuhDhDS_,S@ Wu[^_%s%s -q -ucould not unlock %sUSSu uhB5`h2ECSMDjjjjtE,t%Sh=E1҃u< `R%PIUVSSu u'5LLSeuS? Pģ5L[^%s%s -q -b%scannot restore branch to %s for %sUVSutp>tkSu uVhB5`h0FBS3C jjjjWDt&SVh=F1҃u< `R%PH[^%s%s -i-t%s/%s%scould not create %sUWVS} }tSh'CWh-CSp_j_hS_V_ h3Cuh'CWh6CS9_PWu hB5`hFAhDuhDhF-Bh|DuhDhDS_0h0@S8ƃVhSX_ t)j Sq_ttSAǐV躻_SAjjjjBt.ShF1҃u< `R%P1G uS1[^_UWVS] }VSuZSWVugu1[^_%s%s -q -bcannot change branch to default for %s%s%s -q -l%s%s -q -l%sUWVS} u1Et$ `PV@?WEp`:ÍEPUtFhB5`hH?W'@jjjjNA tWhHjjEhB5`hIO?W?jjjjAE :uIPhB5`hI?W?jhBjj@$}u$tSh_SG_1tSuu S_e[^_U@EPu ._tfE%mPud_UE@USEX{t s踹_{t s觹_S螹_]UWVSu} ]h3CVWhDS_S)5u6h3CVh'CWh6CS[_S5uh3CVWhDS<_e[^_there is no repository %sCVS%s/%sthere is a version here alreadyCVS.admCVS/Repositoryw+%s write to %s failedcannot close %sCVS/EntriesUWVS]=Xu 3uu hKjjTCthKShKPB_ KV3uHthKShKV_ K KPh3thKjjB thKShKP_ KV4thKShKVt_KfhKWA3u Nu hKV _uWhK5< `j BVE_uWhK5< `jAthLShKWڿ_% L L LhKW2Vϵ_ uWhK5< `jpAuuSM[^_Usage: %s %s [-l] [rcsdiff-options] [[-r rev1 | -D date1] [-r rev2 | -D date2]] [files...] -l Local directory only, not recursive -D d1 Diff revision for date against working file. -D d2 Diff rev1/date1 against date2. -r rev1 Diff revision for rev1 against working file. -r rev2 Diff rev1/date1 against rev2. abcdefhilnpqtuw0123456789BHQRTC:D:F:I:L:V:k:r: -%c -%c%sno more than two revisions/dates can be specifiedU8WVS}Eu hu̐hOu WBà CЃG$lPQQQQQQQQQQSSSSSSSSQQRSQSQQSSQSSSSQQSQSQSSSSSSSSSSQQQQQQSQQS$RRSQSQRTRSQQSQPhOV_VhX_QPLo5PhOVɻ_Vh_BE4E(P=t5p_5=u =thOjj0= =u =t=u =thOjj< =u =t5蘍?5}$h+=E =uhP0jjjjjuu WhVhVjhTÃ05_؍e[^_I know nothing about %s%s is a new entry, no comparison available%s was removed, no comparison availablecannot find revision control file for %scannot find %srcsdiff%s%s %s %s -r%s -r%s%s%s %s %s -r%sfork failed during rcsdiff of %sUWVSu}WujjVjjju%E$8u VhS80u1xu+VhSjj:EP(jU8-uVhSjj:Nzuz uVh Tjja:,ExuVh2TjjD:PWuuVtEPr'1h `膮_=t>558uE@PhhAT5`hITc3658uE@PhhAT5`h^T+3E@ p3jjjj4tt $E@ phnT5< `jE91h `謭_EP{&S ؍e[^_UE9}Diffing %sU=PuuhVjj8UHEADtag %s is not in file %sno revision for date %s in file %sco%s%s -p -q %s -r%sfork failed during checkout of %sU WVS]=t50_=t5_=t)5Vus,}=ttuujju55ju @"E$xu,=tu5hVu5p+EP$=t.5Vu$sg+=uujju55ju !E$xu@=tu5hVu5hVjj6Kp*EP#55޴_%=t35趴_uLss 褴_u"8zsP膴_f=u3?*58uCPhW5`h"Wj/C p/jjuV蟵_Pj1t u=Vu,u-V_V_C ph5W5< `jb5EPµ_1e[^_/%s/%s/%s/%s/cannot write %sT%s D%s USEXss3ph\Z5۩_u5hjZ5< `j4{ ts hzZ5蟩_ 5{tshZ5_ hZ5h_u5hjZ5< `jd41]CVS/Entries.Backupw+error closing %sCVS/EntriesUS]G[hZ[hG[ %hZS51_u5h][5< `j3hn[5R)]-> Scratch_Entry(%s) UVSu] =TtSh[h `\_ SVtPq=XuV'e[^-> Register(%s, %s, %s, %s, %s %s) aUWVS}u =Tt6u\\Pu\\Puuuu h]\h `輧_ u uNÃt9SVWuuuu u =XuevVWuuuu uÃ=XuOn[h\hn[O#S$5y_u5h][5< `j2e[^_USEX{t s_{t s_{ t s ֦_Sͦ_]rcannot open %s for readingUWVSuDž`b lpPtPQutu ptHj$jjS腪_3tt%Cpf%ClX@]h]hn[ɥ_\u hn[h]5< `j0\hxPe_ `x/yhj/Q_t@dj/PҮ_txj/W轮_tpj/V訮_iXj S菮_P11;TuS ;DuCPRVWdhl `\ _j\t\_ttt葤_pt pz_lP[^_%s/%s/%s/%s/%s/%s/ cannot close %sCVS/FilesCVS/ModU(NWVS}t:hn[uh?`hP _hG[uh?`P_ = n[h r[l v[pG[fh]hVܱPhW)_uܱ询_ܱ蝢_/SV#h]S5ܱhZ[V$رܱhW询_ /uرWע_Yj|W8_ƃtFj V蓬_ÃtCj|S_th\\VWShE`رl_hhn[hjZ5< `je-Iܱ蕡_ر芡_uhPhT`5< `j%-}t hd`uh?`xP_( d`x h`|f l`fxSbt S)_}thn`uh?`S譪_ n`x r`|xStS׬_̱[^_USEX3S_sK_sC_ { t s 2_{t s!_S_]Duplicate filename in entries file (%s) -- ignoredUWVS]FDcu Fj%lj~SuGuGuh\\GuG u GVu tu hcjj<+e[^_CVS/Tagwrite to %s failedUWVSE} =XurdvdhrdPh?`Pɨ_u}t|hZ[Sƃt WhzZ uhZVb_ uShzd5< `jc*V螞_u*PhT`5< `j9*P [^_UWVS}t} t U h]hrd豞_ƃtqVhxSv_ tRj S菨_txTutyP xDu} tyPU V话_l[^_UVS]sFV5  tV1e[^UEU rpp_CVS/Entries.Staticcannot open directory %sAttic%s/%sUWVS]}  tEut0hHfPZ}t MPtbt^hfuMVStShf5< `j(t!hfShfS _VShfV[^_.cannot open current directoryUWVSu} t)jShgP thg5< `jw' t*t&jSV tVhf5< `jE'hfSK؍e[^_,v.*%s$%sU4WVSu_ǃu hwhhzh]S_Sϡ_tPhhjj&W_tOp V趡_tj,Vw_gVCSu ItS말W_1e[^_..#cvs.lockCVSCVS.admUWVShwhhzhS*_S_tPhhjj&u_u _Dà ޿gt̉޿Hit޿ft޿Ki tS]_uSuhfJ_k\}tt@hUihf_u1hYihfТ_u PFVu N V_1[^_US1ɋU:t B:uȻЋ]US=0t30`0ǃ`DHy/hdRhdjS_@@؋]UVSu>tg9[ts9[uS1ҋ\t 4K4B~؋ 0` 0e[^US=4t4S4j Ãj jSB_؋]UUt0BJHBJHz tB JHBJ H RVUS]{t SC{t s蒗_{ts聗_CCC]US]S4C4]UWVS} wƃM|u[[ U\MDX 9\t(swE_u G[ U9\u؋M\SW_ Gx {M@GW@xx1e[^_UWVS]} t7Wtu$!^ 9tWs诟_t[ 9u1e[^_UWVSE1u1!0^9tSU ǃ[9ue[^_UWVSE8W9tU֋R_9t4SVUM уU}^KNFps[9u9u~ONFpw먐e[^_Usage: %s %s [-report] [-flags] [-options args] [files...] Reports: -T Produce report on all TAGs -c Committed (Modified) files -o Checked out modules -m Look for specified module (repeatable) -x [TOFWUCGMAR] Extract by record type Flags: -a All users (Default is self) -e Everything (same as -x, but all record types) -l Last modified (committed or modified report) -w Working directory must match Options: -D Since date (Many formats) -b Back to record with str in module/file/repos field -f Specified file (same as command line) (repeatable) -n In module (repeatable) -p In repository (repeatable) -r Since rev or tag (looks inside RCS files!) -t Since tag record placed in history file (by anyone). -u For user name (repeatable) UVSu] f=Ltsvh_f=Xt~t{tsv<_uqf=Pts v _uUf=Tt=sv_u9f=@t!sv_usv֙_uF +C uF$+C$e[^Can't parse date/time: %sUVSujV?ÃuVhStjj ؍e[^Tacelow?D:b:f:m:n:p:r:t:u:x:X:TOFWUCGMARdate overriding rev/tag/backtobackto overriding date/rev/tagbackto truncated to %d bytesrev overriding date/tag/backtotag overriding date/marker/file/repos%c is not a valid report typeOnly one report type allowed from: "-Tcomx".TMAROMAROFhistoryCVSROOT%s/%s/%sUWVSu} u hT khtWVà .C9$@vDzDzDzDzDzwDzDzDzDzDzDzDzDzDzDzDzDzDzDzDz(wDzDzDzwDzDzDzDzDzDzDzDz_Nhuh<_7f=,uff=4txu<=\ =`=t=fPfTf=D=XfLf=<tBtf=DtuPh<_fXfPfTf@_fuf<u>f=Du=XtfL=\u"=`u=tu=ufT=Xu Pu=tt%jTh<蹑_uhuh<蛑_)ލ<~4j3h'u 9|=t5Pu_$huhu5hhuPߐ_Phsj(5P5$p_1[^_acannot find own username~can't getwd in historycan't chdir(%s)can't getwd in:/%s%s%s%s*%x%c%08x|%s|%s|%s|%s|%s cannot write to history file: %sU WVSDž'u=\huhu5hhuSď_SJu\h }SzuP= PhΏ_  h_ǃ uh }jj% w踏_Vw5迏_VH_uh'}5< `j wD_}wh>}5< `jS_uwhN}5< `jV_S_VS5_u5%}}Tt} tM 9tDž^}M E 'uu 55h`}W_u Dž'uW~_(l_T19r FK9w 9vJ8t~!/_)Vhi}CP脍_uEu'uPPhj _Puhm}_$uPh}5< `jJ_[^_U`9\u$\\P5XXu `X`save_file: null dir and file nameUWVS} l9hu&hhP5d4dl45dlunj_W迌_\SÉUV }t:U:t2t"?tRSb_h^}S7_WS0_0*Cu t?t WS0_hjj e[^_Ux9tu$ttP5pTpu xpxU%x0123456789abcdefABCDEFFOTUWVS]} j(jWK_  `Bt CBuj SF_ƃu 'uFCG PheS_ ;Phh_tC;u;pC `Bt CBu_CD|uC `Bt CBu_C|uCj*w_ƒt,BEPheR!_MO CIO `Bt CBu_ C|uC `Bt CBu_Ctd|uC O$Ph贉_t_ `Bt CBu_Ct |u.e[^_cannot open history file: %scan't stat history filehistory file is emptycannot read log fileUDWVS]jS蘄_E}Sh5< `jw EPu_}h5< `jO  ]ԅuhτjj7  CPƉ5|SVuG_9th5< `j  u|_|3 t3 C3~!9 t `Pu A)9|Th$>P9T$TTPSE$9tR=t )ؿ($=8t 8)ؿ($8P$SVS :P/=t%+$()P==$=8t%8+$()P=8=$e[^_UWVSu] tPu JBUFV׆_ǃ;t(uS胆_ÃtCWSVɆ_ t;u1e[^_TFO%s/%sU WVS=\tMA 9\ 1=`tkjjjjUrjh`jr 4E$xt,jjpp ptM9A }EP뚐EP=tt?U8Tu%rht[M =ub==tRUrhu2MqhluUr hUM 8=XtHUzt?X=`8tPMqՄ_tOuUPh<襄_qMPh臄_=dd=l,1>*u/FV耄_PUr V苄_uXQMQUj/V_t!Mqq hS藃_UZSVuOr=pt=p=xxMyt3q蕃_tOuO[^_No tag found: %s No module, file or repository with: %s No records selected. *%c %02d/%02d %02d:%02d %-*s%s%s %-*s [%s:%s] {%s} [%s]= %-*s =%s%-*s %s %-*s %-*s %-*s =%s= %sHey! What is this junk? RecType[0x%2.2x]U,WVS=tt=uhthO~_=t=8uhh'~_h=Phڊ ~_NDžDžDžDžDž$(=PO*u DžVv ~_j/Ɂ_Ãt!~tvCSH_u ffvg_9}vN_9}Tt5)_9}v_9}~tv_9}(O5$V(PHP=Pu DžVGF Pvz_vppp @@Ph{_$vvh~_j/9_Ãt!~tvCS_u ffv W_j/W_Ãt!~tvCS}_u ff2$TTWvvhz_f=@h!~tF8tPh'z_h-v~_H)‰PvWh/Zz_PFu'uPWvvh@z_$hXz_ `9 `wj h `|p_  `(PHPn[^_UVSu] =t T-f=0tlO#vst}_vs^}_f=@vs:}_vsf=4tbf=Dv s |_vs|_uof=@tnvs|_uSvsBf=<tAf=Dt7t3vs|_u!v s |_uvsq|_t 1e[^. .. core RCSLOG tags TAGS RCS SCCS .make.state .nse_depinfo #* .#* cvslog.* ,* CVS* .del-* *.a *.o *.so *.Z *~ *.old *.elc *.ln *.bak *.BAK *.orig *.rejcvsignoreCVSROOT%s/%s/%s.cvsignore%s/%sCVSIGNOREUS5CjSSq_hVh`5hhhSz_$Sat jSjs_%Ps_t1xt+hqph|Sz_St jS"jh?r_PNrUWVS=tu=~, =А9:9|==5p_} t`=tK9~4p_C9====hRup_ƃt0VhSo_ tu SߐV^o_[^_UWVS}? `BGB?!t ?*} uG19~4o_C9?!D?!=t19~4Go_C9 P1ۃ9~ C9  9$@P5?t `BuF>t BtW t~G?;e[^_UVSuu!jV3m_ t;u1e[^Usage: %s %s [-Qq] [-I ign] [-m msg] [-b branch] repository vendor-tag release-tags... -Q Really quiet. -q Somewhat quiet. -I ign More files to ignore (! to reset). -b bra Vendor branch id. -m msg Log message. 1.1.1Qqb:m:I:warning: message too long; truncated!missing CVSROOT environment variable Set it or specify the '-d' option to %s.%s/%s%s is not a numeric branchOnly branches with two dots are supported: %sw+cannot create temporary file `%s' Vendor Tag: %s Release Tags: %s %d conflicts created by this import. Use the following command to help the merge: %s checkout -j%s:yesterday -j%s %s No conflicts created by this import - Imported sourcesU0'WVS} }u hiG f f ƅhWu 2z$ ||||||||||d|||||||ؚ|||||||||||||||||||||||||||||LP5hVD5/s_='v-hjjsh'5S&s_E5Sr_xj5'chEN )Mǃ} hZE9]~w6_C9]8/tZ=hu%hjj5h jj75hh2hq_5hr_Phq_=t1 `Pu;.thh8jjC;uhthhSjjhhZq_j.hq_=DtjhPj)PAq_t ( tƄ( Ƅ(jr_h;hSFr_Pg_uSh5< `j2Sr_wh5f_h5f_9]~#w6hƘ5f_ C9]h̘5f_GPEPwP`ƃ= =Lu55 hΘk_hk_7ww5h$k_ 5 hΘ5*f_h5f_7ww5h$5e_,,=Lu hJYk_hJ5e_CJhqCC Sp5hPh+ P5d_[^_.cvsignore...U WVSEEjhEhP+j_E u EuX_9}huhVX_hVX_uQPh VW_TSb_SSZ_2rrr B@PBc~lPh}W`_T(SZ_2rrr B@PBc~lPhXHQw`_$hh9V5W_ SWh>VW_hhdVW_ htVV_hhVV_ }SHh>VV__hVV_HhVV_1hVjV_hVSV_hh9V7V_ hV V_hV V_hǪVU_EPPU_PV_}uhΪ5< `j}~W]S4PjSWU_tuhު5< `jVSW WuU_hVGU_hhV+U_ hVU_Vu^_Pu3 hVT_hVT_tyVT_u < `rPS_fE%mPu 'R_ }2< `u hSj5du hSjpLL{< `VS_PS_u h;Sj5u h;Sj (u*u |__hWjj5hWjjL@<[^_UWVSu]} 9s\;@uF9Fwj@VO_@FV9VwPV|O_%Fu C9re[^_%c %s/%s %c %s UVSu ]=LuN=tV P=tVhPhF_X_VPhPIX_ =tV P=tVhPhF5R_VPhP5wR_e[^ERROR: cannot get working directory: %s/Importing %sERROR: cannot chdir to %sERROR: %s is a file, should be a directory!ERROR: cannot mkdir %s -- not addedcannot chdir to %sUVSu V,t 1ST_u1Shjj5pShjj}=uVhZ_ h@hZ_VhZ_=PuhhBjjVN_}/< `hhOSj5hhOh hUt*hhijj5hhijK=XuShhT_}=< `hhSj53hhSj=$uuuuƃj/hY_t SiM_}Sh5< `j[^U=$t5$Y$=4th054[4UEp1%s/%s#cvs.lockUDVSu=(t h(VhBS.X_SZ_=,t h,VhBSX_S_Z_hHVhBSW_PSX_t/O_f9u!=,u=(t=0tSU_0[^Reader_Lock called while read locks set - Help!#cvs.rfl%s.%d#cvs.tfl%s/%s.%dw+cannot create read lock in repository `%s'failed to obtain dir lock in repository `%s'failed to remove lock dir `%s'UWVSu1=Xt 1=$th#jjy=(uN_PhSh\h(UV_5$hjdhjXhjLhj @ hj1N_PhbVhkSU_htSL_$tPL_u,Vhw5< `j(SX_SW_hHVhBSU_VjS t!Vhjjb(h(VhBSKU_htSL_tPkK_u"Vhw5< `j (hHVhBST_SR_}Sh϶5< `j[^_Writer_Lock called while write locks set - Help!unknownlock failed - giving upunknown lock status %d in Writer_LockUS]=Xt1=4thjj<84 hDS觴<tt:t1h$jj/580t5<h<jjl]UE=<uP8pH<1Ð1#cvs.wflcannot create write lock in repository `%s'UWVS}=,uoK_Phth\h,R_hjhjhjhj hjK_PhbWhkSsR_htS(I_$tPH_u#Wh}5< `j4ST_ST_hHWhBSR_WjSƃ t Wt1u SO_}Sh϶5< `jh,WhBSQ_htSdH_tPG_ug< `SS_u4hHWhBSeQ_SGO_}Sh϶5< `j9Wh}j#1[^_cannot open directory %s^%s.*%sUWVSDž0uL_4uuhjjhShxSP_SyM_tPhjjwލ84M_tAX SuhBVTP_SFM_tWVhP_t W2Dž04D_0$[^_uid%dUS]C PH_t0hLP_C PhhO_]failed to create lock directory in repository `%s'couldn't stat lock directory `%s'U@WVSu} 0]hV|J_u021#=< `t uhSV%O_}&=< `tVh$5< `j@F_f9Eu u 'Stu?Oe[^_[%8.8s] waiting for %s's lock in %sUVSu]SP_VhSC_ Ph%jj#jN_e[^Usage: %s %s [-l] [rlog-options] [files...] -l Local directory only, no recursion. UWVS}Eu h @9}N] 8-t8u.Fxlu Ehh@M_3h@M_U 9|)U U jjjjjuRWjhjhhe[^_nothing known about %srlog%s%s %sfork failed for rlog on %sUVSuVu3tXu!=LuVhjjPh@h5`hsjjjjÃ$uVh5< `j4؍e[^Logging %sUuMu Ð=Puuhyjj%sModified Files: %s %sAdded Files: %sRemoved Files: USE ]UHXThxSKtW5Xh5H:B_5Xh5H$B_\hS h5HA_ThxSثtW5Xh5HA_5Xh5HA_\hS萫 h5HA_ThxSetT5Xh5HTA_5Xh5H>A_\hS h5HA_]UE@9Tt1Ð %s %s UVSuF9TucvJ_\F~#5Xh5H@_\ vh5H@_\Cv:J_É\1e[^w+cannot create temporary file %s%srcsinfoCVS: %s---------------------------------------------------------------------- %sEnter Log. Lines beginning with `%s' are removed automatically %s %sCommitting in %s %s editinfoLogfile verification failedwarning: editor session failedrwarning: log message truncated! Log message unchanged or not specified a)bort, c)continue, e)dit, !)reuse this message unchanged for remaining dirs Action: (continue) aborted by userUnknown input U(WVS=X= u 誽\PDI_h\S>_HuSh"jj)9t,QhB5H=_G_| th5H=_jh,uhEJhMhS5H=_hMhMhMh5Hx=_0}t hMuhMh5HR=_uhM5HhMhS5H'=_5H|<_P\SYF_$u DžD=Pt5P=_Pjhuh JPudPhBaSjjjj,t:=PtR1҃u< `R=P%Pt h>\PdHM x5HhV;_ tQjhMVE_ tu E_VE_Ã'Vu VE_멐h@jj 5H;_P\PD_ uD9t M 9tu h`@_h@_h@_h `:_ƅxh< `hxP:_xt}x ttxctkxCtbxat xAuhjj xexEx!th0@_< :_\P[^_Couldn't open rcsinfo template file %sUVS] =Dt4S5DC_u 1=Dt5D4:_SgDh>S9_ƃ t6xVhS9_ t5HS9_V"9_1Shjjp[^'%s%s'loginfoUWVS}EMU hlUd pWNzƃ=Luh@ַLLT hd5p Thd5pThd5pآThd5p辢 VB_5LtB_\S>`5LVhPA_5L8_L jh4WhE5`~8_e[^_U5p5d5l5h5`u u US]C9Tuhb5LzA_s5LlA_1]wcannot write entry to log filter: %s(unknown)Update of %s In directory %s:%s Revision/Branch: %s Log Message: %s Status: UWVSu ]}h0uݵSSSSSSVP^@_$hÃu6=Xuhjj7_.hPQ_}& f fuhS6_V9_uPPhSp6_}tM9tQhSS6_ u hSuhS46_tehS"6_W =_ G9GwWj2_tGGt"S9Sw%PS1_빐C뱐5_S;_[^_US] =Pt*S5P?_t"=Pt5P5_SȴP1]/usr/binviaddadnewadminadmrcscheckoutcogetcommitcicomdiffdidifexportexpexhistoryhihisimportimimploglorlogrdiffpatchpareleasererelremovermdeletestatusststatrtagrtrfreezetagtafreezeupdateupupdUsage: %s [cvs-options] command [command-options] [files...] Where 'cvs-options' are: -H Displays Usage information for command -Q Cause CVS to be really quiet. -q Cause CVS to be somewhat quiet. -r Make checked-out files read-only -w Make checked-out files read-write (default) -l Turn History logging off -n Do not execute anything that will change the disk -t Show trace of program execution -- Try with -n -v CVS version and copyright -b bindir Find RCS programs in 'bindir' -e editor Use 'editor' for editing log information -d CVS_root Overrides $CVSROOT as the root of the CVS tree and where 'command' is: add Adds a new file/directory to the repository admin Administration front end for rcs checkout Checkout sources for editing commit Checks files into the repository diff Runs diffs between revisions history Shows status of files and users import Import sources into CVS, using vendor branches export Export sources from CVS, similar to checkout log Prints out 'rlog' information for files rdiff 'patch' format diffs between releases release Indicate that a Module is no longer in use remove Removes an entry from the repository status Status info on the revisions tag Add a symbolic tag to checked out version of RCS file rtag Add a symbolic tag to the RCS file update Brings work tree in sync with repository Uj,_cannot get working directory: %sRCSBINEDITORCVSROOTCVSREADQqrwtnlvb:e:d:HPatch Level: %d Copyright (c) 1992, Brian Berliner and Jeff Polk Copyright (c) 1989-1992, Brian Berliner CVS may be copied only under the terms of the GNU General Public License, a copy of which can be found with the CVS 1.3 distribution kit. %s/%sCVSROOT.adm-HYou don't have a %s environment variableSorry, you don't have sufficient access to %s%s/Sorry, you don't have read/write access to the history file%s=%sU WVS71Džj/U 2'5_uM h蠩Py-_u5h,jj`hM+_t`DžhT+_tdh[+_thDžhc[+_t Hhku u舸 8$xlllllllll`llllllll\lllllllllllllllllD0lllllllllfxllLPHHTX\h `h$(_h `5\(_jh{S1_h `S(_$h `h(_j'_`Dž  dhDžh| )ME } h|i=htjh[5hhrV0_V u3hx5hhrS0_St VS8._5hھU @t}~'M quE=ht h8uh[hjj"h[5hhrS0_jS#_t+5< `5hhjjڱShVj̱ hS0_hS0_SEt4jSb#_t%5< `hjj胱ShVjut55h0_ Pͤ5hh[hSI/_S+_t55`/_P菤5`hMhS /_S+_`8t>P/_`|/t(PE`SP=/_h5` /_l=ltW{ts._t7{ts._t3._t;u;uh|@h jPh jDh j8h j , h j3Dž1t FO)ȃtjjjh `-_u uC Љt#}9u Dž[^_Can't parse date/time: %s%02d.%02d.%02d.%02d.%02d.%02dUS]jSuShOjjPO&_0ppp PBRPc~lRhiS,_$SUS]5@53h `Z#_;t3h `D#_;ujz"_rUVSh\u"_ƃt!j蚡PVZVP"_1e[^US]S?S"_]UWVS] uFPDVSW,_8WM15tHMp@,_EEEW"_EUe[^_UWVSMX9tsV+_11[MYe[^_UWVSMY9tsV+_11[MYe[^_warning: NULL value for key `%s'duplicate key found for `%s'U'WVSDžxuhW:!_ j WO+_tt S+_ÃW*_~D8\uDž DžWS*_#o\ `BtC;>Bu;,肈Ɖ;t  `BuC;t BtC 负F;t% `BtC;tBu;u vh(SrFVu ~vhjj V裈_[^_US]U x识thS蛉ut ht1]UWVS}5xw]ƃt.Gw豞CCsS5t1e[^_,v%s/%s%sAttic%s/%s/%s%sUWVSu} h\VWh_S(_S踚u9h\VhgWhmS'_S蔚u1StH SvtH[^_rCouldn't open rcs file `%s'`%s' does not appear to be a valid rcs fileheadbranchsymbolsdateUTWVShu_Euuh5< `j 1(j uEj jP4"_EuUB谄UB襄UBEPEPu t}u6=Luuhjj舨EPu_1K}u}tu芜UB |P}u@}t:uZUBPCj.Ep&_)W}u$}t襃UBuPrM 9tA `Pu9.t9juh_3&_ ]]]]]]U  `At BAuRu%_EGl@ju]CGjjP. _wuGuuu(uuuuFCuuu}tmF uPuuu }tu裚FuuuZƃ |9M9tA `Pu9.t9ujuh_$_ uWEpȃuEp躃u#_Ee[^_UEPUS]tx;ts8ubp_PPׁ xt PÁx t p d_xt pQ_3G_]USEX{ t C Po{t s_S _]UdescU WVSEEUB9BwR_t}GG" `Xu548U;9uv؈FD8P54F4588=4=8}؈FUB9BwRc_t}GGv `Xu ;f4uU }];u=4U :U:uS#_5<=@}UB9BwR_t}GGE}@u:UB9BwRN_t}GGb@u9uw?@P5<讖<5@@<@U؈F}G9GwW_tUBBB;}t(@uEE `X `XtE E9uw?@P5<ҕ<5@@=<=@}؈FK}t 95<tNt=<t-<8t#U%} U}=4U :1e[^_UWVSu  `Bt FBu>tquj:Vv_~ `Bu?tFBu>u>tF}u CWCSu|~pe[^_UWVSu  `Bt FBu>tQ `Bu?tFBu>u>tF}W{CSu} 뒐e[^_UWVS]U }EttNt>PRSnƃ u1Ij.V_tVWS~V_"PRS0uS.PWS\e[^_HEAD.%d.%s.%sUWVS}} tCE t8u(}uFFu  `P}au uv}H@E Pj.u _EKE;.tK;.uu R_@Pjh W_W6_PSWF_$u[u 踒E.uPhWo_jWuHE WP_}tu?_EEW&_u _u |.uV_Dؐu uuu u;}t"u uvH|t u }u u"1e[^_%s.%d%s.%d.%dUWVS} W_PÉ|VWhS[_jSu4u-VjWhS:_hUr{uP_릐e[^_UEp5|P_t1øUVS]  `PtS谕4uu%{ƃFSp {ƃvkum~ej.v)_Xx.tK;.uv_@P諏jh V0_V_PSV_$uV _ V_1e[^UWVSuu`zǃGu pEzǃw褔u wݏ~uj.w]_EKE;.tK;.uw_@Pێjh V`_V_PSV_$uuwhV7_.V"_1e[^_.UWVS}5j.u _ƃu _PPu WI_hW_Ur tCWR_PVWb_t-VUryÃuW_[suWp_Vu Urx.tj[{ tgu _P虍u W_hWg_C 0^9tW_PWs_t[9uW_9u }t#1})}t4EP` _1qqq A@PAc~lPhV_Ee[^_kvkvlkvo%s %s: invalid -k option valid options are: -k%s Please retry with a valid -k option-k%sU VSut1D=Dt3V_t;ut;ui5@5hh ` _hh ` _D=Dt3h*h ` _ ;uh2jj袔 3hV]S_SɈe[^$,.:;@tag `%s' has non-visible graphic characterstag `%s' must not contain the characters `%s'tag `%s' must start with a letterUWVSu" `PtT>t\ `PKuVh)jj軓PW_tWVhUjj藓C;uVhjj}e[^_%s: must set the CVSROOT environment variable or specify the '-d' option to %smodulesCVSROOT%s/%s/%sUS=hu,5h4h `_5hcjjȒhh5hhS_hjSSUEtPcannot get current working directory: %s%s/%s,vAttic%s/%s/%s/%s%s%s/%s/%s%s. cannot find module `%s' - ignoredcannot chdir to %sCVSCVS.admEmptydir.w+CVS/Entries.Staticcannot close %sXXX%s %sad:i:lo:s:t:u:modules file has invalid option for key %s value %smodules file missing directory for module %sMal-formed %c option for module %s - ignoredCVS/Checkin.prog%s CVS/Update.progfailed chdir to %s!%s %s: Executing '' URWVSDžDž|DžxDžtDžlDžh1DždDžPS_uSh*jj<u }M \Q_`}t'`\uTX DžTTtUTXj#T!_ÃtK `PuTu ԃlu 5hhSPv _j/u 4_Ãt3hYCPh\u 5hhbP8 _/'hYu h\5hhpP _S)t u hYS1 _Sg uPTj/u { _Ãt*9] t*u P _j/VT _ q9] u'f {f }E @P#f {f }u V{ _M 9/j/Qd _ÃM \Q _`}t&`\uTX DžTTt]TXj#T _ƃtN `PuTu 蔁lKh/9/u h~jj(Pl)lV>ppj&VN _à 9{9tK `Pu9}( ]u] SlS_}#Sh5< `j|1Ph|h|hh5hhS- _S|uhSU_jjShgH=XFhh|P_ %hh5< `j诋ht1VhhtS _SSPhV臎 6w$tHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHPHH`HHHHHHHHHHHHDždltl4_5b~l E$ | x{ tgT\h jj覉P+ ƅuCu h=jjbltlO_pA_PIdtK19u,u(u$u uuuu6u:P(C9uu u$u hluVSMP$VS}$1j&W_ÃtsK `Pu1 `Bt GBu?uu j&hjjj2)u,u(u$jjuuuWuQP(jP=X}}(tJhhxhS_S_uhh5< `j|ttJhhexthS2_S_uhh5< `j)S_}Sh5< `jP}(}u xu}||}uxuul<v"WVhSS_SwtVWh },t u,莀=Pu-5@5h_h `.h_jjjj|Pltl_p_PD[^_UVSu] =tsv%_u 36_e[^UWVS} =tU:-u za]|9xu$x@xP5;y|5GPxÉWuS_E@PxN]U= `GtCCGu6 `Pt" A= `GtCGuCA;u=tMF^j-S_t2ysu!y uN9 tA9 uY YÐ^j#S_Åt{ uCC; uC^ F  |e[^_failed to open the modules file%-12s %-11s -a %*s -%c %s %s %*s # UBWVSM Džuh jj螃 W%$VSW t RPVSW?Éփuh j5|5_MI N+ Dž9 || x1h *_}t=xqh _xytq<_xQ xq1hxSr_SSP{1ۃhW_ƃ t}}u߃auh `_5_D9sh h )_1ۃ 5Vh _5M_Ãk )K7!_؃9sh h _1ۃ 7h _C7_à uh }_xރ;tph h S_V_9|vV|K; t9w9uSh_CVh_ހ;ux9 |l[^_co%s%s -p -q -r%s %scould not check out revision %s of %s-> unlink(%s) U WVS}] { t C xu S{tCxtph<tEuu<Ph=5`h@HyC pyjjuV_Pjz(WPpu jWtVW[vuX=Hu jWsW:lssuVuCPWuK V_Wu]@C1ۃ -&W3hS1҃u< `Rj~=TtEPhyh `_ EP_u_؍e[^_CVSROOT variable not setCVSROOT%s/%s/%srsyntax error at line %d file %s; ignoredDEFAULTALLKeyword `ALL' is ignored at line %d in %s filebad regular expression at line %d file %s: %sUWVSDžpDžh=huhjj}uh)5hh1S}_h:S2_lu 1cu 3XDž`DždtTlhT_ `t#tЋTttt  `AtB:tAu:t\:tQ  `AuB:t:At:t,B:t#  `AtB:tAu:uu`h<j S_ƒt\euSQph\mu=}tSu upu`hqjj{\_t"Pu`hjj{^Xq_FSu upDžd%ly_du ht+hu upht h_pH[^_Usage: %s %s [-Qflq] [-c|-u] [-s|-t] [-V %%d] -r rev|-D date [-r rev2 | -D date2] modules... -Q Really quiet. -f Force a head revision match if tag/date not found. -l Local directory only, not recursive -c Context diffs (default) -u Unidiff format. -s Short patch - one liner per file. -t Top two diffs - last change made to the file. -D date Date. -r rev Revision - symbolic or numeric. -V vers Use RCS Version "vers" for keyword expansion. V:k:cuftsQqlRD:r:no more than two revisions/dates can be specifiedmust specify a version number to -V-V%s-t and -s options are mutually exclusivemust not specify revisions/dates with -t option!must specify at least one revision/date!second date must come after first date!PatchingUWVS}] Eu h+hSWz 6$d4X($TDLP=u =thjj v =u =t5?5$=u =thjju =u =t=t5l_5j j5A_ hjj(u =t5_5_Prh5hP_( h+=Å h=ta=thjjbt =t>=u=u=u =th.jj$t =u5=u5=u#=u=uh_jjs =t2=t)55|hjjs =uhgh(j}h(j}h(j}h(j } h(j~}Eƃ~/jhV_ u*j SG_tj V2_ƃhYjhSc_ u:jhVO_ u&j S_tj V_ƃu.hjjRiDžW_=ht5hh P$_ '    S_PS_uSj_j,_t9M 9tPu h Pz_'    f fu" PM 9tPu h S_=t!SSh* C_Sh9 SShF "_ShU _M 9tQh _Vhh_ hWhS _ tShb _ݐW_he jjuhq.Pth\5S5X6d=tC55X7h(=tt5-\=d=t,=Xt#5Xqthy.jj_ =t$=Xt5X5d` `h15d=ƃ=thd:h`:h\: }t0=t' )=tP5XVЉƃ =hth15h=ƃhh:tW+_Xe[^_UE=u1Ð5`5\5XhpU WVSEXDžDžDž޿ )t]=t hL)h_Sh_Sh_=Xt=S5Xh")PI_A=uSh_=Xu ƅ5XPv_=thPSЉ tR_uh()jj\hXhS_}ShN)5< `jR\=u Dž )uDž55555555$tf )f=thSЉ _}hN)5< `jk[hXj/h_t [^_UVSu>u67u 7OCS68e[^Usage: %s %s [-d] modules... -Q Really quiet. -d Delete the given directory. -q Somewhat quiet. Qdqcan't chdir to: %sCVSCVS.admno repository module: %sno such directory/module: %sno such module name: %s%s %sad:i:lo:s:t:u:modules file missing directory for key %s value %srepository mismatch: module[%s], here[%s]rcvs -n -q updateMARCZYou have [%d] altered files in this repository. (and delete) Are you sure you want to release %smodule `%s': ** `%s' aborted by user choice. U3WVS}u h4h+5u u[à tRdt1?t6Qt /qt %LP벐f말h辩땐 )ME 4u h}Q} 79Htb7o_}=L7h/5hB5Gu?hF5Gu.=L7hN5~=L7hg5hjjc PC  7_ Uu7h5jjW,j#P_ÃtK `Pu h5_ SPIOh5SY u狕+5Å" h5jj4VO3_t,3h5jjV_=Lh6h6$_1ۃhZ_ t+Ph!6_tC_빐_Sh'6_7f6f=tX6Phg6_lbu%5@h6h `__7hf67hf67jFC_f=t 7Mu 921[^_...Parent dir on a different disk, delete of %s abortedrm%s -rdeletion of module %s failed.U@WVS}]Sh:j_uh:_SWV_9ut Wh:j=h-;h0;MW/NjjjjVOtWh6;1҃u< `RjSe[^_Usage: %s %s [-lR] [files...] -l Process this directory only (not recursive). -R Process directories recursively. lRthis filethese filesuse '%s commit' to remove %s permanentlyrmno files removed; use `%s' to remove the file firstUVS]u u hh[<VSU t4Rt~lu  hΣ빐+jjjjj5 VSjh?jh0>Ã0=t,h<=u^<P5ht<jjQ=uh<h<jjQ؍e[^nothing known about %s,pCVS%s/%s%s,tremoved `%s'.-scheduling %s for removalUWVSu}uWjjVjjju;$x 8u#=PVh=jjQ80uuxuoVW`h=Vh=h=S_S2G h>Vh=h=S_SG=PuVh>jjPh8-tZf >f2S_pppp SVW1$=PuVh>jj6PPu=1[^_Removing %sU=Puuh?jjO.CVS%s/%sCVS.admin directory %s:there is no version here; do '%s checkout' firsterror: both `%s' and `%s' exist; I give upcannot rename `%s' to `%s'; I give upCVS/Entries*PANIC* administration files missingCVS/Repositoryrcannot read %s..../`..'-relative repositories are not supported.illegal source repositorymust set the CVSROOT environment variable or specify the '-d' option to %s.illegal repository settingthere is no repository %sUWVS}E 1Dž?t 8tt3h?Wh?P_h?Wh?P_ $ ? ? ?P=ƃu@P=Ãu3h?jjNM5h?jj:M t/h?jjMh?h?h@jjL$PP_}3h?jjLh?h?hE@5< `jL$W}thk@Wh?P_& k@ o@ s@S=u%h?jj9Lhw@jj+Lth@Wh?S_߾@fS<u%h?jjKhw@jjKh@S<VhSO_u.h?jjKh@h@5< `jqK V謿_j S4_ t޿@tjh@S_ u3h?jjKh@jj Kh@jjJ(/t{=huJh?jjJh AjjJ5h6AjjJ,hXAjjJ VS _S5hh?V_S:u&h?jjQJShsAjjBJ SVSs>[^_US]u145h_PS5h_t5h_D]Usage: %s %s [-QaflRnq] [-b] [-d] [-r tag|-D date] tag modules... -Q Really quiet. -a Clear tag from removed files that would not otherwise be tagged. -f Force a head revision match if tag/date not found. -l Local directory only, not recursive -R Process directories recursively. -n No execution of 'tag program' -q Somewhat quiet. -d Delete the given Tag. -b Make the tag a "branch" tag, allowing concurrent development. -[rD] Existing tag or Date. anfQqlRdbr:D:-r and -D options are mutually exclusivewarning: -b ignored with -d optionsADUntaggingTaggingU WVSu} EEu h̘hGWVJ 3$|HJJJJJIJJJJJJJJJJJJhIIJJJJJJJJJJJJJJLIIJIJIJJJJJIJ\IJJrII$ELP00 (}k=,t5,謺_5~,9h&+5ǃ h輖N=,t=thGjj%E = t=(thGjjE 5EhG35= uu,u GGPjT25ujjjh|K H= tGPj3u诳E<9{uñEe[^_%s/%s/cannot chdir to %sU WVS}M 15hh`KV _M 1Qb_j/W_Ãt7hfKV_WV_hfK_W_{ WVh`KS_S3t+SV_hfK_W_DM9~u 61_CM9WY7M AMSw_}ShhK5< `jBh= u=$u=t=tjPjjR50E PMHPjhPjhM2[^_headcannot find tag `%s' in `%s'rcs%s%s -q -N%s:%sfailed to set tag `%s' to revision `%s' in `%s'UWVSuus u p= u'=$t+=u"=,uFtFt V55,5VdǃuW=$t V=Pb=Uvu=MPhBMjj/A-=tK  `Pt7WQl_t)=(tWVe5Yjj5V蠠Ãt$SW_u W觵_SS蚵_=(tWVS5h_M5`hcM9v:jjjj;t?=Pu'vS5hsM1҃u< `Rj@W _ W_1e[^_%s%s -q -N%s/dev/nullfailed to remove tag `%s' from `%s'US]=t$jj5StP致_jj5SPtuPg_5h_M5`hO8st9jhOjj:(t5=Pu#s5hO1҃u< `Rj>1]%s %sU=Pu%u H= tGPhPjj>Usage: %s %s [-vlR] [files...] -v Verbose format; includes tag information for the file -l Process this directory only (not recursive). -R Process directories recursively. vlRUVS]u u hX>hQVS@ tPlt# ?t4Rt#-vu'TǐPPhXҎ띐+jjjjj5PVSjhWjh4Ue[^UnknownNeeds CheckoutUnresolved ConflictLocally AddedLocally RemovedLocally ModifiedEntry InvalidUp-to-dateNeeds MergeClassify Error=================================================================== File: no file %s Status: %s File: %-17.17s Status: %s Version: No entry for %s Version: New file! Version: %s %s RCS Version: No revision control file RCS Version: %s %s Sticky Tag: %s - MISSING from RCS file! Sticky Tag: %s revisionbranch Sticky Tag: %s (%s: %s) Sticky Tag: (none) Sticky Date: %s Sticky Date: (none) Sticky Options: %s Sticky Options: (none) Existing Tags: No Tags Exist UVSuEPuuujjjjjV(Hws$lUUUUUUUUUURFR>R6R.R&RRRRShS_Exu SVhTSSVhsS_ E8uVhS_680uxuhSų_UB P2hS誳_ UzuhS蔳_B prhTy_ My&Y{ tpyu s hTs  `PtVhMT4_Lqq1€kT9tbTQs hrT_hT_{tshTв_hT農_{tC8tPhT袲_hT蒲_=TtCEx t:h Us_E@ xth Xph UF_h0U9_EP(%1e[^Examining %sU=PuuhWjj7 %-25.25s (%s: %s) US]ssj0€kT9tbTQsh X襱_1]Usage: %s %s [-QlRq] [-b] [-d] tag [files...] -Q Really quiet. -l Local directory only, not recursive. -R Process directories recursively. -q Somewhat quiet. -d Delete the given Tag. -b Make the tag a "branch" tag, allowing concurrent development. QqlRdbwarning: -b ignored with -d optionsUVS]u u hZhmYVS9 P20$Y[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[Z[[[[[[[Z[[[[ZLP@@8<h+ƅu h4K=8t=<thtYjj*4 54 jjjjj5@VSjh_jh\e[^rcs%s%s -q -N%s/dev/nullfailed to remove tag %s from %sD %s/%s D %s 0couldn't tag added but un-commited file `%s'skipping removed but un-commited file `%s'cannot find revision control file for `%s'%s%s -q -N%s:%sfailed to set tag %s to revision %s in %sT %s/%s T %s UWVSuujjujjjuTE$=8jj54p oEmEx `up_54h[5`h[+E@ pw,jh[jj-ƒ(t>=PE@ p54h[1u< `Pj1=Lu >tuVh[uh[0uU[u=Ptuh\=u>-u=PSuh-\x u&=P5uhX\jj81jj54p Ãt&Sux_u S_S_=<tuEp T]S54h[5`h\M*E@ p*jjjj+ƒ(tE=Pu,E@ pS54h\1u< `Pj[0EP?=Lu+u >tuVh\腪_ uh\s_EP_1e[^_UntaggingTagging%s %sU=Pu%u_=8t_Ph_jj/Usage: %s %s [-APQdflRpq] [-k kopt] [-r rev|-D date] [-j rev] [-I ign] [files...] -A Reset any sticky tags/date/kopts. -P Prune empty directories. -Q Really quiet. -d Build directories, like checkout does. -f Force a head revision match if tag/date not found. -l Local directory only, no recursion. -R Process directories recursively. -p Send updates to standard output. -q Somewhat quiet. -k kopt Use RCS kopt -k option on checkout. -r rev Update using specified revision/tag. -D date Set date to update from. -j rev Merge in changes made between current revision and rev. -I ign More files to ignore (! to reset). ApPflRQqdk:r:D:j:I:only two -j options can be specifiedCVS/Entries.StaticUWVS]} 1u h#~/h~bWS/ @3 $(c@e@ec@e@ed@e@e@e@ed@e@e@e@e@e@eddd\d@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@e@ed@ed@e@e@ed dPd@e@e@ednddj50=t5t_51LPm]K5{0!X=Lthbjj* =DtLDh{+DžP=uG=t hbs =u=u =t55j =u =tj5L5DP5555V5555WS$Ã<=t 5o_؍e[^_UWVSE]$M0}8u>>>>>> conflicts found in %sC %s fork failed while examining update of %sM %s U WVS]3uhorhrrPN_U:tuRhiP._uP艚_WVWu jus3shzr5`hrj,C pjjjjv]V3hr1u< `PjWVhrj%Pa(uWAsHnuCssss suu=Dt;t 3_s1hrhryhrutjjjjuO=XuPhrjj=LuPhs̔_u usujCLuPh s5< `j>0=LuPh2s~_u usujG1[^_cannot find revision %s in file %s-kk-r%s%s %s %s%s -r%sUWVSM9y A x=D=Lj5P5LPCyǃu6=P=Pu5Lhujj)j5H5DMq xƃu2=Pu#=Huu5DhujjWBWM11_VW9j.Vm_)@PWVJ_|j5H5DMq GxǃM1W軖_uWu 5Du?|ƃ t>j.V_uV_1tWVf_u W_YM1uhorhrrP֕_M9tuQhiP趕_uP_Q u&ju MQ:uuWuXmPXmtuPRhzr5`huMA pI jjjjmÃv_QWhr1u< `Pjhrj%P(u7 W蚋_tV荋_[^_.cvsignoreUHWVSu l1t FO)ȋU UuEXmhl:_Ejh&yuD_X ޿lt׉޿ktSuOuEPS覎_tfEf%f=@tf=tS|uuj?S nu(_e[^_BASEU WVSj$j$jS舎_}$u1uu$‹M$pt|z7N wD C }ut>uw ' C}ut>uw C} tM 9ut>uwC{} tu t>u{u$v C{uhu({uvWC{uvCC}(tuu(pƒRuuiƒS {u{t}u BtPBuJ{t)s=zu3UCussRU>sCU} t0{t*jjsR|EEtEPu趓_}$t u C؍e[^_U@SEPu%_}13j3UÍEP超_@ PSC_EP袅_@PS_؋]US]x t Pl8t 0臇_xt pt_xt pa_x t p N_xt p;_xt p(_xt p_3 _]-> copy(%s,%s) cannot open %s for copyingcannot fstat %scannot create %s for copyingcannot read file %s for copyingcannot write file %s for copyingcannot close %sUHWVS=Ttu uh}h ` _=XEju_ǃ}uh}5< `jEPW _}uh}5< `jfE%Pu {_ƃ}u h}5< `j}~uuuSW訋_9Etuh~5< `jWuSV_ 9EuV_uu h$~5< `jS_W蹂_V賂_}u hE~5< `jUUUUEPu d_e[^_U@EPu_|fEf%f=@%1U@EPur_|fEf%f=%1U@EPu芍_| Ð1Uju_%Uju߀_%cannot open %sUVSuu V跃_ÃuVh5< `j؍e[^-> fopen(%s,%s) UVSu] =TtSVhހh `s_=Xu SVH_1e[^Directory %s already existsDirectory %s already exists but is protected from you%s already exists but is not a directorycannot make directory %sU@S]EPS_uCfEf%f=@u#jSk_u Sh5jjCShQShjj} =Xu%hS貆_}Sh5< `jL ]cannot make path to %sUVSu=XulhV`_tZ=< `tQ=< `tVh]5< `j 3j/V谋_Ãt V/{t hV_e[^bad malloc size %dmalloc failedUS]Shjjn ؅uPN_Ãuh jjC ؋]bad realloc size %drealloc failedUVSu] u S{7Shhjj SV7_Ãuh|jj ؍e[^UVSutVR_@PVS_1e[^cannot stat %s-> chmod(%s,%o) cannot change mode of file %sU@VSuEPVo_}=XVhs} t&j[_SR_EӁ à f]ȁm=TtSVh$h `_=Xu!SV=}_}Vh55< `j e[^-> rename(%s,%s) cannot rename file %s to %sUVSu] =TtSVh h `'_=Xu"SV̅_}SVh5< `j e[^-> link(%s,%s) UVSu] =TtSVhh `~_=Xu SVx_1e[^-> unlink(%s) US]=TtShh `l~_ =XuS_1]cannot open file %s for comparingcannot read file %s cor comparingcannot read file %s for comparingUPWVS}jW_E}Wh75< `jju ʂ_E}u h75< `juVu}_}Wh}5< `j~]Vu}_}u h}5< `jS9]u1SESESuuR_9tWhY5< `jSuu)_ 9tu h{5< `ju}1t ^O)u|_u|_uGz_u?z_؍e[^_UWVS}19~u 6q|_C9e[^_ UVS]u EhPPPnhPj_uݍe[^U1U:t:.u@B:uLOGNAMEUSERuid%dUS}_؅u0h|_uhˆ|_u |_t8u)Sj}_tShLjhT|_T]US?19p~,l<t4A{_lC9ppE Pu5h_hP5h_tPZhPjׄ_u]Uu1US]E PS5h|_5h]US]p9t$t2tP5lHlt S plppl]U=huh(~h-> system() cannot open %s for reading (prog %s)cannot open %s for writing (prog %s)broken pipeULVSEE=Tt+hh `Ny_h ``hh `5y_=XtMu 1(jEEEAAMtAMt}t Popen(%s,%s) UVSu] =TtSVhh `[u_=Xu SVz_1e[^ Concurrent Versions System (CVS) 1.3 %s [%s aborted]: %s %s: %s: : %sUVS]u =@t8@8t.tP5h P5hh `t_5hh `t_ EPuh `?_ tV~_Phh `Rt_ `9 `wj h `>p_  `h `s_tm$SSs_e[^UWVSu}]5hVs_EPSV_tWx}_PhVs_F9Fw j Vo_ FV0s_} t#u r_e[^_UWVSu+)܉e=SPuw_ = =)PRQXw_ +SuP7w_+==e[^_POSIX_ME_HARDER--%s: option `%s' is ambiguous %s: option `%c%s' doesn't allow an argument %s: option `%s' requires an argument %s: unrecognized option `%c%s' %s: unrecognized option, character code 0%o %s: unrecognized option `-%c' %s: option `-%c' requires an argument UWVS=u~xM9-u |M9+u|AM*hƑ&r_t| |=xtx8=|9t9t$u T9t  M9 }K3=tM 8+uxu#@M9}M 8-uĀxt  M9 t}M 4֑uT9t%9tu 9u  M  M9 u9t<5M 8-uxub=t 8+uxuN=|u M  MEM @x=ZM 8+t==8-4=xEE1EG?t?=u5>ti+xP5x6Uox_ Uu8+x6U;x_U9!u ME>u}t)}u#M 41hّh `n_AM @?t/z~ G=u2M DP1hh `m_)zuOM9 |3M t1h$h `m_5xTw_x?M 5xU%w_xUztBR 1B =t(M 8+txPuv_uO=t)5xM P1hJh `l_5xv_x/xExSu v_x:ut}:uB=E<^vSM 1hjSM 1hh `Gl_x:x:u:t _V:t CM9 u%=tSM 1hh `k_E?M xEe[^_UVS=t=t 1EuSV1t_uC C=uj؅uPh_=uj؅uPoh_1=t =ue[^UVSutVЋ[ue[^UWVSut 1EV]Ss_EPSjes_tU 9t[uum<u0EEEPEPVr_ǃ u.u*jn_ÃuU SjEPjr_e[^_U WVS}t E1EW]S*r_EPSjvr_֋Rt.M 9 ut#uJ JNRdi_<ujPWq_E jEPjq_Ee[^_UUu&=uEhEPjq_U uHujhjq_./UWVSE]j/Sq_tY;u 9]u,}u&޿t޿uEPS"؃/@u(e[^_UUE  B@8uUS]Sq_H~</uؐH9~8/t]USh `Bg_@ `9D `wh< `c_t@ `@ `1ۃytYu=6@ `9D `wh< `c_t@ `@ `t u؋]                    $!%" # &' &  *  $0'.  !#'"$+(%)&1,-/         ,parser stack overflowparse errorUWVSpDP@Dž<DžLDžHn@fLf<UDL9@0D )׉F<'~h o<'~ Dž<'<E)܉D'~F',d ,'>cdDž884,)Ƌ4҉,)׃8]r]ȠЉL'w f ERf9uEL]PLHuhHu=tDžH9DuoLLMtC'wf<]Ru]}tUt1t41[^_januaryfebruarymarchaprilmayjunejulyaugustseptemberseptoctobernovemberdecembersundaymondaytuesdaytueswednesdaywednesthursdaythurthursfridaysaturdayyearmonthfortnightweekdayhourminuteminsecondsectomorrowyesterdaytodaynowlastthisnextfirstthirdfourthfifthsixthseventheighthninthtentheleventhtwelfthagogmtututcwetbstwatatastadtestedtcstcdtmstmdtpstpdtystydthsthdtcatahstntidlwcetmetmewtmestswtsstfwtfsteetbtzp4zp5zp6wastwadtcctjsteasteadtgstnztnzstnzdtidleabcdefghiklmnopqrstuvwxyzU1UVSM] uE;wV;wQtt$wC)(A w0)A wA ))Ѝe[^UWVS]u M}كclȅ}A$9u*ȿduȿu NC 94Nu~8}9|9}'Ѕ}B$9u EnEmB9|܋}})‰)E+Eu uuu[})E}$t}$uEP(Z_x tEEe[^_UVSuVY_@@ӍE PY_@@ыE +E)ˉ])ى)e[^UWVS}u ]}EPY_+XCR)‰)ED)‰)EuW;e[^_UVS] tUuV(Y_EPRPډо BjjE0ppQp RuEPuEE1e[^ama.m.pmp.m.dstUWVS];t43 `pt9t  `C;uϋutuuYutuuu]_u'u]_uUz.u B1=t5tj3u]_ uc3u2]_tO ;u˻h=ht3u ]_t' ;uuuSSCA=t3u\_t˃ ;uu\_pU<su4=t3uj\_t ;uUsx=xt3u:\_S ;uUzu; `Pt-=t3u[_ ;u1E];t8.tCF@8ut+h=ht3u[_ ;ue[^_US `Bt@Bu ѡ `Pu-t+-t+u*-u@ `Pt1  `DBУQ$u }  PtN]E9s Cѡ `P$u؀.t EPE(t 21Ґt(uB )uJ1]U VS] M u ]SP_ST_ƋN NA N K u}=t=k=b=Y=u=u =tG55555555à }1v=uV+VV))5SrÃ=t=u55SÃ%!؍e[^Su1҃=tB8uЅtЃu[S=t Ѓ;uh.K_[=,u,/usr/lib//lib//S\$̀[̀} أ4%1̀} أ4%/̀} أ4%2̀} أ4%SV\$̀} أ4[S\$L$ T$̀} أ4[WVT$ t$1Ou^_WVSt$\$T$t%1IQRV Su[^_' : can't load library 'Incompatible version. Too many libraries. No such library. Permission denied. Exec format error. Unspecified error. Corrupt fixup table. VSt$ F8tH8tjhjhxD 0K}[^ÃUWVS\$S|$ }99tjhj}hw3xt$D 0N}S:ltR19u~K||$?t8L$1ې|$u|$D;)|$D;9uF9u[^_]VSt$ F88tjhjhxD 0K}1| tD L CN9CTDN9[^LD_LIBRARY_PATH). : incompatible minor version numbers (: Warning: ) ( U4WVS}Džft%f9uf9t Dž|1IU:tH߾|AItuu1 r؅u<=s:u1҃t h]:TDž1ۀ:t*9:uC>u݋\$)ĉ 8ω4)Dž<$Dž:tZ㋕8:u/BB B>u8/D198~` :>C98&@Dž8DžX=X6~1ۋƅ1C669~ =4t4jhh} 7j$Tlx`jh:jh.jh3"jhEjhY jhmj h X ʁށ9u9t t9sjh?wh7hE 0hj$XDžX=Xt;jhĺ?whǺ7hʺj8ujjh`h`jh`h`[^_libc.so.4DLL Jump 4.4@(#)add.c 1.46 92/04/03H{@(#)admin.c 1.17 92/03/310@(#)checkin.c 1.40 92/03/31@(#)checkout.c 1.67 92/04/10(O 2[*^O 2*@(#)classify.c 1.11 92/03/31@(#)commit.c 1.84 92/03/31//0<0g000@(#)create_adm.c 1.24 92/03/31@(#)diff.c 1.52 92/04/10TNyNNNO;OrO@(#)entries.c 1.37 92/03/31@(#)find_names.c 1.38 92/04/10@(#)hash.c 1.14 92/03/31@(#)history.c 1.31 92/04/104oqo~ooopSpppp qPqqqqr^rrrsTs'u@(#)ignore.c 1.13 92/04/03@(#)import.c 1.52 92/03/31̖)<Q}')-)159=ACGKOKRKVKZ]b=fjmCptwty|jjCKKKtC5|¨CĨCȨt˨ΨѨtӨΨרtڨΨݨΨCCCtt@(#)lock.c 1.42 92/04/10@(#)log.c 1.39 92/03/31@(#)logmsg.c 1.40 92/04/10@(#)main.c 1.64 92/03/31 ,-69=@HDJNTR[^bil1puxP|u6<QHYb[y WU=?\?r0n&Y@(#)myndbm.c 1.5 92/03/31@(#)rcs.c 1.28 92/03/31@(#)modules.c 1.57 92/04/10NONE@(#)no_diff.c 1.35 92/03/31@(#)parseinfo.c 1.16 92/04/10@(#)patch.c 1.50 92/04/10':r'7`@(#)recurse.c 1.22 92/04/10@(#)release.c 1.21 92/02/294445@(#)remove.c 1.34 92/04/10;<5<@(#)repos.c 1.28 92/03/31@(#)rtag.c 1.57 92/04/10E FFdFFFFG#G>GG@(#)status.c 1.48 92/03/31PQWQQ@(#)tag.c 1.56 92/03/31hXXXXXY*Y@(#)update.c 1.83 92/04/10_L`s````a1aWa}aaaabRb@(#)vers_ts.c 1.36 92/03/31@(#)subr.c 1.52 92/03/31T@(#)error.c 1.9 92/03/31@(#)getopt.c 1.7 92/03/31@(#)getdate.y 1.8 92/03/03 $*.38? I N V _ hov~   êNͪ`'Ҫ֪<۪  `    # ) 0 6 < D K  Q  W  `  hl p s w { < x  ,, hh    XX X« Xǫ ʫ ϫ ӫ ׫ ܫ    L    \ \      $ 0( 0-02 07 <9 x; = ? ,A hC E G I XK M O Q S LU W Y [ \]  _ a c le 0g 0|``<L` ``usr/bin/cvsinit100755 2122 1750 17350 5165764074 13012 0ustar steinberert: # # Copyright (c) 1992, Brian Berliner # # You may distribute under the terms of the GNU General Public License as # specified in the README file that comes with the CVS 1.3 kit. # # @(#)cvsinit 1.1 92/03/31 # # This script should be run once to help you setup your site for CVS. # Make sure that the CVSROOT variable is set if [ "x$CVSROOT" = x ]; then echo "The CVSROOT environment variable is not set." echo "" echo "You should choose a location for your source repository" echo "that can be shared by many developers. It also helps to" echo "place the source repository on a file system that has" echo "plenty of free space." echo "" echo "Please enter the full path for your CVSROOT source repository:" read CVSROOT remind_cvsroot=yes else echo "Using $CVSROOT as the source repository." remind_cvsroot=no fi echo "" # Now, create the $CVSROOT if it is not already there if [ ! -d $CVSROOT ]; then echo "Hmmm... $CVSROOT does not exist; trying to make it..." path= for comp in `echo $CVSROOT | sed -e 's,/, ,g'`; do path=$path/$comp if [ ! -d $path ]; then mkdir $path fi done else echo "Good... $CVSROOT already exists." fi # Next, check for $CVSROOT/CVSROOT if [ ! -d $CVSROOT/CVSROOT ]; then if [ -d $CVSROOT/CVSROOT.adm ]; then echo "You have the old $CVSROOT/CVSROOT.adm directory." echo "I will rename it to $CVSROOT/CVSROOT for you..." mv $CVSROOT/CVSROOT.adm $CVSROOT/CVSROOT else echo "Making the $CVSROOT/CVSROOT directory..." mkdir $CVSROOT/CVSROOT fi else echo "Wow!... so does $CVSROOT/CVSROOT." fi echo "" if [ ! -d $CVSROOT/CVSROOT ]; then echo "You still don't have a $CVSROOT/CVSROOT directory." echo "I give up." exit 1 fi # Create the special *info files within $CVSROOT/CVSROOT # Trump up a simple modules file, if one doesn't exist if [ -f $CVSROOT/CVSROOT/modules,v ]; then if [ ! -f $CVSROOT/CVSROOT/modules ]; then echo "You have a $CVSROOT/CVSROOT/modules,v file," echo "But no $CVSROOT/CVSROOT/modules file. This is OK." echo "I'll checkout a fresh copy..." (cd $CVSROOT/CVSROOT; co -q modules) echo "" fi else if [ -f $CVSROOT/CVSROOT/modules ]; then echo "You have a $CVSROOT/CVSROOT/modules file," echo "But no $CVSROOT/CVSROOT/modules,v file." echo "I'll create one for you, but otherwise leave it alone..." else echo "The $CVSROOT/CVSROOT/modules file does not exist." echo "Making a simple one for you..." cat > $CVSROOT/CVSROOT/modules <<"HERE" # # The CVS modules file # # Three different line formats are valid: # key -a aliases... # key [options] directory # key [options] directory files... # # Where "options" are composed of: # -i prog Run "prog" on "cvs commit" from top-level of module. # -o prog Run "prog" on "cvs checkout" of module. # -t prog Run "prog" on "cvs rtag" of module. # -u prog Run "prog" on "cvs update" of module. # -d dir Place module in directory "dir" instead of module name. # -l Top-level directory only -- do not recurse. # # And "directory" is a path to a directory relative to $CVSROOT. # # The "-a" option specifies an alias. An alias is interpreted as if # everything on the right of the "-a" had been typed on the command line. # # You can encode a module within a module by using the special '&' # character to interpose another module into the current module. This # can be useful for creating a module that consists of many directories # spread out over the entire source repository. # # Convenient aliases world -a . # CVSROOT support; run mkmodules whenever anything changes. CVSROOT -i mkmodules CVSROOT modules -i mkmodules CVSROOT modules loginfo -i mkmodules CVSROOT loginfo commitinfo -i mkmodules CVSROOT commitinfo rcsinfo -i mkmodules CVSROOT rcsinfo editinfo -i mkmodules CVSROOT editinfo # Add other modules here... HERE fi (cd $CVSROOT/CVSROOT; ci -q -u -t/dev/null -m'initial checkin of modules' modules) echo "" fi # check to see if there are any references to the old CVSROOT.adm directory if grep CVSROOT.adm $CVSROOT/CVSROOT/modules >/dev/null 2>&1; then echo "Warning: your $CVSROOT/CVSROOT/modules file still" echo " contains references to the old CVSROOT.adm directory" echo " You should really change these to the new CVSROOT directory" echo "" fi # loginfo, like modules, is special-cased if [ -f $CVSROOT/CVSROOT/loginfo,v ]; then if [ ! -f $CVSROOT/CVSROOT/loginfo ]; then echo "You have a $CVSROOT/CVSROOT/loginfo,v file," echo "But no $CVSROOT/CVSROOT/loginfo file. This is OK." echo "I'll checkout a fresh copy..." (cd $CVSROOT/CVSROOT; co -q loginfo) echo "" fi else if [ -f $CVSROOT/CVSROOT/loginfo ]; then echo "You have a $CVSROOT/CVSROOT/loginfo file," echo "But no $CVSROOT/CVSROOT/loginfo,v file." echo "I'll create one for you, but otherwise leave it alone..." else echo "The $CVSROOT/CVSROOT/loginfo file does not exist." echo "Making a simple one for you..." # try to find perl; use fancy log script if we can for perlpath in `echo $PATH | sed -e 's/:/ /g'` x; do if [ -f $perlpath/perl ]; then echo "#!$perlpath/perl" > $CVSROOT/CVSROOT/log.pl cat contrib/log.pl >> $CVSROOT/CVSROOT/log.pl chmod 755 $CVSROOT/CVSROOT/log.pl cp examples/loginfo $CVSROOT/CVSROOT/loginfo break fi done if [ $perlpath = x ]; then # we did not find perl anywhere, so make a simple loginfo file cat > $CVSROOT/CVSROOT/loginfo <<"HERE" # # The "loginfo" file is used to control where "cvs commit" log information # is sent. The first entry on a line is a regular expression which is tested # against the directory that the change is being made to, relative to the # $CVSROOT. If a match is found, then the remainder of the line is a filter # program that should expect log information on its standard input. # # The filter program may use one and only one % modifier (ala printf). If # %s is specified in the filter program, a brief title is included (enclosed # in single quotes) showing the modified file names. # # If the repository name does not match any of the regular expressions in this # file, the "DEFAULT" line is used, if it is specified. # # If the name ALL appears as a regular expression it is always used # in addition to the first matching regex or DEFAULT. # DEFAULT (echo ""; echo $USER; date; cat) >> $CVSROOT/CVSROOT/commitlog HERE fi fi (cd $CVSROOT/CVSROOT; ci -q -u -t/dev/null -m'initial checkin of loginfo' loginfo) echo "" fi # The remaining files are generated from the examples files. for info in commitinfo rcsinfo editinfo; do if [ -f $CVSROOT/CVSROOT/${info},v ]; then if [ ! -f $CVSROOT/CVSROOT/$info ]; then echo "You have a $CVSROOT/CVSROOT/${info},v file," echo "But no $CVSROOT/CVSROOT/$info file. This is OK." echo "I'll checkout a fresh copy..." (cd $CVSROOT/CVSROOT; co -q $info) echo "" fi else if [ -f $CVSROOT/CVSROOT/$info ]; then echo "You have a $CVSROOT/CVSROOT/$info file," echo "But no $CVSROOT/CVSROOT/${info},v file." echo "I'll create one for you, but otherwise leave it alone..." else echo "The $CVSROOT/CVSROOT/$info file does not exist." echo "Making a simple one for you..." sed -e 's/^\([^#]\)/#\1/' examples/$info > $CVSROOT/CVSROOT/$info fi (cd $CVSROOT/CVSROOT; ci -q -u -t/dev/null -m"initial checkin of $info" $info) echo "" fi done # Turn on history logging by default if [ ! -f $CVSROOT/CVSROOT/history ]; then echo "Enabling CVS history logging..." touch $CVSROOT/CVSROOT/history echo "" fi # finish up by running mkmodules echo "All done! Running 'mkmodules' as my final step..." mkmodules $CVSROOT/CVSROOT # and, if necessary, remind them about setting CVSROOT if [ $remind_cvsroot = yes ]; then echo "Remember to set the CVSROOT environment variable in your login script" fi exit 0 usr/bin/diff100755 2122 1750 172004 5450151732 12245 0ustar steinberert d-̀\ `-@D$4 ` P`[̀r UWVS1ۃ} ~%UM 4:0щM˃9|CPI]} ~(}M 4hTSE `7S= `9|؍e[^_US] U:t< vB:uj j5D ` `1]UVSu19<~+jV44,` u  C9<1e[^U89<|=u8@hX\ E 8P54t\4<4M <-UWVS D `p5D `tjj5D `` 1҉l|tPR`t[jlS4SL5u} 9s,)Pj V_`à uCV9rl_`[^_ignore-blank-linescontextifdefshow-function-linespeed-large-filesignore-matching-lineslabelfile-labelnew-fileentire-new-fileunidirectional-new-filestarting-fileinitial-tabwidthtextasciiignore-space-changeminimaledforward-edignore-casepaginateprintrcsshow-c-functionbinarybriefrecursivereport-identical-filesexpand-tabsversionignore-all-spaceexcludeexclude-fromside-by-sideunifiedleft-columnsuppress-common-linessdiff-merge-assistold-line-formatnew-line-formatunchanged-line-formatline-formatold-group-formatnew-group-formatunchanged-group-formatchanged-group-formathorizon-linesBCDFHILL NN#P;SITUW[a`afbzdefillnpqqrstvwxX'y4U<H^q0123456789abBcC:dD:efF:hHiI:lL:nNpPqrsS:tTuU:vwW:x:X:ycontext length specified twiceinvalid context length argument#ifndef %s %%<#endif /* not %s */ %c#ifdef %s %%>#endif /* %s */ %c%%=%c#ifndef %s %%<#else /* %s */ %%>#endif /* %s */ conflicting #ifdef formatstoo many file label options^[_a-zA-Z$]GNU diff version %s column width must be a positive integerconflicting line formatconflicting group formathorizon must be a nonnegative integer%l %<%>%=write errorUWVS覽EU  4 jhh u u_EЃ\$| l   H$ 8 H  84<X|444l=4u4CЃ v hWF4UTBЉ4,=D `t:=4| hWdFh45D `!t hv@F}UuQ8*j E=D `0щJ)ЃcPP5D `5D `5D `jj5D `5D `j5D `5D `hVJ`E8VS E E0щM΃E}~у}ljjh jj5D `hL5& 5D `h(=uD `=uD `h* j/~j1 hF hv _N >0.D `$ jh0hR h `8_ 5D `5D `-w5D `Bdj REP5D `u }1hg jj5D `EP3E jjh rje11ۃ5D `W ƃCvtjjh 3j%5D `URE tJjjh A 7h05D `u =0}h A]E9H `t=tEuUș}ދM)ٍs9~΅}15tM Hv 4=4u 4=9u 9v=u u =u u =u  =uh 55K =u31ۋ 9tο u'8u=uH `HPU RjH `U tj4jIA ` uh `_t h ?S_%s: %sUWVSu j$Jj$jS_hJCS0HPVV t PVh$;?US Me[^_Usage: %s [options] from-file to-file Options: [-abBcdefhHilnNpPqrstTuvwy] [-C lines] [-D name] [-F regexp] [-I regexp] [-L from-label [-L to-label]] [-S starting-file] [-U lines] [-W columns] [-x pattern] [-X pattern-file] [--brief] [--changed-group-format=format] [--context[=lines]] [--ed] [--exclude=pattern] [--exclude-from=pattern-file] [--expand-tabs] [--forward-ed] [--horizon-lines=lines] [--ifdef=name] [--ignore-all-space] [--ignore-blank-lines] [--ignore-case] [--ignore-matching-lines=regexp] [--ignore-space-change] [--initial-tab] [--label=from-label [--label=to-label]] [--left-column] [--minimal] [--new-file] [--new-group-format=format] [--new-line-format=format] [--old-group-format=format] [--old-line-format=format] [--paginate] [--rcs] [--recursive] [--report-identical-files] [--sdiff-merge-assist] [--show-c-function] [--show-function-line=regexp] [--side-by-side] [--speed-large-files] [--starting-file=starting-file] [--suppress-common-lines] [--text] [--unchanged-group-format=format] [--unchanged-line-format=format] [--unidirectional-new-file] [--unified[=lines]] [--version] [--width=columns] U5 hh `\_hh `M_h{h `>_hyh `/_$hkh `_h|h `_jO_UVS]u ;t V3t_13e[^conflicting specifications of output styleUS]=t9tjjh9]regular empty fileregular filedirectoryblock special filecharacter special filefifosocketweird fileUUfBf%f=uzu ÐÐf=@u )Ðf=`u 3Ðf= u FÐf=u ]Ðf=t iÐbOnly in %s: %s can't compare - to a directory-D option not supported with directoriesCommon subdirectories: %s and %s File %s is a %s while file %s is a %s Files %s and %s differ Files %s and %s are identical UXWVS]DžDžDž} tuA=tu4=u+u uދE} uEVPh7} uDž DžuDžl Džl} u] u] }u } u u!C}upSuBpDžDž1ۉj@jP_D H <{t7t _u!D;tDžPj_ƃfDf%f=uhjjj_ tY9D | )D D;PQ_Pt_ƃt t 4DžM1fD;f%f=@u <;tH<utHf|f|lÔ(-} 9] )ڍۍ\ҍtj/S6_t@Vq@D:Dž1t FO)ȃu hX4P _tf3Dž(fDf%f=@ƒTHt l1ۋ9xu1ff9tu!9Eut l؅t=t 1M tM=u h&j3}=0phOZ31ۃ  Eu0}ff%f=uf|f%f=t luo EtD=0t;=u=t)u uhP@à EuEu PhtPPpPPhqy2Ѕ te9EtZtff%f=u@ltf|f%f=u&ph1 u4jjH_ }0DžluFtl4jjp_l }p}0DžuuPH|%C_t%0l|39lt%l_tp/u- u$=t(ph0 h `_t_t _؍[^_UWVS=H}5Lu@]=D}u+uu] +]]}+}}u +uu}܉}؉uԉuЉ)Eȋu]4u ]ԋ}4EEEE]9]~M܋}܋uDE܋]9]}E؋}؋uDM؋]؉x}9uuEEx}DT9|PU+x9U ~F9M~Au]9u3 }<|4uEB9U ~9|~ ]9t+E~E}}t"x9u]9}u9EEx]9x6}9}~Mԋuԋ]DEԋ}9}}EЋuЋ]DMЋ}Љxu9]|EExuTD9|PU+x9U}49M}/]D}9DuJI9U}9M}uD]9DtE)Ѓ~E}}u x9u]9|9|Exu9xG}n}d=WEE]؉x}95@uD]x}x+u䉵|]} +MM)|}E̍@9u]U+|9E}l~g+x+E~VU+x}E)ȋU)ʋu]9uA~u}u<}+|EuuEx]9x}~u}7EHE]Љx}95@uD]x|x+uuM |}+ NE}E̍@9~z9U}u~p|]+x})lj~R4u1+xuEȋUʋ]}9uA~uE |]+}GEu|xu9x5}~}];E,EEE]u u}7xl[^_U WVS}u9} ~<9u~7@]D9u GF9} ~ 9u~9t9} ~39u~. @DM M9} ~9u~] D]9Dt9} u'9uPXF9uu9uu#9} ~iG9} MEPuVu Wk¡LE}u_])SVuWuSu ue[^_U8WVS}G`P41ҐuL||`t`”vʋ}P3MuȉE}PjQ_1ۃu9^`v}GxEC9_`w1ۋu9v%} EC9wދuF`P3E~`}V`RjP_EE}Ћu|>`}ȋuL)DE}ЋuD>xEUt eu19]v/:t}u 9EsAC9]wցEДE}rEEuԋ}t7`u}|}19uȀ<3u 3s}Ȁ<;d19]v9t 9u@AB9Uw9vuȀ|uJ}:H9v|t)މu9v"9 EȐHJ8u9wEEt euE119Uv.}Ȁ<8t1A9Mu)9Msu0B9Uw1Ƀ}tI؍{}̋Uڐ9E} uȀ<0t-}Ȁ<8u 18uȀ<0u1At@9rŋ}\119s?؃~ uȀ<0t/}Ȁ<8u 18uȀ<0u1AtHB9UwC9]qEԔE}9EE}|}܋uȋ}t7`u119sT}ȉ}̐=8u u܀<3u"}̋uD>|T>x>A}ȋu>C9]w}ȋu>ǔ}E}ju_u_e[^_U0WVS= EEEܔEUEE܋E11ۋED`EEE9M~:U<u1]CEU؀<t]CEU<uA9M~ E<t9Mt\ω]uFA>u9Mt8U9u'U<u9}tE9EtUGC뿐M]aEElE} e[^_UWVSu} ]j.p xXUPUe[^_UWVSE1ɋUUP`UE119|9}YU<u U<t:]FU<uCU<uQ+EP)PuWIFC9u9]ȍe[^_UWVSEEp`R|2u|t@؀|2tN|2uK|uu)P)PSVUEUNK}}Ee[^_Files %s and %s differ Binary files %s and %s differ UE }t"p0= t0P"No newline at end of file %sU(WVS# PurUB9t8:|fBf%f=u%Mff%f=U9Mq E؃1ېu؋UtL=,MDLÔ~ِ1U<:|TM9L:TtKE؋U+DTPDLMDTP4_ƃ t!}Ut6 MtTU9TTuǔ~MAT9uqLt E+M؋U9JTuǂBTGEuuUZ`S*MSjP_UMA`QUR|@M DUP*HÉLMHUL<u%uƔ%Ujj(MH)‰P_u=u ue uE=,u =td}EteV$Ë;EPEPEPEPEPEPV'; }u}tEt}t}%E= tuu!}u =u 55@} =$5h50545D5P5\5t55jjuHu:up.uL"uu up$!Mq| _UHP_Mtx_ly1ېUT\MDXP_Ô~ԋEtP_؅uw:1ۋUth1th1xE Ô~ȋMAL9t P8_U'_Ee[^_UVS]u u u0 )u!1t ȉ1u1ƍe[^US];} j&CLCPCTS STSPfCf%f=uK9sȉCPsP&CL} t CTGsTP3_CT u s1{TtsTjsLF_%1]UVSu>fFf%f=u5^+^TSFLFTP6_à uv^Tx=u~TtfFT9FPuFPPvL &FLFP+FTPFLFTP6_à tu v9^T뱐FTFPPvL%FLe[^ULWVS}wl_X]OhME\}PC%EX] \M=`}܋][t]؋MyLyT}Et%!EЋ]̃9uuE==tpF B  `M= `}Đҋ]Su6MMSt!%9t }:EEUUF u=F  `]‹MAt0FAt F}GuE E]]ҋMQt#%9t  `EE UUF z/F "= `} `]MMҋ}Wt%9t]EEUUF u=t;F   `Mҋ}Wu E‰UF u=tqF tq `]‹MAt,FAt tIF}GuE EҋE‰UF uҋE‰UF uE15TPE+U9uuJ]]}u^MMAM}9}u}܉PuUB"EUE] ] }|MȉLT ]}TE}M9|u-9T t}t!Ruȋ]t tUUtEMEI}9}uB}+EEPu!EE+EP]]EPv!)؉E]ȋM}]}AM9u@M}O`E]M9Mu-M+EE+EPEPU!U)ЉE}]49uu}] 9uu, '}9=4 =uEF< uE뀋M]KX}{dMKh}{x]XM܉ `}=\e[^_UVS]STKLt| uǃ  BST=,ƃt jj P_e[^U@WVSu{}?M9tP[&ExLEHPExTu1ېV6Ɣ%%~MILM]EEu}T}MM9u ˉE9Es ME ыE}CF]ME ыE} 9tFC8tKNv+}}M+9‹EE+ 98tKN09]t{ uJtKN9]uEXl]]uu=v9 ur]E@lE̋}9}rE)EKN89]u19]t{ u 9ut ~ t0 C< uJt9]u+EƋMYt=tV=uME4B9U} e9U|EHE؋}Ѓ}̉ڋM+QlyE4EEEEEEEP$E=t}9_lu9tM]MIlM9t=u#uE9uueEEPu E}C< u9]uċ]}t94}4u}t M+uE+U)։ũ} ~)}O}ԉЙƋE1ƍt=4}ED4E܋MMQ*E9]tM19}(u+54E̍2#E؋} }̉}B9|~uUЍE̋:>9u~'UЋMM̍4E̋8+}}:E9| }ϋExX}ωىH\})߉xhM)ى}쉸xpe[^_???UWVS}] 5VW Ã9t PP ÃWLOPWTt WGh@`PfX\1ۃ`9B}&B>u螽_C`9|ߋBTPPTURjP_1V^Ɣ%%~\$5Xq_5Pf_1e[^_%s %s %s %s %sUVSu] EtPVhLD5_ C0P_PsVhSD5_e[^---+++***US]} t'5ShD5PhD%5ShD_5PhDH]US]=,u =t S؅t @uډddJh} t hHh FhKSx]%d,%d%dUEPEPuu uE9E}PuhE5豾_ÐPhE5蛾_*************** *** **** !---- ---- +U WVSEPEPEPEPEPEPu}u }5ދ 4)M9u}u 4)M9u}uJE49~ЉE4JE49~ЉEE=tEPEPuh< =hEW蒽_}t(hEW~_WEH(v(Pjuܽ_hFWV_uuh<ZhFW;_}tY]u9u|Nt C C9~Et9s F{~FPRF9u}hFWμ_uuhhFW購_}tY]u9u|Nt CC9~Et9sF{~F(PR6F9u}e[^_%d,0UEPEPuu u E9E|!P?H9EuER5_ÐE+E@PuhE5_@@ - + @@U(WVSuEPEPEPEPEPEPV>}u }=ߋ 4)M9}}} 4)M9}}}JE49~ЉE4JE49~ЉEE=tEPEPuh<N hHS_uuh<hHS޺_uuh(hHS_}t:C9Cwj S诶_ CSEH(v(Pju_C9Cw j Su_ Cu؋}MM9}} 9Md}tM9y ~^S9Sw" =t PS _C =t PGjE܃M؋q[C9Cwj-S̵_ -C=tC9Cw j S襵_ CPGjXNuM؋qdC9Cwj+S`_ +C=tC9Cw j S9_ CM܍(PAMj NuM؋ M9}M9Me[^_UWVSMy yQQU΋~u tyt 44UXtQ )A+E9tD_;9A |e[^_UVS]tD3EPEPEPEPEPEPS30}u}Cue[^UWVSu dM5dN9|UMAX|)׋t6jWjWRSUFU|MM95hB[ uN9u~MAp9h|%5hAXMMAXDM+Me[^_UhhMhXu %c %da .. . %ds/^\.\././ UVSEPEPEPEPEPEPu}u }$uuh<j,uu PhGM5貶_$}]9]u*uh<g +UTRhKM5i_(8.uTx uNhPM5>_hTM5._uh< +URhWM5 _1$(PheM C9]GthTM5ǵ_e[^UhNhXu' %c USEPEPEPEPEPEPu }u }uu PhN5I_uuh<j o $hN5$_}t<]9]|$(PheM C9]}hTM5ߴ_]UhOhXu? d%d %d aU(SEPEPEPEPEPEPu% }u }EPEPuuh<U }tUSEPEPEPEPEPEPu }u }muuh<j,O uu PhQ5_$uuhj, hQ5ֲ_}t*]9]|"PhQC9]}߃}tJ}thQ5臲_}t+]9]|#(PhQ8C9]}ߋ]%s: UVSu< `5 ht AY=t=YVSuܪ_ VSWu2t>t t= u hEYu親_e[^_UWVSM=u5E )PjQ_M1U 9U BU t t?)C9Cwj S_ CNuC9Cwj S_ C}tU 9UsU: tuuS谩_ 1NtIOC9Cwj+1ѡ `PKu uGC9CwPSn_CU 9Ue[^_U}udÃ} t cÐaUEU Pp@UWVS}]uE HPW@CSWHUe[^_%d%c%d%dUS]EPEPuuu E9E}PPuh[5腨_Ph[5o_]U WVSE] uE=,u =tEEEP HE萐UJ JIMJJIMRUMIMUr _=,t 8 tF M|)ϋt$jWjWuS5}[ uuEF9u|}uUr]=,t (8 tF( M|)ϋt$jWjWuS5}[ uuEF9u|}uUUUMUM}tEEUMUM e[^_virtual memory exhaustedUSEuuP虪_Ãu h]؋]USE uPuì_Ãu h]؋]%s%s%sU WVSu0ۋ}}҉UU ҉uˋE)؍TUR1Vu uhO^S_؍e[^_/UWUu 1:t0Ѐ|/%^PRN}%3d %3d delete %d insert %d US]h `_t$ssss h_h `)_uh `认_]UWVS]E @E1;s_E[sES ƋE p< `u_ƒB Ez .uz tπz .uz tuu0}׋U9s SVUƋE pU9rEWuP__ }E]=< `t< `u蹡_< `su褡_uEPËE }t*ڋEE쐐20щM΃9UwEh(ajPSK_1e[^_UEU 20֬_U WVSE1MM1]𐐐SutMt9EEǔF~ă}u]MIMM=$}>t95$6+_}#>u5$3 _}n;ud>t;t36_E@P| 1PW1PuM у9E}E>u;u1]]<;t 3 _M|t t_F~ˋEe[^_U=u^hjh_aƀ@z~Aƀ@Z~0ƀ@9~U U No matchInvalid regular expressionInvalid collation characterInvalid character class nameTrailing backslashInvalid back referenceUnmatched [ or [^Unmatched ( or \(Unmatched \{Invalid content of \{\}Invalid range endMemory exhaustedInvalid preceding regular expressionPremature end of regular expressionRegular expression too bigUnmatched ) or \)alnumalphablankcntrldigitgraphlowerprintpunctspaceupperxdigitUWVSE UUЉEԋMIMEEEEhO_E9'E EUMQ aaaAA?Uzu?:tj 2T_Mj _UM9&UB M M؉MċU9U'&&EEE}t%MЊEEr#$(fwhvviimin@wg$wwE@9EURuu;% !UzJ$bzvBMq1蚢_U"$9tJE)E؋E)Eă}t E)E}t E)؋MEȃ}t E)؋UE̋E؋M+@9A^UM9MURQu$  Uzf#bzvBMq1趡_U>#9tJE)E؋E)Eă}t E)E}t E)؋MEȃ}t E)؋UE̋E؋M+@9A^U MM3 * }uU " EEƅpE}+t Ep}?t pM9M:"EE]C]}t%UЊE}*tMu}+t}?tK}\uBU9U!]E}t ËMЊE}+t }?UUAM}2!pUz!bzvBMq1ޟ_Uf!9tJE)E؋E)Eă}t E)E}t E)؋MEȃ}t E)؋UE̋E؋M+9A\}tE@U EX.}tMA.9uc}t]U9UsU}tEME }tUB 9u$M@uE+E؃Puj EE+E؃Pujp EMy2 ayvAUr2肞_M 9tJE)E؋E)Eă}t E)E}t E)؋UEȃ}t E)؋ME̋E؋U+9B\u؋E+EPuȸ}tPEE}UzNbzvBMq1螝_U&9tJE)E؋E)Eă}t E)E}t E)؋MEȃ}t E)؋UE̋E؋M+9A\ujujE U؉UȉUz~bzvBMq1Μ_UV9tJE)E؋E)Eă}t E)E}t E)؋MEȃ}t E)؋UE̋E؋M+@9A^U3EM9MMyayvAUr2_M9tJE)E؋E)Eă}t E)E}t E)؋UEȃ}t E)؋ME̋E؋U+"9B\M؉MȉMyayvAUr2R_M9tJE)E؋E)Eă}t E)E}t E)؋UEȃ}t E)؋ME̋E؋U+@9B^uE؋E8^uE8^uEMMMy6ayvAUr2膚_M9tJE)E؋E)Eă}t E)E}t E)؋UEȃ}t E)؋ME̋E؋U+@9B^M AMj jQ_ U؀zu MtJUUM9M@EE]C]}t%UЊEEtC}\u=M9M ]E}t ËUЊE]}E}]u E@9E}t}-uHE8]}-u6E9Ew Ex[t"E9EwEx[ux^tE8]uE8-u9x]t3U9lEuuuuԍEPiE*}[ E8:M9EEU9UM9MEEE}t%UЊE}:t'}]t!M9Mt}tEUT(E뫐ED(}:YE8]MudˆUudˆUudˆUudˆUudˆUudˆUudˆUudˆUudˆUudˆUudˆUudˆ|ududududududt|udthudtTudt@udt,udtudZU9UnEM9MG1ې}t `X }t `X}t `DX}t `X}t  `Xuz}t  `XKui}t  `XuX}t  `XuG}t  `X@u6}t  `Xu%}t  `Xu|t0 `X(t%}؃ЋMCEUUtME}uM؀I IEE]}EЋM ~U؀zt#B|uM؊AAt A|tUB‰U2M U  Mf}UM9MEEE%كU$pwxtzP`@~|U  MAEE9Eu*UUPu_EeEUċM+MEu}tEM+@DDEM؋U+ UL EUMTEM؋U+ ULUzbzvBMq1&_U9t@E)E؃}t E)E}t E)؋MEȃ}t E)؋UE̋E؋M+9AfUBEBBUEEEM؉MEU t}ub}UzbzvBMq1_U9tJE)E؋E)Eă}t E)E}t E)؋MEȃ}t E)؋UE̋E؋M+@9A^UBU؋EЍDPuj < }uMEHE]U  Mă|t LIM EE]U L MȋtE LȊU(ʈMyjayvAUr2躎_MB9tJE)E؋E)Eă}t E)E}t E)؋UEȃ}t E)؋ME̋E؋U+9B\MAЈAM؊M(ыU؈  M f} U Uz~bzvBMq1΍_UV9tJE)E؋E)Eă}t E)E}t E)؋MEȃ}t E)؋UE̋E؋M+9A\u؋E+EăPuj=EE}tE+EPuj  U؉UUzbzvBMq1ڌ_Ub9t@E)E؃}t E)E}t E)؋MEȃ}t E)؋UE̋E؋M+9AfEEU؉Uk ML C E9Eu U9U, uNM9MuU EEE}t%MЊEE `lBtUl}1M|AЋU9Ut5) EEE}t%MЊEE䋕lBu},M9M EEE}t%UЊEE  `lAtWl}1U\BЋM9Mt5 EEE}t%UЊEE䋍lAu} |OG9CMu5}\U9U EEE}t%MЊE}}tUS }uM  -U؉UȅUz bzvBMq1_U~ 9tJE)E؋E)Eă}t E)E}t E)؋MEȃ}t E)؋UE̋E؋M+9A\u؋E+EPuj h EDžt DžtM1y ayvAUr2_M 91tJE)E؋E)Eă}t E)E}t E)UEȃ}t E)ME̋E؋U+t9BYuWE؃~ +Eȃ+EȃPuj EuWjuj E(KSE+E؃Puj EuSE+EPujD E$}uM9 EEE}t%UЊEMU9UEx\M؉MȉMy& ayvAUr2v_M9tJE)E؋E)Eă}t E)E}t E)؋UEȃ}t E)؋ME̋E؋U+@9B^MU؉UȉUzfbzvBMq1趆_U>9tJE)E؋E)Eă}t E)E}t E)؋MEȃ}t E)؋UE̋E؋M+@9A^UUzbzvBMq1_U9tJE)E؋E)Eă}t E)E}t E)؋MEȃ}t E)؋UE̋E؋M+@9A^UkUzbzvBMq1V_U9tJE)E؋E)Eă}t E)E}t E)؋MEȃ}t E)؋UE̋E؋M+@9A^UUzVbzvBMq1覄_U.9tJE)E؋E)Eă}t E)E}t E)؋MEȃ}t E)؋UE̋E؋M+@9A^U UzbzvBMq1_U~9tJE)E؋E)Eă}t E)E}t E)؋MEȃ}t E)؋UE̋E؋M+@9A^U[UzbzvBMq1F_U9tJE)E؋E)Eă}t E)E}t E)؋MEȃ}t E)؋UE̋E؋M+@9A^U UzFbzvBMq1薂_U9tJE)E؋E)Eă}t E)E}t E)؋MEȃ}t E)؋UE̋E؋M+@9A^U BU&M@UЈU9E{PuuuM؉MȉMyJayvAUr2蚁_M"9tJE)E؋E)Eă}t E)E}t E)؋UEȃ}t E)؋ME̋E؋U+9B\MAUAM"M}t EUЊE}t}MD9Eun9tiE8*ta8^t\Ut8\ux+tIx?tC 8+t98?t4Mt E8{tpE8\dx{ZU؉UȉUzbzvBMq1._U9tJE)E؋E)Eă}t E)E}t E)؋MEȃ}t E)؋UE̋E؋M+9A\UBBUJUUz"bzvBMq1r_U9tJE)E؋E)Eă}t E)E}t E)؋MEȃ}t E)؋UE̋E؋M+@9A^UM؈AM؋UM9M}tE+EPuj { }ubujx_UM+ J1P F>6. & `[^_UU EM BBUSE UM]PPHH]USM EP9t JH9uuQu]USM EP9t JH9uuuQuw]USM ]A09Esy\1y(u uuy|uf|t]UVSuM9\ÍA19E v1 t 9)t-t t:)tf} 9|ttt :|ue[^UMEHx!U9Lu Ðy1UWVSMu9E u wPE9~E V9]rKt %0Ѕ}t %0$ȸ}:C9]s1e[^_U$WVSMy1Y]EEeEEhjWy_MIa 9u4}D9uu#E] C$cCEUJUE4F$pcLLLcccc00000c 0DؐccccMIF8_FIЅ}B0E܉Ѕ}B$)É؋Ms:Jy:B~FЅ}B0E܉Ѕ}B$)É؋Mr:Jy1Ґu:B~1Ґt:B~e:Jy]C @u G CMA3ZFt2>t > FFt2}UE9tMFƒU]9saU9Uus} ?uPo_u FuPo_} GqiufNJ<uFE@M 9s;Pqq_} G7Pwq_GM 9t)A}8Qu9uu M+M E+EEE} }t]uxEċM 9s9Ex?t;uu VFMu} W}t M x9rt9>w )x+EEM} W}tu 93rt9 w) +EE}xE8uĉu} 9v#u VFMAM9wދU+U}9}u+U E+E)‰UEuFuЃ$DXĝd0$Ħ4$Юhp M MEЃ}tJ}9}uu9udMM؉u9t}uЊFuG}؋M8 8MuA}9}uu9uMM؉u9t}ЊG}Ћu؊Fu8MuM9M }u9vM9Mu}9}uu؉}9tMA @u%}t}u0M u} }(}tuMȀ<uR}؀?Du9u%M}9vuЀ~ËM9Mu}9}uu؉}9t}tM}Ȋ8EM؊ MU}9s"Ѕ}uTEsMDEЄ}9}euM9vG}Љ}u$<uVu̍EP$$ M}tE؋uDžt}tM 9 rE9%t1}tM }u9 rE9%]9tu }u9u"9]tM}9t U9t9u9uuM9M}}؉M9tM+M؉M)9~E}t%uuRu؉UUMu؉׋M5MMXE}tE 9Et}u}G , u؀~  <}9}uuF@ M9Mu}u  My E}tE 9E}} M }GM}ЋU+UE+ED@9shuč4vtt@T9EM)ĉPuSd_ ]teU+UE+ED@9r}9}uM|}t]uM4xUE EUEt?Ѕu|x9||C9|uv}Gmt~ua1Kx9}7F9}/ttLLuB9x~tG9|C9t E@9uuFEMЀyt A MMMEHEHEt9two}x]tM4tUJUEUJUExUJUExt9sM }GMt9ufU+UE+ED@9sgMč Itt@T9E})ĉPuS^_ ]TeU+UE+ED@9ru9uM}|ut]M} xUE;j F9u}5}t.]9]| jj<P C9]}e[^UEډhhXP\ 9~454+4P555USEPEPEPEPEPEPu }t}t  }tP胔9U~u+EEPuR5%UBE@PuRuS]UVSuE UM]E<EUEM]EPjV5 e[^=?UWVS}] !C%]Cd$ |||||||||||||||||||||HT`1 `Pt.j jSM_D C `Bt&CBuRCufDC8F~E9Eu11uj:SPÃ;uj)CPVÃ;Cu5u5E P5We uÃtgފC'uEPSU4ÃUtDPuUuEU|$tEuEHPWUA_U '%]tG9GwPW=_G9Et؍e[^_UUM  `Ht %9u  ` A we$tr2ƗHÐr2趗r␐rꐐB+BøU WVSEMyX}PU@E}=M 9%u~yluDy u>yu8ux tHU )}U}+PjM}&U zLu+zu%uM}M+Pj4p@_9U9U*M} Mu %uFLt0%Clu;jj}UDx uHPjj}UtM1ؔuƃt[uF'tntIEPVƃt5uu E}uEHPu ?_ *%uUB9BwPR:_ MAFEE}9}e[^_UVS]u ڊB<'t1t+0<\u,1Ѓw ȊB<'u)؃v1ȊB<'uЍe[^USMA-t‹ `Ct ACu.u‹ `ACuƒ $$(((((((((($$(((((((((($(((((((($1]2.4Su1҃=tB8uЅtЃu[S=t Ѓ;uh49_[=\u\/usr/lib//lib//S\$̀[̀}أdÐ%1̀}أdÐ%/̀}أdÐ%2̀}أdÐ%SV\$̀} أd[S\$L$ T$̀} أd[WVT$ t$1Ou^_WVSt$\$T$t%1IQRVu Su[^_' : can't load library 'Incompatible version. Too many libraries. No such library. Permission denied. Exec format error. Unspecified error. Corrupt fixup table. VSt$ F8tU8t'jhjhxD PK}[^UWVS\$S|$99t"jhjdh 3x|$WD PN}S:ltT19u~M||$?t8L$1ې|$u|$D;)|$D;9uF9u[^_]VSt$ F88t#jhjh+xD PK}1| tD L CN9C#TDN9[^LD_LIBRARY_PATH). : incompatible minor version numbers (: Warning: ) ( U4WVS}EDžft%_f9uf9t DžP1IU:tH߾PAItuu1 r؅u<=:u1҃t ti:`Dž1ۀ:t*9:uC>u݋\$)ĉ hω4)Dž<$Dž:tb㋕8:u%/BB B>u8/D19h~d :>C9h*@{DžhDž=6~1ۋƅ QCV?PVVM9~ =dtdjh|Qhu 6Vj$0Pp`@jhNjh>jh.jhjhjhj hU?_ ف9u9ttQjh`6~WhdPhM Qhj$Ijh|Vh} ?Wjjhj hr8hDž=t=jh qVh9Whje8ujjhhzjh~h[^_]libc.so.4DLL Jump 4.4pl1lKcTcocccccccdd-d>dcddd`<F``l?`|! ` ` `7 `Tl`cX ` `7 `ת `? `W `˫) `c1 `OA`usr/bin/diff3100755 2122 1750 42004 5450151732 12304 0ustar steinberert d0'-̀\ `-@D$4 `P`[̀r/usr/bin/difftextshow-alledshow-overlaplabelmergeinitial-taboverlap-onlyeasy-onlyversionbagApesELmTx3vaeimvx3AEL:TXGNU diff3 version %s -`-' specified for more than one input file%s: %s: Is a directory rread errorwrite errorUtWVS 11ۋ} ?=0jhhhu u`̓E$Dl\x00F0C00i0Y00븐01h"hvh ``  D `LFG0!أ0#0 0 00$=0=0uttE+H `t H `E E8|܃B~MqljuFM1ljtMqlju hEEEEEE1ҐDTB~]3tMEP3`}3/fEf%f=@u350hh `_jD_E9~EMEEPuE4 ƃ tJ]E}D7+>@09}‰0MD+ @9}‰0E}~EPuE}4! VPÃ=0t(uuu܍EPEPSh `Ã=0toh< `hEM43_ uE}4Ruuu܍EPEPSh `h< `à < ` t(hEPEPSh `1ۃ ` uh `_t hS_Usage: %s [options] my-file older-file your-file Options: [-exAEX3aTv] [-i|-m] [-L label1 [-L label2 [-L label3]]] [--easy-only] [--ed] [--initial-tab] [--label=label1 [--label=label2 [--label=label3]]] [--merge] [--overlap-only] [--show-all] [--show-overlap] [--text] [--version] Only one of [exAEX3] is allowed U50hh `_jU_internal error: screwup in format of diff blocksU(WVSEU EuuEUE܀0u "EEEE}u !}u1EU@9B؉ߋDp u؉DD@ DD@ ـTtXN|t DP TTD@ DB u9r ~ R U؉Tt E@9B~uWSEPEPEÃu h|us4u]܃}}Ee[^_U0WVSM EUu@E@ E1];tE+BDE+B B"Eu+FD2DE+FD2DG~uuuuuugE}t=S+UC +C@PЋuF0PV$Rss[ uŃE9~1uuԋuԋtutu1ɐUtE@9} uTF$T(F0AȅuNuؐ+UC+@PЋuD(PTRssEHs )ƉuЋK+Mؐ{ t C +EE+E9}.uTF$uЋuT(F0uЋFuA빐[ eEGu>u uYu~u uEuF+FPF+F @9uRv,v v(vuu 1 uEe[^_UWVSuuUM M]uNutN:t#M9uu6u:t1-u62M EEM}ue[^_UWVS]u j8G4_wUW UWUWUWG+G@t6SGSG(Sjwf_Sjw([_ GG(G+G @t5SG SG,Sjw _Sjw,_ G G,G+G@t1S<G$S3G0Sjw$_Sjw0_G$G0e[^_UWVSMM]M MMMUQM9tC;t>MMM9u,M1;E1t FO)ȃEEt1 Jue[^_%s: diff error: internal error: invalid diff type in process_diff--- invalid diff format; invalid change separatorUWVSEPu uEMMMM1 9Ej$FFFFVEPǃ tE8 t\50hh `_  `9 `wEPh `_ E `EE8 uj_Et- t t FhrtXF+@ESFSF1ۃ9]~,juVRFPuEC9|׋M1N MM9M4MM1Ee[^_UWVS} uA9 t9 t `C1TPACuA9 t9 t9,u4A `C1ҐTPACuW 7wA9 t9 t1TPACuWA9 t9 t9,uLA `Cu1F1ҐTPACuW 9 t9 uA9 t9 t ww uEe[^_-a--horizon-lines=%d--pipe failed: not found fork failedinvalid diff format; incomplete last linewaitpid failedsubsidiary diff failedU0WVSETu=0t Eu50hS_MU FP_} h }_u@_tj__ 54 `EPhTu_0THPhTj_j h j_$jt_u hM _'h' 1ۃ)PP  9u4]V ut| t h$ U jP_ } hN u %=~ h]C ؍[^_invalid diff format; incorrect leading line chars%s:UWVS]} uE8u{ t h C< u+9]vk;\uf=0t50hh `c_ C=0t- `9 `wPh `<_  `C< uÉ؍e[^_ internal error: invalid diff type passed to output====%s %d:%da %dc %d,%dc \ No newline at end of file U WVSEy=0tEwM wUuEEEC|/*MDEU1UffM%E h|F EPhu_E UMUUt|E@Phu_ )tu"FPh Vhu_ WVhu_M9MtY9U1ۉ)@Euue_UMD.uEhu_uUD(4jV_CUD+D@9|Ee[^_. %ds/^\.// %d,%ds/^\.// UWVS}u]h"W._} t&uVh%W_D3PVh0W_e[^_||||||| %s ======= >>>>>>> %s %da <<<<<<< %s %dd %d,%dd w q UWVSEu Ã;tu|t t7t=0/=0=0=0rEM thu_E uP=0t%uhu_uvSuEhu_MqSu Eu hu_uvT+TMIt+tDPM DPuuEuEPu6DHPhu_E,u"MqSuEhu_uvL+L@Pu6D@PuMIt+tuLM D+Duthua_ tthuC_u6D+D@t t&th thu_ &M tthu_uVD+D@PtRSu PuY[4=0t hu}_Ee[^_<<<<<<< %s input fileinput file shrankUWVSEE}?tMDE EE}t}tD}t=0E7=0rE=0Z 0MEG+EMLMpMA9AwQ_tMAAu+M th"Mt h-JM A9Aw%PQ_ M A sNl}E}uGuhu _1 u D(4jD4_FMD+D@9|҃=0tDu uu k_1 u D(4jD4_FMQD+D@9|hu (_1u D(4jD4_FMQD+D@9|у}tu$hu _ G+GMLMƅ|}MA9AwQ_tMAA tFuɋM th"벐Mtu 4h-Ny4MA9AwQ_tMAAuMu.u*M A9Aw%PQ_뜈M A뒐Ee[^_UU1ɅtB4J4щ…uread failedUSuu u_à u h ؋]virtual memory exhaustedUSEuuP9_Ãu h%!F؋]USE uPuc_Ãu h%!؋]%s: %s Uu50h!h `_j_%s: UVSu< `50h!h `_< `V_j_2.4S0u1҃=0t0B8uЅt0Ѓ0u[SP0=P0t Ѓ;uh "_[=0u0/usr/lib//lib//"""S\$̀[̀}أ 0Ð%1̀}أ 0Ð%/̀}أ 0Ð%2̀}أ 0Ð%SV\$̀} أ 0[S\$L$ T$̀} أ 0[WVT$ t$1Ou^_WVSt$\$T$t%1IQRVu Su[^_' : can't load library 'Incompatible version. Too many libraries. No such library. Permission denied. Exec format error. Unspecified error. Corrupt fixup table. VSt$ F8tU8t'jh$jhxD PK}[^UWVS\$S|$99t"jh$jdh 3x|$WD PN}S:ltT19u~M||$?t8L$1ې|$u|$D;)|$D;9uF9u[^_]VSt$ F88t#jh$jh+xD PK}1| tD L CN9C#TDN9[^LD_LIBRARY_PATH). : incompatible minor version numbers (: Warning: ) ( U4WVS}EDžft%_f9uf9t Dž<'1IU:tH߾<'AItuu1 r؅u<=:u1҃t ti:`Dž1ۀ:t*9:uC>u݋\$)ĉ $0ω4)Dž<$Dž:tb㋕8:u%/BB B>u8/D19$0~d" :>C9$0*@{Dž"$0DžD0=D06~1ۋƅ QCV?PVVM9~ = 0t 0jhh$Qhl$u 6Vj$*+l+<+l+l+l+l+l+\+l+l+l+l+L+l+l+l+l+l+l+l+l+,+jh$Njh$>jh$.jh$jh$jh$j hU?_ ف9u9ttQjhL'6~WhP'Phw'M Qhz'j$Ijhh$Vhl$} ?Wjjh$j hr8hDžD0=D0t=jh' qVh'9Wh'je8ujjhX0hX0zjhX0~hX0[^_]libc.so.4DLL Jump 4.4pl1 0(-2-``/(0?`0t080usr/bin/diffdir100755 2122 1750 210 5465731562 12664 0ustar steinberert#!/bin/sh exec diff -rpbBwN -U 2 -I '\(\$\|#\)\(Header\|Id\|Log\|Revision\)\(: \|\$\)' -x TAGS -x zImage -x CVS -x '.*' -x '*.[oas]' $* usr/bin/patch100755 2122 1750 112004 5460254527 12435 0ustar steinberert d ?x-̀\ `-@D$4 `P`[̀r~UMʀ9tB<|85 `Ft( \BA9| Vu9~uyt1ۉ؍e[^_UWVSu0҉щME؋} щuR`ǃtVW `u ;P `1e[^_.UWVSuV 9u:H8/u9w)xGuP`ÃtWVS `1e[^_UWVS] EE0ҋ}щJ1;tKRu3Ur ` Uu';0щH9t'}uuEF;u}u E e[^_patch: invalidambiguous %s `%s' US]hEh ``u hMhUh `_u uh_h `_]neversimplenilexistingtnumberedversion control typeUS]t;u1h S| (PSh0j_]U WVSuE0ҋ}щN} щO7 9E9Eujh:$`]Eju `‹Eu79u EP2`.99u]|3.u ]D3D3r]ED0e[^_U=tL= t5 V_=t 5?_ Ð5H_H5$_5(_($PL0ABPatching file %s using Plan %s... US]Su S& =ʀt!j=tPShMd](Creating file %s...) ,vRCS/%s%sRCS/%s%s%sco %sco -l %srcsdiff %s > /dev/nullRCSs.SCCS/%s%sget %sget -e %sget -p %s | diff - %s >/dev/nullSCCScan't find %s file %s seems to be locked by somebody else under %s Comparing file %s to default %s version... can't check out file %s: differs from default %s version Checking out file %s from %s... can't check out file %s from %s %s is not a normal file--can't patch can't open file %sWarning: this file doesn't appear to be the %s version--patching anyway. this file doesn't appear to be the %s version--aborting. This file doesn't appear to be the %s version--patch anyway? [n] aborted Good. This file appears to be the %s version. UTWVS5u`hu`tb=tP=ʀtjjuh\'ajuFdhu_P_hu.`u6t 9ؙDžuT+MQuSC`hshvWm` VS`tKjhWC`VSa`t'hshW`VS:`usu"ff3%3 tHutPhl`uhP`DžhhWz`VS`t'hhWM`VSk`uDStPhl`uShP`Džtjjuh_umtjuh^=ʀtjuh>z^P`tjuhj^=ʀtjuh.^hlm`uhuA`tjuh%^ %=tjjuh] =t(1uPs_u1juf_Ã}jjuh ]55Sg_ 9tS_zS_=t| t  1ҋ;t; uBC;uuP_ u5_1 H;t; u BAC;uJ@=5u~=Ȁt!=ʀjj5h o=ɀtjj5hi +\Rjj5h \=lyt1jjjh [=ʀtjj5h [[^_rout of memory can't write temp filecan't reopen file %sUWVS}=EhW_ƃujjWh [h5ԙ_H}jj5ԙh Q[Vhhlp_ tA=t}uhl tEl0щO9~멐=}u}=Ȁt =ʀjj5h n=ɀtjj5hi WZRjj5h Z=lyt4jjjh $Z=ʀtjj5h YjjV_,0 h_$h_(ujjjhY=,u3h5$5H_ =jjjh"YVCP=,$P_ tG뗐H@=,t3h5$5Hq_ =jjjh"3YV_5HS_j5ԙ_H}jj5ԙh8Xe[^_error reading tmp file %sUVSM] ~9 @} 2=t ș=,։)9Lu1b9PuRLj=, P5H_h4$5H_}jj5ԙh3X0$e[^UWS]=tAE0ҋ}ҍzWuS_E uL `Pt== `Pt'W5CP_ uT; `PuC;u1e[_TMPDIR/tmp/patchoXXXXXX/patchiXXXXXX/patchrXXXXXX/patchpXXXXXXSIMPLE_BACKUP_SUFFIX.origVERSION_CONTROLNot enough memory to try swapped hunk! Assuming unswapped. lost hunk on alloc error! Ignoring previously applied (or reversed) patch. AssumingIgnoringRUnr%seversed (or previously applied) patch detected! %s -R.AssumeIgnore%seversed (or previously applied) patch detected! %s -R? [y] Apply anyway? [n] Hunk #%d ignored at %ld. Hunk #%d failed at %ld. Hunk #%d succeeded at %ld with fuzz %lds (offset %ld line%s). Ran out of memory using Plan A--trying again... hunkpatch.c%s:%u: failed assertion `%s' Removing %s (empty after patching). .rej%d out of %d hunks ignored--saving rejects to %s %d out of %d hunks failed--saving rejects to %s UPWVS^[EhЕh `_=}_%ؙh[_ƃu0ЍX؅uPA_ЙVP_h5Й_5Й_؅uP_ԙVP|_h5ԙL_5ԙI_؅uP_LVP>_h5L_5L _؅uP_VP_h5_5_h;_t h_PUȔU Ĕ& jT5<k =u5oQ=؀u =J=̀u5Й5LB=̀u51EE.3F1gI9Ā}Ā=̀WEE ȀEujjjh/P=ˀˀWEu4sEujjjhlP=ˀˀE=̀tK6EujjjhlP=ˀˀjjjhWP̀=ɀtG=ʀj=ˀtP=ˀtPhOj=ˀt P=ˀtPhP=lnu^jjjhXP=lyuE ̀E=ˀˀDujjjhlO=̀u}u#G95y_G=̀t&E=ʀjSVhk}u"E=ʀYjSVh~u`=ʀ4jSVhNtjjWhN=t)j=uP5hVNjjjhCN=to=tfH `jjjh N=t57_=t5_zuhhWhh#7_=̀uP=̀S5ЙH}Й5S 55_=t@EPS]_u/}u)=ʀtjjShAMSf_}5,_}UU=lu$5hl._j#hfhlI=̀thlVuhkhlVuhqLhl5LG}jNE8ue[^_you may not change to a different patch file Us@D=t!=u5_=t5_؀=t5b_ˀ̀E=~jjjhxTK-b:B:cd:D:eEfF:lnNo:p::r:RsStuvV:x:suffixprefixcontextdirectoryifdefedremove-empty-filesforcefuzzignore-whitespacenormalforwardoutputstripreject-filereversequietsilentskipbatchunifiedversionversion-controldebug+too many file arguments can't cd to %sargument to -D is not an identifier #ifdef %s #ifndef %s #endif /* %s */ Usage: %s [options] [origfile [patchfile]] [+ [options] [origfile]]... Options: [-ceEflnNRsStuv] [-b backup-ext] [-B backup-prefix] [-d directory] [-D symbol] [-F max-fuzz] [-o out-file] [-p[strip-count]] [-r rej-name] [-V {numbered,existing,simple}] [--context] [--prefix=backup-prefix] [--suffix=backup-ext] [--ifdef=symbol] [--directory=directory] [--ed] [--fuzz=max-fuzz] [--force] [--batch] [--ignore-whitespace] [--forward] [--reverse] [--output=out-file] [--strip[=strip-count]] [--normal] [--reject-file=rej-name] [--skip] [--remove-empty-files] [--quiet] [--silent] [--unified] [--version] [--version-control={numbered,existing,simple}] UWVSlH `H `9Ȕ~jh55Ĕ5Ȕ_u]5D `q!2=ujjjhs!F5D `Et68$|%p&(&X't'((((((('((( (D(((x((((((((((((X&&&H'h'((((('('''((8(P(\(l(((5D `Dl5D `DT؀E5D `}_.jj5D `h!ZE܀ D ` `Pu9_tjjjh!D5D `h!hP_5D `h!h,_5D `h!h̔r_$؀uȀhj j5D `%_Ā LԀ@؀1̀$5D `mC =D `tj j5D `_Ѐ Ѐ5D `hl_ˀʀ̀ɀ؀q+Jf5D `yLj j5D ` _ 0Ĕ0h!h `_h0"h `_h#h `_j! H `9Ȕ~[=ujjjhs!BH `Ĕ4BH `@H `9Ȕe[^_Offset changing from %ld to %ld UWVS9=9á@))@E9+DDEt%9}|OM9=@|ujW t 9]9]MtAuSWU Ut*tjS5h`)bA;W}t>uVW< t1tjV5h`)A5)u1CZe[^_ **** ---- -----*************** *** 0%s *** %ld%s *** %ld,%ld%s --- 0%s --- %ld%s --- %ld,%ld%s %s%c %sfatal internal error in abort_hunk UWVSJ8E8=858D8E8D0EE=؀~E*E*=؀~E*h*5_1ۃ9]S73$+\----------------------x-x---------,x--x-----------------9}} uh*>9}uuWh*5_uuWh*J9u}uh*5l_ 9uuuVh*5K_uuuVh+51_[Sz6Ph+5_?S^6PSC6Ph+5_jjjh+$>C9]e[^_Out-of-sync patch, lines %ld,%ld--mangled text or line numbers, maybe? oldchar = '%c', newchar = '%c' pch_char(new) == ' 'UWVS5EFE܀U&5EMVF5<=tV95< FߐW"5<-u{UDP}tY}u5h,_E}u5h݀_E5W4P_DG9uV4<+urUDPU}t@}u5h݀._E}u5hP_E5V<4P_F{V4W 48tWj 4P4Ph-;jV3PW3Ph.; jV3 U@WVSEEEEEEEEEE=ˆUj5P5_TJ UUUUUU5_EE5hhl_u'}^UX\1l=l t=l t=lXu;; u#M܃E܅}$U)‰)MEC; tπ; tπ;Xtʼn `Pu;,uA `Pu9,tE `Pt<v9auE}}}tUUUU܉L}u'jhs<S_ uCP,Ejhx<S_ uCP,Ejh}<S_ uCP[,Ejh<Ss_ uCP3,Ejh<SK_ usKC5 `Ft AFuQ+9t 5 `FuA9t Ft8uP&_=؀t =؀u}|޿<=؀t =؀uXjh<S_ uDj jCP_ uU܉LUX\jh<S+_ ˆU=؀wo}tijhs<S_ uUj jCP8_ u C; uU܉LUXJ\{*uxq=؀t =؀Z}Pjh<S{_ tjh<Sg_ $UXJ\U܉L}}tP5Ѐu.Ẽ }tP5Ѐu.Eȃ }tP5Ѐuv.Eă }tj}t\0}J}H9s.uNU܉LUXU\3u u}tu }tu)=t5j_=t 5}tj5Ѐu- }tj5Ѐun-Eȃ }tj5ЀuR-Eă }t:}t,0}J}H9suu }tu&(}t u_}t uw_}t uf_}t uU_}t uD_}tu3_e[^_UE UPTp_base <= file_posThe text leading up to this was: -------------------------- ret != Nullch|%s-------------------------- US]9P~hChh7h7_=ʀ9Pj5P5U_jjjhC)'5W_9}H5hhl諿_uhChh7h7v_jjhlhC롐jjjhC&jS5ƿ_U J]malformed patch at line %ld: %sUjhl5h E&p_end == -1 unexpected end of file in patch p_end < hunkmaxunexpected end of hunk at line %ld unexpected *** at line %ld: %s0,0duplicate "---" at line %ld--check line numbers at line %ld PrematureOverdue%s "---" at line %ld--check line numbers at line %ld hunk too large (%ld lines) at line %ld: %s no --- found in patch at line %ld the new style...)the telltale extra asterisks on the *** line that usually indicate(Fascinating--this is really a new-style context diff but without%s %s %s replacement text or line numbers mangled in hunk at line %ld fillsrc %ld, filldst %ld, rb %ld, e+1 %ld fillsrc==p_end+1 || fillsrc==repl_beginningfilldst==p_end+1 || filldst==repl_beginning*** %ld,%ld **** --- %ld,%ld ---- *** %ld,%ld unexpected end of file in patch at line %ld < expected at line %ld of patch --- expected at line %ld of patch --- %ld,%ld > expected at line %ld of patch Not enough memory to swap next hunk! %3d %c %c %sUDWVSE=|<9u 4W_Hyǃ=thHEhh7h7赶_==H=؀t =؀> 5#_EEEEEEE5hhlEtjh<hlC_ t 5d@` 9 H5}_5hhl EuCH+=TE=l%}t }#jjjhXE!@9hyEhh7h7A_l =lЃ$F$@KPP|Q|Q|Q|Q|Q|Q|Q|Q|Q|Q|Q|Q|Q|Q|Q|Q|Q|Q|Q|Q|QDQP|Q|Q|Q|Q|Q|Q|Q|QKP|QMjh<hl{_ u'}t }jj5hE=t*}t }jhl5hEEhl =zl=lt(l `BuC;tBt;u{jhES_ u CPSQ_j jS_8  `Bt CBu;,uA `BXuC;tBt;uj jSu_+8@@ ,=8t@@8@H9CH9~ H=m-_}u%@Bx uB9=u#=@G=FE@E_}t&}jE`P5hE,5`5F9@| FRhFn M5__E=}hlEċ=7=l=lt(l `BuC;tBt;u/j jS衿_<  `Bt CBu;,uA `BXuC;tBt;uj jSI_+<@D ,=<tDD<DH~#hl5RhUF H9~E9D=u =DE}E=m u#=Ԁtf Ff mFom `Pu=m>t=m0щMfEfHfrF 5} t}~M9 ~ E}9=@*95G5E_5hhlE5F5tl `PuVS1j jhl観_8l l `Bt CBu;,u5j jCSj_+8@@  `Bt CBu;aEĈ @Etjj5hH] hn ¡=^0ΉfJfX  +C9J=ˀthujjjhH tT19|J 9@u^4PPShHh `F_h `Ԥ_C9}@9~D^e[^_UWVSuu u赤_1҃ =Lt^tZl9L~:; t ; t ;Xu+; uBEпE)ЉBC9LƁlt Shl_e[^_p_Char[0] == '='tp_char[0] == '*'i == p_ptrn_lines + 1UWVSE8=<=8< M=} M)=t=t =u^=u5ʣ_}==u j讣_M =uj蒣_}=1=@BM< uEB=|&9)ЍX19|Y}4WM M𐐐}?<M <+u-f>ff,t0l `Pt<v>auty=̀uShlq_>dQ5hhl; 0=̀uShl*_l<u5W=̀uohdSٞ_hdSΞ_S`_S_55Й }55Й 55_j5e[^_-Moving %s to stdout. internal error, can't reopen %swrite failedout of memory Moving %s to %s. Can't backup %s, output is in %s: %s Can't create %s, output is in %s: %s UWVSE ftjjuhfju苢_}jjuh4fhhl胣_à ~"Shljթ_ tjjjhTfŚ_=t#5Su_u SL_=u 輘ÃujjjhafSP3_S赜_ hu ե_If5f5t9/uyA9uhP{_u|ff95ul95u^?tC `BuA9t.Bt9t 9t `냐GPWJ_nS"_}tjPu hpfPu _}5< `_Puu hfru _}tju uhpf2u u_hu ؘ_ǃ}'5< `茤_Puu hfju֟_}jjuh4f,hhlϠ_à ~"ShlW"_ 9tjjjhTf빐_W _u_1[^_can't create %swrite to %s failedUWVS]hu ڗ_ǃ}jju h]jljS_ƃ}jjSh4fIhhlV_à ~#ShlWC_ 9tjju hmj뼐V6_W0_e[^_OopsUVS]u(kڐBu)uP<_ƃu'=t #jjjhafP򐐊CBue[^Uuuu uh `˘_h `Y_patch: **** UWVS} u]hkh `蒘_SVWuh `肘_je[^_: %s UWVSu]=< `hkh `K_SVu uh `9_W_Phlh `#_,je[^_/dev/ttyUWVS} u]j/_EEESVWuhl_h `d_0ҿlщHPhlja_(}thhljߝ_à j轚_t>h `_lEщHPhlj_hhljjhwlL_ƃ|KV]_t>lEщHPhlV譣_hhlV5_V襔_`j_tFh< `X_0lHPhljW_hhljޜ_Ãl  l ƃl}ujjjhlge[^_U}u@jj_dt d5jj_ht h55djž_5hj赞_Ujj褞_jj蛞_mkdirUWVSEU 18t 8/u@G @C8utO n lf nf pl19]lpPln_t(=< `u;tC;u ClS芞_/F9~lt hl6_`[^_fetchname %s %d %d /dev/null,vRCS/%s%sRCS/%s%s%ss.SCCS/%s%sUWVS]} tM `Bt CBu=}uu ShoPj hoS_ u 1SÉډރ>t<  `0Au'0:/uOxrB:t0At} u59t1;/t,FhS_uff%f=@uF/V%S蕓_hV躜_}V4)SV8W_ho4hoSG_ hWa_j4hoS_hW5_ho4hoS_hW_t^4hohoS_hWۛ_t34hohoS薛_hW谛_tVs_1$[^_out of memoryUSEuP._Ãu hDr[؋]2.1Patch version %s Uhrhrh `Ց_jNSu1҃=tB8uЅtЃu[S=t Ѓ;uhrf_[=ulibc.so.4DLL Jump 4.4pl1/usr/lib//lib//ts~ssS\$̀[̀}أ̂Ð%1̀}أ̂Ð%/̀}أ̂Ð%2̀}أ̂Ð%SV\$̀} أ̂[S\$L$ T$̀} أ̂[WVT$ t$1Ou^_WVSt$\$T$t%1IQRVu Su[^_' : can't load library 'Incompatible version. Too many libraries. No such library. Permission denied. Exec format error. Unspecified error. Corrupt fixup table. VSt$ F8tU8t'jhujhxD PK}[^UWVS\$S|$99t"jhujdh 3x|$WD PN}S:ltT19u~M||$?t8L$1ې|$u|$D;)|$D;9uF9u[^_]VSt$ F88t#jhujh+xD PK}1| tD L CN9C#TDN9[^LD_LIBRARY_PATH). : incompatible minor version numbers (: Warning: ) ( U4WVS}EDžft%_f9uf9t Džw1IU:tH߾wAItuu1 r؅u<=:u1҃t ti:`Dž1ۀ:t*9:uC>u݋\$)ĉ Ђω4)Dž<$Dž:tb㋕8:u%/BB B>u8/D19Ђ~ds :>C9Ђ*@{DžsЂDž܂=܂6~1ۋƅ QCV?PVVM9~ =̂t̂jh uQh$uu 6Vj$t{{$|{$|$|$|$|$||$|$|$|$||$|$|$|$|$|$|$|$|{jh;uNjhRu>jhgu.jhyujhujhuj hU?_ ف9u9ttQjhx6~WhxPh/xM Qh2xj$Ijh uVh$u} ?Wjjh;uj hr8hDž܂=܂t=jh𡵃8mq8$»KukY Jråe9yfWԑO~s{x)^?^WU֦WU_ߪ*'(Rjs!iiآ@] h/۹$-DGUސydK"6d~@땙 k_o_@~ktg7Z`zӅ$ؖ H9-K8'߫mk8DoeJt9Vlmҫ /jt "fH$Cc ).Լ7>8iEwIP`u?hNM4)<& sf; Y xxC+CF,}uiA)/ )'f9SqܫOդh L[1 #-RudNf<s$z JB3U{Q}X6 yBQ:y9r0K: _OGjoW`ƴRBݶҳeFTj+M+.eÂmC\q"ь"PNBl2ֹGP` ?ԽklKbB ڃԷ<0{c xq}la29'y ׉>j mQȭ>1Wa9'eFAJE#ˋI0Ly`UH|9|'&ȔTPG5)Pz n|^'5|m}ʚb*dT wVx_HK5MIi>aT;)Y ?}7bL9|2B\3M;R(;@IbߋHlۢ^.W^ƿO"y5Wň A&OgP"qF*4lWB}fA׃k@WC0Xq$sdDXPLC~T$P! 8r&~bRRАҮ I {IB$gưU? 3+t *r--R Gpq,rzO5tc4 TL7|Dޞy9vDH20L8?'unuGfԑQlެLv$Ԕ-vGA̺#bux< v͐CaQ儹?xxѢe6MLq-3j|sOAҩ-%e]>n[}~aN6b%aa`=a11Qv7l)Sr,2]j:(r@JBL57T9UNۭvCt :\/^\,}`"mWP"#jaHTpkPت^Nb4= 8yNH!v -:9:ƚto.*rh*eVtg:䗌C|yqÁϴF^cQ4QwjRc9d~ Hh22D?t"4䠆cnk$\HZ)cҮO27ŹR7w'ߝlٸHy-&f->'I_g8'$Dguo:1%$vk1S '֟y'|mZx#8f*#֡te٣'S u*J;ԙqx; }ax~ x&IЬv>2cqӁQ?r(}ᴑuPST~RRj B5HJ;D -тϓBD{7dBjeXs1FJ˂ "(l&ͣ$Mv@%g>9;)SW d-m;3[?t\tw0WLhEPm^iUrj&2d@l)?^My2FMnm%$5?W "Jx tJuNnJEx\ٶ8Xd꿙jr (|w(f D~FYf9J9Pm_ R0ym thw"/dO:`u<28~kL򎡝m1Oh4/, †Sc.w%rG`*ڏJjprCD>]߯=Zhz&NA ;@!`А;"g.NNDpZea29NaP:ݎV0!Ŗ-dKBcSr}o*@/ٌAȁ\=!e'P: 01!{rnh|W۫on?\2up,$~98bR貋PGNtQdB1Mȍh9J5q: LaK K}Wo.?\z}1^';iHv>jub+|7x"akQgW^}mK<Iv|ÕH@xFsZۛ( OއovxP7Vj7'>{q&OeQ(;uR9P$T2p[22uYޝZ)Qâ˻Gƀ&\ ]F=?n_W# T$=/usr/man/cat1/co.1.gz100644 2122 1750 13427 5135325301 13322 0ustar steinberertu)\[sF~U/K?&R-HK*Q%›DbBR1yrjSvUJ*7t_=o0vn ?0Wh)j0Cc88tpڒg^}*P06)5x=7VkmX^Ut0&/KPv[:p,C:u+bhtkZ!4>Fv%~O,*PD(ĭ+s1@`x3a@.4x"(\^ЕU {xIv`^ R Dy]mݕwbF1)~2NX"*4%{&>/ ?h ]GeqU:x?03P~i8f&/s . O<DsC "xg .|xܛ){d|EMEK'yivF/n/$djE'b3RV&+Ě~ ը+&6FJj̝ݪewӺc,;9eT#vF_$T/^YU21I1AL r1 4mU;ԩ_`f^/A qyAorFXed$|d}lI5+G~%h(PbԮ[0h^W i}8N[qoo,eQ6sJ(B Q :1ۃHR|KLnV/ |r8f?!@|ڽq %(?UOojZU6bÊּ+(OPzoG *2yH4atwwo^[t8g8ih]Pm~Ӎ<?1GA 9*VoNZW"zl%et0Ad&8CH>G[S9P%En 1uP6@ʰ C)b 1Eh܄yt$SsҙÄ"{j~ ')5dҳ$12/~zr39h&Q#SZSdfd .$т$y֨)Mj [ 2R TP$1+EX HjCWLkCcWк"OՊ%DApPDױ&u8Tgmc V#KDL*d&~w5q#R&@Ta#S~ؔ?JԘFYV v𲳟i(213`-v} p$PSB'I ){KQ]8M+jY/SNMX>ZjXEŢ|2A!c5c8lk)$Ɠ>)q$|_|4u/t_vޗ|d E3CD8s9\Dp*#!6 &Т:GxoJxsM;>šI@e`ڹrP!@XyO.{:]R)?B-.P=*qPKU z\@PdymWnQ:j\ u nqv+("XblW"UWU KB|:%naB1/;rggXWCN)\yF_Ӄ-pU3RN~ElIȋS@E;\9;%8Y0. ^œ@|L ^v?oOyF:ߔhvn~Wz8 yj' anmirxu6g`C H2&_.cer+82Vry8joҦ)11}[Ĝ [.3`XHqŕ]kc閮EWt&؆R ˖ ҭ^ii &ruuf֫]y)%ʾasr9lWrƲ'*%S36IYn0=ւ +VuդUzH@ԩ9ٟLR1 bW}*M!-*Sjq~YG 7?ҹrDe8d7Gusk 5Iҗ9X6 Y,)KF'1wO_o~e`'. BJ ]\﫥6_xhV tm2K;дYY Ѽh2ͧwZ[w'nDZ~|.UQ_uƷӺ*j~<Ό&2RǡZ?Y"F•un̸, 6˜&!mg[dAfF,$ۅtk^8vk$ ' {fɼ\$ ~S;>%0("MTTK9akwr"귴nj+Mp \-@iX K{$-Q$F4(Kv@|\PETj miہ{#S4xm$;=G m ۔Hs#ȷi+C-e.5edUI#%KuNIIEA ?7Cf9'_ hУ|G"h,K?iѴhCTy1ˤAv[$GgG>hllDqjX "KHdΕ*u 7cYf|Fk~e,IT3 ?3*:|W7#t8Xq#S_DkT'<*tTBWkXjY$Ad J#6 OFbϞCHQGfOGv'@} ,x@];:̢: 0"ǣxT W>S<~T<XJ@d='ZٸfZApqӲN*W#W/d ]e]}r[LCDv 4؏mo9DGY EGr N5|aw_M v8(_P[~O:Ꙉ3H7Fa]Lĕ۬YmɽgI,`pEcֽa"3gB7ZPMu!hZDMZg<_ ElY;g{hvuK"]&*@ߵ ?QTX\ QKtHV,dXם"<iՃ7C_)?YңAU1TK?=8gTf%71䛱5 ۥLaW4V2:LEvZޤ ܘcit4ahkv#l` 8cg e(ld>鴄c9Y`&_d$=)(N>egكg#Ϙdf/i̎wq ,8**yc@FHka㏝LjtY>'KDDcxԋiBNT2ks dG_"{s$.\!Y"XnQJ}dubz FcSlǴIq}\[pdꖽ%+YW# :n7ћ<~Q㘇y4 -4?70Rs2%*ܣN:ҽY8DF(rw }*YA?:o)&x]5rF12Ed,OXVOD'@u,ԽdyjޡĽ]6|>,<8I`;^^qQX[+#ٽz yL;/5e2L,ĩIO@Dhs/sjot^o.+fJAwV-*W2 /ZZ׍c$&  )R.?z0/b]jy08TK"rM ';_Ϲ5nBTBQ`DVۗ4\VD/ۻ+/RjVޗ߮;"m쯿xP2#սÎ_% j%b{%wDoɍ۪VIs32rd<7eZ֡ 㟴s~+ǎf{JV͔_ރ+;աYEEQ~D`rɫHG}ra_/ZfgO -Gx!6kNnMeG.rotSTn.q'?L^]0I__M[w|~4 d ٱC?=9<ѶgɃn秴Cr@&c\]^7Wx$$:?_o\&`ߎF2.:r-ht߶Evҗ|MGvWl8hts=Y_39đ5if1?v )73o&o'*o\yxO4j-~ZFI)g3+oQd5F`?wTB?U,q$V|JYS;-9n#M )UJ29kY:R, W+˥x0K4.NiMF/ߜ>r,"WEusr/man/cat1/rcs.1.gz100644 2122 1750 5726 5135325304 13476 0ustar steinberertĪu)Z[o7~5BŮ HjskIM@ 1"A5CIg*9c[p$5bG3";f48}t&?ūw:|8~ٯ#~g '&fhXJ ٶV/Vh廫|ѯ$nN椽99q_Dt:>_z? VIOg:ale B=hf)F)50M+uDUUwi0V=c!OArNTQʬǢTz;6B8S+AL<֚Jdl?o IqoX%J;Zy uZT XRڶBCt-ȿ mO/dB7ղqc/P igkX%$\5Fle!8.6i{ :fr\A qwF|edE;n .AL\W(X3bdfۭ F/QrVZ!c T[(Sbq{Aq8{<~\ORm:ҩ/kK:++2jG M[ lK»Z9$2[h.uZY̋M!>thڛQT"Z+hrmjBݙF66om&  F=WKLaV!v,>t- k3j8 9eeVupypZ!7ryjP,wf(;b[:uJy=Ezp(|'Aec|Lız.(Õ j])B) |D| d~d8F)/yْ{ W8Jp,  x)s Yf}xqҁ)!]c Gƀv1 OuG1΃Z(E*Q#E1r52_>J4Ypj8`t60TJà9O0$GO(lBYGt gbGΧO#X}Asp@o9GM?2DX;W45j'_|=|G'ίPdnac]@=ؽSpI%vZ rh]_ B:f!+-OW|=_g{źC.(Z^{ FܾR5/1/ɗVh4}~y=35/g]1(+x3׺> l%5Jb5[?lze;כV|ss,;?ph8_%!o0+كVfx̯ ˞1d2v6@bA: ܜ,xXbt lOkCAY_t~sAEHVʼѳIC_>?>i㳧?M"usr/man/cat1/rcsclean.1.gz100644 2122 1750 2131 5135325304 14464 0ustar steinberertĪu)VmOFj/ܗTq#S$õUu{ow536ytZ e=<3Cwt|'<h>I fI>g7k($ & ?t(: ,0YPdȂ%@,XguWx(񕤗q0$nz{?]k^gnC[2 %ϟxc$VX ^WJgylJ52+"g 3P)7F gt0}άi0i1PdnV4堄K:ڢcD,굖9,!-6"`˦r28cO!R} W 2yA1j;%t ")K*2y>WZ*T[K&WO&f7I()qNϽcqQgD #.x(Q}xFu {޵qN";00Ae1TӎT ( W-87u\ժ`x`gMKq6tWh;F-~gEW1#Mֻ-MQloea,ǫӳNi֭»% \EpKxlXo6LZqMItёQ1! ?"^?m 9+P!N{.b  #lX^i/\;(_8o! R&nel,uG涌'9P)ɂg ;y;=?y#uGJbd5fc%pt[55bGDzpYnbǂ?Lʼn\Xkd`A G0M4Djwk3]).~Uh؝GsCsVD-֪dآ[8] .`] "Jo* ֺ1[{Uhk8Zmρ)US}-yJZTmጌ usr/man/cat1/rcsdiff.1.gz100644 2122 1750 2516 5135325304 14321 0ustar steinberertĪu)Vn7}]2O HI<e#rKP,]DhEnH}onڢ]2;9^aB'.K!$$u$ 1)te\ ÉѽKfka,FC0dǤJ%Z6K[S3!y , -MaCπ6m$c#bbQ4d^J"x;T.L4Ýl.Z۴@~ZuAWN=m\@t/bŪВoxf@`[~%]PIZ1(|vUS{oNse"AYŌ]89mY[+Q"6HeHZKFi)+YwdnTKł9$35Ĥ(=ڥ b> EW H:a3+B"'Y+qS Nݱyr'1ĦaD/Т@MlЄlV3Uw:0uw]a -U$⮂MהINi0x8nQO)~?'-xM7\no’̶%!l&Ƶx2F-[ڙϊhr7_ wakJ_X>݉b$Ӥ]8w9uZ3]f|aٛ9 =w=pW8[s-1hazKn%Æ GQ/*Eƌx'@߂2z/ pS)"H R2l,Pj}|4΃00YqhWWCԩ).[԰M= 6g m4lL{`εgXB24Hs~2ZJ) qm/m.Y>0ST,Jѫˎ1}"k$m}Zz<Ɠ^5ڠlfk{̫Gbsk)"o^=JN"?/JZx.AGOE6zڕ ySvMSo/}Hs8DA9kaކ96/\ w~cU)ȉ ͧ*$QO<$c(a[r`Z?s(kV*0 iR)\xʱ޻(WOMULsY$hsZ\mWi7+$dW2Q"EHxX*IHr:DR䘱qK5K$et̘ιw*$RTJ W@vnׂMi{GxǛ#i[1E_RyM(:{"QxZNL(dt;N@t{52iTRR(L2I2x9^ kgm(jRV7'& s mRwG:>eճp}tN0ؤ/`"fO7ԅ'o33b2]7] -B$Ct mDrŠwt&$;YH>@_#jq nœI' !m*eD"6^w4/dRdg+ D$]hȁͪp-jn"+`̖A8vɝ\y@?aWW"s'VE(>VF]oK1.Eҩ- /5bG_hΊڮ1+RPp9xAvm=e,Z:aK:H‰ ƋX[Eغ%+Uw魋Om66y'K6Gm5Vf.DD؁ݒRu7^ 9gr<ޛG1߹ ϫBo$PױUJUvA,ϟ9g^6<@Yh}{bBY<&vx߀`!/y}s^ƿtkUPw_)Z퇚vr: ڕ"( 3!kW }vUüP_7ӷt~cEU#:H cEyJ n`mI#aBo~+=Q ƫ8-ðq/eÍ/CΨdQ׼5DZ7tshL'#^MhZ8˧qTϋ'zu'?L7ӟ^M|_f!N/oZy'53 F0B^ԠH=YQ ;HZi4 ź:d$x<ЌDBP1O򜭶RđPl6LwpzܓbYU$(4PpF*u.1`DGI=iړPB#kmm׹APH5w0{O~m-=!0=!B4C-ͤ趛> A|M߶DC|i<>m%~} @&^HP, :EBia߅ +~ +%g'),/IDm@rdqFM[)&СhbcDHM_J4ZY2ꁬɵ+:o*^ Y6ni;RlɎZsx]szW}r-j!yTWBrbͻ!< @Z]ՏxY]s=Q=_B],1Px! r[),EKZg۵ Ql,3tAR,r MދBBL3 AM/jO~WTH1 S6 _ͳ67|>Иc&tz07NKJb vC:^G<ʚa*\l5xaa^,ZN2 jb,bNK 5%<댄q9ku|mTB٤k3fz:Ly.4X5Uݸ ˔ɚV/cxʻs>-; mm#QiZjFlK70`YL-H! l"E` ε¥ [zJcRɗ|%ڏq献2mga@#0_:JQC[Su՟~bcxpJ*V```)L+);]<.rrhȈZ S2$jFy7xcpzU'߀ĥW ]g;v*փ8=S$,=$uD¨5%v$agk-IbL /." ҹ%Ԟ<Ƴ^SwzB刑yr6I>,{`6NuZab9H}$JmrwBWA[i 02SG #1:kKyX| M =/mj{!"R%cA<M4a7Usd2"n;[c=cOiΒ rwmF2QZʑU)<\]l`<%=imC%>pu%Xb]h `J89D>C4.c:nj b CZIẀrc.DoΛ Hʩ갚F(ogBpzg`D F\%ؔM'0:8'UbB(HIR5HB: /L>Y*%MO~@;RK'j~:u") 8aCzcNY|8p[X&0F_Z9vs_č D'ɠє6KoEBySz;o-r2@KACrHSV[ԃv "1 e D:4fӪ;>T>Rmq5%YCA!C>|_pKcI_DJJax0̥O.QraV=NpI3ul<$- ~hEE#Vh@I?KVM$:\9,N>TK"?r4a| 3HV;ne<$WN,fW$ΩP)o\GKeM,)DhфӒ|i.@[s}D<^HryQ^*-69ypq<*ɭqiK8=O%4/VM˝ª[-_b;.G_/p3Z,_#gR"?i?5z{A?v6L^䪊S55r )K&*úi \ !h[B7nV8c _2kUX4خ HƬ8,[:t-Kd0rߑOl5W*Ƴrs3;E,3IbFQ'JO %2GAaX78|CÅ ;qKk"AξEI,Mq7- >5=nd3Ze%0\o6.ksSiхw4;O\%~ɀGBPS\p_B|О_PGלQ~Ꮦ$WHFu\8"?.^-̟ ɞH??gS+(A*usr/man/cat1/rcsmerge.1.gz100644 2122 1750 3035 5135325304 14505 0ustar steinberertĪu)Wmo6j/}Zri`$nq86 AKF"UQ$ {$_O>O^|r7$ Jڕ7J.Innԋ_ }Šr1Ir5_Mo7'Ό^:k Z/Jo 0E 4{XxkΕ^&Q -* 2) (w%hڭr"VkOn (VmX`PXS~gA9Fe 4/0bXBiJG 8Z(N9OLKt tGXL6ZfP22塔y0Zv* 1# YȢSX\̪%.eiC.AjGl2*o8@0-=|(˥ Z*-#"H0`lf;40axĒ|Y2Tǀj^ekZmnfZJ;H Wb}h7.Mx,{ug'Cl*0-"Ǥ߰7 ]KP\+ͪ$>}gI'MH;fm Er5,sQ/b 8I_q!k_d1x/eFtzC(y}BJ[0z usr/man/cat1/ident.1.gz100644 2122 1750 1452 5135325303 14001 0ustar steinberertêu)TQO0~x9!4+E{J:AA6MEn;tuoڱ;|ߟ]EÓ#{<Lno'x`kOn#r =7|9+>]3~ N'K2(a/Ӈn޵QtIB)K "K Piox=ǔx'/$'͜h2kTdL&<#2CѡNQ#ݪP@$ Y if݇R:)f=Uf`hH ȕ}BTcHB1Z3MUSג*A+"9r"n@'͔!6\)VB$qDu2`E*8UztMA+PKQHRyb\jG$dXf m>mD6"%޽]Fj]PFQL#\p24D0~~v;| <qC6 ćeH~D{%u3usr/man/cat1/rlog.1.gz100644 2122 1750 4251 5135325304 13642 0ustar steinberertĪu)XYoG~%ROe1,eXa@iC ]+*.4ɆDOSWU=ք ~p}:=6QfԗE_9 hmҹ(-sraa<-g/`]IN:X)la~ۻոCܤ¤g幜*3Y)&=C8_>\?^v(XexH TȔ-J.~Н-ti1f*35ac R؎Ȗ :4X _\[J l  ]zO56lp YJ5$cou 7d >Ny{|z褯o6kr]\/%ѶeG&@|ygE_.ԍm7́_k'dj!'IꙕU|[\{o1l;`I\ͤ&?EMz_$w<$G)y'xm-0NY XIe&A8(][zmkkqk}`4q^g,& sʅ9v(rb3Nӵo{m( 4̟dcGKթ5_-"/*X9:H$!t28Ebޡ==Xu&+j ٙwK;5ӷth"raZ!<ʜ`]xTh1vdK 7 dh\si♏u sS]9 H W0פ%n>]]^/;=-iH6[ėu{+M/X-L ~Dwm/]ՋD軷w84o9av7{̠4ύg<.Љ (質yl UKFc,R%UQɹ f;i-b H~ Τlp%TZH}ah{WZy(こ~0ǟ?c#?2Wusr/man/cat5/ 40755 2122 1750 0 5502067254 12110 5ustar steinberertusr/man/cat5/rcsfile.5.gz100644 2122 1750 4720 5317410155 14340 0ustar steinberertm>+rcsfile.5Y[S~Y `WB 'Z6'/[񎥱Bq~,es:nj}:~|coZZKqy*N#a>Efz" ʆD0i&0K 9I(Ryおhbhd"5 Tͻ-K+(ir S>j@7 9=U$NU#*]ġL:TL#Pjˑ"Ni#̒DPķ*Y/}1/P<Ŵ/d_@iFǣ4BrbF݅jZũG KK6Wв mJd^FQ8KKW][@^I[,~!`L  %^eqQ\Dl6HTtB£q;i"q^xAbD,d=U@h}_gs-#>!HYKMH&0<ɯxreSG̙֛ܭB);8*y&ؐKX9gV$TzilZ?@`Q)&o21a94bY?{^SWFbD |65>k ڑ=ﻢc3 gOvq?G>sHd*vIhN1Ysl[_`4QptlF Zz4hUa2]໴WފUqs:CSUbʗiS#_5G[94CÇĸܪe&YR6b2{ܪ5g$3kUX*C%)o,-.".憱ҹ-ZPgsU4tCQJ8IP'G\>-JF Z0&T1l2`1)UXFNeiCuG6tw)'UMY' q 2z8l6ڷ7;1 \6*^[Wjs^pls#e1oå,t2kcو $H=8Ďtڬ)YhЮXExEqgynFj(gIAzLhômH9Ҳҽ#m&}VKeVq4ՓY6iW?ˡn&;ݝ2lL!kѿU4*05IJNqkNNeLdLAR%{DFI8% :՜WyE[,YΤ+8)d^Jx1WoZ[Ֆ9 敟U9L~T3K,J*9 5?If_X5RibL*DvΫ{wr2MԲx Ȉ^ia|㯵TCޚ>D^0O`!Ds0 jjT''O?OɧϞ}')*ok7ʿ˅~=Ŧ,}/*_5ry䯳rK?oܴXO5}~N#~]WZ;~?ya?O镋ޫ㗧{u54M^u/yum+~W\]/߸}wÏ羙~.w]̯}soU}y]\Ze|[TWeE?"ofee]}qU[4 [Y:]z0YGq*I58ezeM^릾-rS([_m3 lMv0mKK71٪^l᯷؜ X~9DN♟79~axr=<@ҧ߯\1f=!+[r c-uz`}\Xlx^ [ <H>AǝѹmEfYqǃwٶuXz3O;9&q̝aAע+(2(Ih q~ 愜Ϫ7Ϊ+piz>*&U诧-BCQB@ߴBy2(.ʟHG0ú3s}9 B> E`xpM.{3$! "1dZ fdkm$8 `PUŞtzERZlC$P>/7ْQB/q|^"!D& [q e%l(:`;2)כ#9zj?a[fg$ ቕʲETkfDB 4[nqxır ڀ 7VG> kzŒ)`MW7>mm<7Ck5XtU10!2":)BsQs͚ Dz@e(ᬃtm^kkK4tz~\D_+hH{Sɐ *pF2H9,nX&eyO5>n8]iן݋lӊ c iQe0A"*-h3:BwtSr:ҟYc`+N`kReL&zsum_bv 'mUEy{86 hA`jM/^J*$@OM0 ۼS3N(3<;d  my4-ںDAI5#8ޅћ ԹfAj3P>}o5L~AH!YW0ӓ;fȽt'|걃%R^L򇂌b;\0`d ntT,$ʌұ42B|&ϰ`|,v1=RǺD2WygP#[5 ;QwA-Q=@j w(GP|tV\fKa] oxP-GžYUn.UQYknFݸ j0#56D~8uxrd @[aQ޲>` >iniwM;ȗ٦vMA4o.< v?mrA%XZ6ɈI$V@L^:+X|%l~³9EwUϑ=ԩGǓc(umtJrrVgASʎ n%4 {ݞJUܥOFz Sw~NmWm:rNM<9H:RȊdG0˒/el\%;M5/Qy-"TtqPJI:x}CBeW8H}u5`p:줡 a!Z%goހƨgT{է1:CFUb"2z&.`t#5pHv{"8V6C4O >& R0%Bt529>ɌWb4'o呆g_thy@@ʰ|'hbMy)1恻ݒKMȌ|L_o\GH\ O b1lq1 tҀpF/ZAǜXrmjӦ+M:XhC#ֲfx,C NKv"< bgUUP[΅ _c[?8РF-2b >uɤ-{yQUEOjpBW3}xR3JktOh w%QH7_z b spӣ,1F?} fQb|S BQ2k'1$pw Ƨ܆"F&#r ÅRraSݷ01@߰}Y'^ՖZ{0aR>itvIϹ[ 2p;Aa"M)r-4E|B= ?3b.zNV ۬,|Eb~g z ?a12;JC&ɟ_+)<|y put*EӨ4yݰn@‘"ٺ ?BG/@" lmy 9fq4J;HXl vZ*fŁF/f! ) 8EJr,t#bH0zId=tfŷoDRC:]ѦүQN!DK!:>j¥m 2$} Aֲ^L )lY|MUr1cA.`0,:)gA:RH۞&˓WPد,} [(ho .vouqFN9$(Yƈa>Tyu.}쐐p_96`ef,WFTĎDU"~=+gWUXDBfWzu ߂r-!.Zx}Vt %\e]R*UxD'5C"l8 `$U͒1_&PDЀp="*pD>?87 YHUO'p}kiɗLwp Po}=K||5&#ܥh"5sjj%(<2Lk؏?!#k ]d~R +-` !/94}y|ڮIxamj=?ԡ[U0`JO΀2N8ő[ mRT%樢02PqdmMduIysg 0?)[{! ^1fjM hH 1 tgu5z3e'(cuݿ #ha̚#.>˶]٤Qڔ 9  ?sLֽ@vOV~D h 0vGm,V0e6UoިܷG2?+Ӗg^ Ikj% 5s^c=b0_$Qgn#Fu Fg4(B#Pg^D["Kbє7vMR>o$B[Lh!9+-/krEe[Vlnx';'&m36Cn=U&M)3ֺ6i`TT0ly7Cs|R[f*@-a"=a,2vujg݉+ZDú׻X*ja (S"^{1Gw[vK l >. tdQ1W7I: ?DYL􉑠:L2GA55b Y1.4}9qQJ eWLG6w :iTr#|O ft=FNF?餳 Y eNrEtMDlU^"" R; P\8w MqRQncJՕQ'h޴ĬXcJݷ0AťѼG{C4*^ћ/#%PJ&lmH(M{EW+X,RzƓމY;:Ҵ{cOCf$r45E/R%.z,i5KN!lp03a :N]59 P0P*`b`LF"u-Y3ocUޖd6蝾D DE+PTZ8b,9mHo[~Glɷ&ҌeQ Q1;i㔡 zv6G¥ښ +N'incKmVB$ZZ`f [}5WyG̹ ok+ҳ Li'Gd8&^o5C[ BxWt*6c$uׂ l +j%fA@#*D`*Qd "D5vn{pDcZ*CzH ++a_Zr'[ٽ\eEJ`ߴQJvE'1lRߺz}V'JD=U1Δ[B >e΁`gb;c$]V#@1 9)/GT# PaۍV!DJP{KKOc!AEJ0jڱ!e\R)_FR fbi1\pW_ϢHMUY[(Ub5QgdXM/\]dK]1x,s1TRq,;wgGSȹ;$=|2 P?+QD)J?OmC$ z8|;V?R_ ڲAl %g3 N{{xlԀ$k(8@^= -zI*b7cnb"KVdWǑ3],{(-Hkq|B'2 K 88OMf6C904L#l?z;eY ѰmhYȫ"OsEar!XPXPp?^MhuQ46D$bR2Ov0Eɯp0Ql%I~GXv~QLZp4թR%$цV"8F~0R3Cqd"VCIH!s*éjiT4_x޴nHW!!C%8^ :@֚ӇŕDac5%zEPyfFZ FDŽ*uLjgOA3g뜗n7"&!"VRÔFa A 4R\=*$$l* hw)m'bIV" b!3d= $ HPz-OTu۵'T9S+'Sh.t : q'nw=RDsTr\2zy@l EXeOB 4D=oJj'Uȃƶa)~`MQM3#>e{#.""ig %˧OmX5#"sv!6_x޽ʈމٵRk΢o|a~;;NE CtQҨ .ldC'K ӚbX 3ՙp.o#.}x4NNZ=58H*;-72GnM})QaAk^Y[t咝]Q a>)(G&)!#յoh!DB}sdohdAx$ Nd+a ^@5%kv02XXͼ ~qOw<Xv ?|x&Nh4l2ZzcՍ&FKq\in벥5tf: 0M κU@rH328Q>zu(BIw܄ XXA%4١bF.dWvVGJ1Z)墤Z*~"q<G0ȒM byOKGksx-ޮIūc"c+Z߻J"beyq #hb^ ҷS-ClM7n SdpU'9g<01"l.\'Ψ. QpzIY$>gRCJJ>3Vk)fq2CR*ce{lۧ#LCy?̠ = G%`֒6斑aVazn|\ڔ#o_tgBzWv;?ЫjVjyjH7=Kdp sP\-{Ժ H?Jdԫ%)})<@M$ [nbJ^'cnCTx9]sP_c$|w=z_?R^&PN"7im8&$9_%rBzKyYmr4nZk "YMS>U{К`kDIu%9ҍ3X > "3cuS<38ә b5|@9?U#D]2AP,RXɃ#O\%w!dC+UC;Db hŗPu 5Em2|ΠYk)CzJ.%(J0 UN©uzgP(\k̻J2"8;HA~fUt[d.O`kF,1C-"ZU^>ŅDj<"\!w&h  %S?8юz |7/㋌ 7UCtcHͣ$1b(K{Ƞ[ )%R ?!MF:<eM2q碕X$ynχIS(}%6|rff i|y_~$_eŽ'|X%8] g+ K*x*yeR>`|E6 q͂ԡ6<|PHx.`;xzM&q?eE~f:i#(z/ڠ撒gVߣZg$`#'|mhM2ae8}EQcE#LVI&#ήLt`:kE's{*|D,". ۶8J2ZlIF&>풃ʍy gox r:7BI''$DnOqE`lRUJ槌GЮdGPBK)]2; OAri6$g6QB~q𔣔!*nj((b_Nw͑ 7]һGz**-WG*dFJ$¢DԱ󒤐tq ͮkӶ)l""@s;̈́?Hq7o6 h^ΚrobPI\Ug癓']Wπ$f\K:!nMZ"=z ~Čsx^!(Ơ߬˝s& 2 dGJ/ح[jYQ5y+n$[Y]J`_ғp/Â~1SWOU_^̽Vmn+>?ޛ&Ou,]M#<C|(?sO # |3V^-ƈIrTLihhgl9& drI-%atsЌD@Lւ?HFW*4aRCsGB qgt0&#_UIL=3`Ҥ ]c"y*K5OF復MPSi@w+~+ qfBv`܃ _kF0zI _q^ݻnK#~!8 <ĕeQblK>k(`wW.^KA2Ң"Afa BWڣ|pdS V+\>(#L_QbL86fY蕍'mJ8HĽgmPpH\7Czzpb~]KAqc{ᡧçc |xQ_v"Ho4o`⳪(몸 Y"gқ4o#v%#dlnև]}B'OݾXAԅh;Rxj{`D9V,j~F)GLvʎ$k!,r^NΉ;F5-Ð&$e#PADn 6k;J'91;~ZZ@T[@šOGVm,iɹ/ ~ct ef=og 5n2>ݗ!2({ b`WsyǨ +"TIIxR qȀ&Cx') JD;e**LY[f?=5Ԋ\e]>Rctm!dYƏVwmpޝ&ݱz-NٞnGA1Ns#(\0vĠ8XI)TaI81%z.^0ԙBʢ̦6EcskwJV%Ԛ}/!fNmNivT =֍- %A{~S8`SBr`̸6 `NEbG(H؞#o!fr|ҡER $ :$1,03%j ~\vlIuzWbr'h.v]`7![ mYk1h8v"-e> dADE%ME)5滱@-t)o@j~= o󅹴JYk֛|w|kRp _Q٠ƤP2"Uw IrՄx =T 5|z; DXZ/tMCܠ(.:Y96zc4g^m@*kŎWPad=$Ώs;鵖jۊζ6%),8.+ #u&o2DԝwFce[puHQSt;SqaZP@h1єDCY#gvTn;riYiZq¦+#cgIyz^cTqCVV3w3y1FTdwXe˓T{ڶ|z7"ij[hxQEe xw0݇> Gs)9UF DS"H%Lvs$Ye5&P|9 VŤh]4@ 6 %PD$[1 %鬭IK UQ)P@(j :Sa=0s=i5/[me`?bIIsL8 xxmބ=&M`՛ uV;AO !E*$i^ˊ#z*)iLZ3IȳV(}#P5Sw zW?km'6)mjbm@i#Ķ j6 4!.X,Sb 0w6k4%YDtt5fD<]ѿ'Y|XCIxJq/hTM;\]Cw2pPsX/?޿."ƈ:u׻hwKC] :ۆ/OV/bcmíƪy%Xp &;9$܁(u*[}IՆvpc fuUULt2z4PNW^fȬ 3Xf(8@SYa, S%EбtT8Q{a𛖫3f7|`$kx?BfտG^GJIqVaH2[B桨@ѫ>AG2وze2o ?RWor;3R#2mDI 5pB;dq˔򒸐 I[^"BĬi/nFq5KD f|}bi &sJ#"l=F!jh I`3jlKJ4Q>bQY` BAoлaWMSDa6pblT/`ƃ6Rƕ3^ ǻ&>:f&pok{\C)*cQ0Um5Sk($GO B H26S0l`&3t l HQz#7 u?ƷYB1k($88֠NIšζn["L[F0L#4JZk?wͲ`;^`7Tv}L&7@5*a)Yr2 0&< !^LBE\1qD5CU.I\6Y#F쉗Tpp#M@|zORm\JIxc[5=_!8!fyL9(I7UL%i3aStuE5ܿ/I6\y{I9L7iit >?3L1cV|JdʳQBFި$Mb,=#wMJz]c%;.nۦZ/|30 &E4qR Uo3al2ण 20CBزC&.A(&?pNZh%JB~I韇s\W໚N֑7)̤9Qv/Y]G] @ >pEm6^Ifw$W;Lzs+F%ݪ#ۖjgL4I=$Mvg.1-mh*j:J2f+0.[ :S8\R|Wڼק 〫i!lyCcnH䈹r7UHC7Y r;21@] b/}Sg:7 G SG)UJ ^ƈY~U o{>Vs JFEe-K.gJnS_9bXB/"pWu$8J/֣UC2=7]!C`i$*כy>@e4$q9FΞP7 .'SdtUE -~rQپ =$G>!J\]tJsfn]tnW0'?Қ`"Ivmܓg~=~ZGxL;b߹i|=P/ev~w!6Li1rOMfՈU%K*℠ьUJι(nSVDȫq\\t O'b&R,WE(AӼu޿rpl'/ԴLw3ƢpW-0-gu(e2"Fs]RF`aHƎ&4v'tS CwʙUmT(k SQ=jR)"R 8wHꉨIam>ԣO;ge.YTEw)`=)PT?M'#%Sߔ+o]|8b.  ^#nӒ9*cnS* bBl^P7H`kK=(hs91ՆV1֯QhPe(J+5m\cX(<7|C}Q"L u!_W#0IC,{u)5؟&Xv/?x\l l̴Zo\cbpaMђ115LUm@th lvvH,-RTvŵ#}=Q+h_-؝X*01N'x+[w.p<)^EmifښბUm6=0Nb.#P} &.c{9Disͼ7'9(WjT\WD G+7?ʂU0x.,/=5Ō4`G6O}  aW) ~q(v:Mݲ.1αGFB7JjzLU=]..X:}ׯ^9>?;~Nb RTt.Bu}RdI6,F^a=D7;PԱz^]=EЬX-8ڼ㴶eP*%NٲfR݂h:;y06p Q B.㼱,@z;]O/FZmR|%aQq=iB'Lq&ShT"vߵ!iBa-[9l_g$FOqj@z^95Zt@ʚ&\?k%H˽rA0,Ymxb.3lٝ?=9|} bhNH؆t6u3K=޴|@p sZ=L1N{qi.5n=U4ݦ*~m]nV>~'?N݋xgeXp @WBnȢ4msXyYvnP{O?&rt,/^Y9/6i8/?/'/cZ.Z74L]"0&?M&??n8t^Nq:hHπs<a2T,3c53ir._dF=VnyrRR?Mívt9L4]dV^>奸Y0Y\$aHB62LѷFnd[ɛ'ilYխeZʮ^XZ ^él@6S &aKCS ΧdWyk21ؾ4}80=ڽ჌ݬa;?K9>VR&OSg;rg>]Og9Ga0mC$:]et~ws. z_/~|.L]䝪A+Z+@)3|ڌ> Ħk`;OsL P}o iu#;7EzCf*xS2Sr^UY 72=Sညyz"%ZE)>oҷNjDc(MP'mۈŢ.0l%x$1lXX 6=Xg_,_˶4y -սA# /DWǣ"{%1"Î:$Yx+ :܀8S%:_.!)K*l$`"U5Z.ƴ?VtUݴ m3ՠRoU3 \`Ph٣سll"kFoMqYe}omA=ox5b]#۬QGn~Ь!^gq40Ͷ&ǔ@Sz0BTղ5βTA~TL-{oX#CoE70nƿ֒a6  `1 Ӆ_0(Er` 8rf˂Q/ć0"vc0 Bp 1Ҩo oo˜ 8j>,_zY8N-Ȥ߰:vö hE0fa S 1mjyY0w:pIҍrY$itVmq=`q>pF(>&ws-_@$"rHw8iMQHh`he8+h!XR3)˗ b*L;- ,% /f[/+[O1 L؉F"-AV-)یiM1X3& &oshC. 9\a:nT9>7dS 2`Js+. Wd+HcS~ٱrX}֡/AL~d *9L℅΅D:7$ m@NE%ᴫ M3C*mp)cdh36%Or Ƴ@% Jg&.F,&`ױQKmRfiXm$!8xF~ZJGUfH v n$O`i8}U^q ԭ k`8ҟg@PhN4IGC|, Q O/8)H1 3+lo$ v:]gEJHom$wYp%x6O(Xf,?E.RNf*+ok;mBShiepn\ PPUp Vf@n`cR ~k:+h9pBSI-̲%;Ap:$B6X|Z8j3Yjr98<Ӱ!DW@ Ţ'OhThDt a_c&:M>l1Wr/k&-nx'f@>jE[cMCƄq1dc;UW.qy [CL8U<ұa[^qmN P>hgmC8GaZ3 Gh3ǕZ`3F{ iBa6̲m9ɴݥQ*[[z.۟emh•ثx8|?a˴6QÆ LHqmܨJagȱuv%Օ1wQ VHr,kĠ*CY1uxZrЖʇ7$3;e<ҩ:f]bKBɦkX;J3_^ekNhtj}r7FKjPcJ- ,8"n [,* 6[%ѦcGtQtujcY]όsf%Lzsd5`ײct3<(JSUL>ǶEp2 |1ܞ4wܴ`'w:s򘅷P̂Y@n]Òi\$kp57`plH v?7+>s韗zZv^=aL7# [e@l+|p!8Ӻ> h[[w1t|[c.7  "u,aGdNF$pCoJPA^yL;j b=yG,·/_ d +> D!,FvE "en)@LYoY4rM>D+.z (lǠٰ߸TrP* UJ~۝ԄCom0D*w9 Qkkt@^6>& :mLc͋kbЋݷHܳ6 / `Xw$dJw!G lqWSjFRg / i&}SyM/@ ݟ&" G6fDX0T}{Ǜ^m"FBuEpq%XrSβ8R2"5䉯];d P޽BW_U8P4ʤ]2̈́6l45_84 cQWtTM<"y؇o#q:~C |UtTߡntHsOMMt N,XpE5*uV*oq[tѨ9SF Q?wW [8TvN_Ft 03{t–kTLwe6p_t~]Ï^O'WFe[U}fʤV"[f,:90kf :Qi$6t\𷀆R:,=߆slܯ(J%:l^m t`.R`DX,5GT+]opsTAm݀ U?KbMi@_"l mwf It{+8>^ l(32NKy+n}t[|Ǯ%W+ vb=_Q ͅ/(jw%DBNϞU&~~ّj>>oDavm8u/o^/k sآá:?9q/GoI3Ce5H8[O1Xt[]&y&W]iQ~ivtw8 kƋifOE8:jDY,_ؐYN >オ}jlRpCo8SS & #SY-?.C@7 }Y- q}ֱ7XkO@Umvgk*k^^u j 3=[Oe#cs8t͓͖*!\ ̔079{o/LͰc,D6؀Vs'BYkWB)X-pNgFc>&s 4US6u[H#`zOP EKwsy E &ðd@>hNě7ҞPm _:_~fdNBfc PR+З~ݣ>ċ%sq' #C;ႩqmqSEug+}CEv>KbaڬoWெr5}=%X:Vm)h1cdUUs] 5LY/ZzHldy5WD28 \3eޓI;5`tg^ Eusr/man/man5/ 40755 2122 1750 0 5502067255 12115 5ustar steinberertusr/man/man5/cvs.5.gz100644 2122 1750 10705 5402307164 13530 0ustar steinberertt ,[mܸ_Ax\!'N؃,nQ+8)ѮBv<箷7|zkYdPfÖmM۪Ц/ }+t4F5`R=Q"M`hl\ [ ` 5DqrL+X ^G;? p4MǮT?ܚB n@w| d6}X{J+]o%MܴG$=]z=0 Ԁ lsD *'`΂Jq; Шcij<<$|[U2L=! Y2Q,dr}a={ӸP2Qo'@7g"'nti tS~ApT)aS@_Y l 0@}t[ w\eR < yzM4v A;%bsR|Ϧy55+ 4$ Pk[B&\!>>D*)ZH\lڳ))}/Bҥ(`gǹZa¦Xq["4y< Plk6X=ARW I?zRH4n V$JpX $2b1*}UYMh+2` nرgY`2XbK5ÂlSSƗ;*`86B*xՁ `C]r- l DA%ʫ60ˀj 4MHi,)-_.Ӎ/P3&`͋th<jY;.H#vL%(-2=2AJj&ȨcrgfοUW8T*<@H]8% `c ݖ*CP"!9L/|~ϙAh1\  Ix_ z?f\ 8T^c"uڇK XH m{&sFǜi8[T@O7T|NJUn:Mw0G]5w L0#SFȑt 1k #kUVْ!wGJO@:d 85+a*rcL_Eӏڥg X` rMbvZhN"Ȋm۰ jD/,P 2Uk&(,R6_߁; hi8 Dq΍ (y`ո& cYB٦0 P۷nKa*IWX7R)*I{ [5lH):h9W@UkePVVC]hEsKr9DĽo+Eg}z(cnYP)Z(&P>V9U J'CE`)H.A K(YWabH-9<24zlhv|-ϒlo~btQHyRgNX(/qhJݙ5Q~mRo/hlp33$tDP}枓q7Dby >4m 甠>@ad|P!GPxV<#-]!51Ihi`)r3!GjA: >-Ӑzr( &$>P9}֣:Drl|T ~[{9)xYmQbnAS]CJW0Z{Uצ3\9j\c/呉JDjL"rc/5z>zP kiff 'Y_h#3Y2-sQ0idL˳hȘ,cdTpIs.R̓X+}[{]L!*W2|#x"D M+1">LJ窳@?Hfj1YYP=J528wÑXKJ $vPsdT§'l k2B j*]Op~ TwG=Zx_IgӤ3FVYL1D؋>͏~N<vvȌ 蜣0&$" *&Ruңk PnGLIla.i*%MHh c.Iµ"єUϐgr~q &դU҈p6p`ۛU乄!屝y\@aZ|K5 1\4DNk=;V)񃼎Mi-˵4BCne @O)u`d+4| [y;6\O,Wz#6vzp\:',KLu`|"_kٺ:dHg9f haQ:04i _O/|L=I`s* 'B;ynF*B[ T;EGm*)(7MBjj fQRKw TM>{gm$;niqeȠ.(4y!C@c>?ϳ[çgs*4x˻O?}wwGyZ{GqB{ׁBG3:k}/W߹ `k\4p`t!tpm∵dJ|(pWHW4N/13\h t]8ϑ^љ Ġ7" IBT4$d](MsF_f1:qmh̰ti*1R%8?H"OY'͌lԌ5ڧ}ဖS|3pl m7 Uuru3usr/info/ 40755 2122 1750 0 5502067314 11431 5ustar steinberertusr/info/diff.info-1.gz100644 2122 1750 33040 5402270210 14076 0ustar steinberertp ,}kw֕?qQOSY6ZV&VŖbȏeu4MX4L~RvfWbKy~}.fYgŴYFI62u-2YN$?}Mr54ʊŲ1qkڤ1Q]\f8K{`\44V"j-ō.V<+eέ$fj`t3XlVZ-vu7p:0 V2J qQX$]4M9׀Qĸ xK+)`czG/>(nU#zt0z0x^} E/bx1KW*ͳyV:BUs= E\euY`x05we>@Ed7h??:8pNV<˼fߏ{+j}2iKkyM'O@s2\4#G;nNFҰ;c>9/DklwQV?U}_EN2-O(a^ēK2@UV@qb{#kHjel(@td' 'K4A@~= (ΎUdnC]>~]q!@} ! (učZT@#m*@Qүv?Q7 b$')r.EVlc"8+yutt'#˨=KRSV.dM̝gJ' ڱP$ha:=,xȲZuE>AbK:~ aӴNKBkrF[! DJH . ; 7_u#rYdf*eA\$H=-b jr+ /(nC(/f1 M@QOc$#Z1nhL%^d24im(V&|uSɱxZes .3e2􂍗ͻ*U/KbhkguZ%hiF9t2KcׯNc|zƉthf vXiA=@Q$@vցȝ!HcZ (znгaAsќ.АޭuNb VL"e~YFpMƪ%6|uи_F("a+[@S$خBTv_)(S8'=72ͺjZP|՞8 hl Vݔ+ꇴʌn ux6`8\MQLϑ! uom3o1&Us32AE?A3mX`eh FqMn傐SVB|ӽI#ދY5hJ[۪xۑHZs $e~KEtGIRahʫGrHaԃ(vyK%RVHhʝLD4CMCcٵ8Ccq4%@E6-'J6O$V;3\ӝy,.:K >'eOe4cx(Okk gbq[)3 -,!EdX"BmB+Wc9ZUa#l$:{H(ǎYͳ4%(漶>C'Ie'l{d1^:tK(b!yî`$Ď%":ӴHVF%2(O gd@)I2笳rJu.锌2%^d= H~/ )؍^(_E(Q`DX)&mdC)rV@,_vFi5w\qY]J8@U^I]AzJ6u=V|hj1MQ+ڎvg: c@B#] Y1ɗeCot`hod) $ {U,+ +J}lEG+>_ocZë݌y[pEż(1"8 2-/ѹI'[JU&Ƥ]!u(-9F2dԀ=_=U cGP&.&/ߗ !=0/?|H9CR2HD%uz=^8"\-zppfTN GQ`{?? tXLW k9$U&C|D@c Źn;%ؾǧB5%K=!}o\xGȪՀE/rȍDc!H`%EXezS>b< jT3P"f=AK#ХUU隥x1Q|J 4Fp(v؛IQc mx&B@ßt'p,E @Ȑ(AV:K6Kv8{bV,@ޫKL Ad ]MR{Rv tll,iF`:YjBbq.0܍5Ա  18:7h@l Z򬟜|P:V ;=aNJ`<[L^\.|#' ,r}m j6)C4bA@Rji%%_qqFo뱞M1DͲK 뤳:=<]L$wL[#ܳqCwX赶'v>7:b ɠ1fh*j K$Y&D?cSo'q!QS&dLT\p-ks3Ǚek)G!Gfш8ҘcjOBHkCs4ٴ)٘}#W# bhj;?e)1 2!jD{ rI>!Hsv&kκ Nx;ۧggpX7%VF[C*IF \fWUvDT9 *5ip 0LuTA}8pdiXeG~䰳dhR.J ˤ7Ѫ`mphƚa[Pg; ;%c^Ɖ&)< :Nь^K`+.XQrEYZ{-1שg:B21!'Q![h n~Z'}+;1u5I 9LtA)C_?%W+zV/XU"l !. $ r(BL>,J!t>U@eG6Ώ[%*ye`~D{a2I<^,n9a Fdkw /d HvQjdTS odu@^P8v! 0d TcU;[g !^p$R24G]z<!iM\mnf.#Фh2%f6\Tq0jY%7= lOLd,Ϛ5 X+fQ8>Ѻ[$q35YX %: ZɉBX;cmp1ӳpQ^ɾ ɣ*~ڑwcc88p.%ِwiTau[/?>}g7{ՋIѨ]{+ Ly"T/"0lK8xlDVlōu JUN;.3)d|+,;D;@H?HQi\c *z1X?$Rl#t/7{"$ XrF$D{m2>x88x%"R}px1Z)|(BK&5hrA)n#B ⶦa tRuSg'ҭ11 ۉX,ϿA|3JO{ǡkNx1_>vBRNh\W!NДm

XTHu) hʴ*pJ4=W=aq͵y87Cxc9{S3\ڋ&',_mTb,5% l#]<*9W#!^"`}lǏSwKN-ENyL2HC- 9}MnFB+^WvtXZ| ӱb ]F2D")@R٧e mvv2m]FKv06N1\#0R:RslPN?i[exBqo.Ӊԁێ+ kᮂ<~.OCeB lDlI9# M\ KRjy qСHil4nNZ/qل 18 ;ÛZ݈uG*Kd׾-VEVN> }4 %tյ:NؗݻFūgggO/^^8oQSZ3,t0$lmڃA*V%g " 5"!+6J+ wǨ"T! Kwhdʙ"yyF+p>>|+|9^kգ^`[oovȏ_Zv󸏝"?vC:&䈷󮦾_l}#}588Q@ 0E\sƖY>Kwn; w> [ZX!AƵq+"?>t0 |mZuM{њ M-bB[[ÞZ{H[6k\nzUgQV{lEѬ)l7SSfzۦWǔs93o0qdzTAwj\7e&/lXcs5; =g9Aֹ1\Ii ױ[8ѾjwCZ95Z7ݿ}m?վ. f_[lRPo~+܁bjAVjrŇT m 8~/5鴑\Ǿ}UuVsRsz:Dd#q׷e~CFq2لH^ŋ~ >Dc}cso/JzDƽI󾹥'0w2[U4k˲׉d=vk{knkN1Dd - &Ы ̴5$٪X2d1ӹ%aB1' 1 43y Z@Uk81#BK)E5%R8HNDFu3ɋHqT S^m12Ҡ#PitIBc=z*~:K*N&x+]|_O:tQb\ֲwqV$15yJa]O~(M L:jduqMWd HYA(jp#O?x?Q|b7/].wW?uYF&?a_z_\~-[ĭ#zΊ {D͗t%oLn&ein^W[5Fʢ3#"WUJ3-&hզ9f{ z ^H5%p\N4e+P&=E{E0զB͟0Fj(_Ц-lGr:~W 0aG7*)kL7KA5U͆(Ab| 'Ƕpw93)ճaq]ZV31k!LǍG;i(\惮^ z` Gͱ\-RccV<2( Y>*W8'ֈewMgl-B*+Oa1n?NK=iD4'XP *]k )dP%=&I{ex׏"ZI݋yC)̥4&#ȵҖں@,gŸźbNNh5O=f6aK'b$^~q/0MPSЍ;eMړ x78`dkXA&dB-j آf2X& 3)AP+F/ 0F4l[lqO$Soe^n@rS t E밞Ӓݮ$Vj(&"맾T;G9#*%Rc/H S:XA| j>:}f9$^kCBvtB1KRr[9F.5IK5;{*mZMGѲ{Ghiꋸ_!*R| އP]15=~<6ԕ8NZOwgRgܫƊ=w'W >0w!v#KYJ"d0x8. [?x!=Ǘ{ȟ>A]3Fr߼w/7X0{=8Lnftks9ޫݤGv /,ѳ4N'|i^3._7^,BL e3!%̄ԣm/k0=fk7ǂԝRr2IS)>l+zoJv+Ї ^UiBzC FTdZ{ 0}} YYBI;3\U)Pk}P. @"}LVY#a%B!)fl֐*ge6E mLk:;<~oEi0rphvosJ²RveoUFZ֯KD}le8~ X-LY :zXFtr}7=`qv>F.g!gR&r:vR +^_t'Q_:E/3 nnbKH(88$}b䊘n;@5b ,{2hN6קA]I9Pė̪*w9iO>sF0 h53TgSYH8_?l͋< EFJ;4.o6@>4~I^=*aH~\6cF!⩊꾡h~xڗv8 :2ѐLiBXMy-choGHoB^ƈ(X-xַwc%F!lƽR[/A(M碠k>ߝ\[fH掚$Z.LQpK 41ޛ㗓=> µaDGm.~<;9O__g7At&i3/lcZ{{e'oba)mɯ[;+r/^+R7ߙoYLfEQ# )|y*VlɦI:^8a (|' P_FâZYj[PO0I ,JX-A.01fXPKAJ]yPkӂ1t {.R%k%&I(HD_0foxb wUѯ,1wW{NH:IX`dӶlNٳ=lcd*+rá_oȟ+tS]EO"A&Oj@'ˋ72&"`{ѽ_o@y ~k?U,"Z308ƝQ@T4aGی -b\Ri~0@Z_GO>-H`iL!h=V%NB.-eCWT0f99 ѭC7[et-ӭqt%0 W]۱n_AW<NJy"-, \` 18';YU1sa}CXc눈T9#[_L?-2&Nj|j\@5k=h`V]G_ƾ_"e_3ELl"$UzeS~6_bQa'ү{ _>z"@[TXan x@2-ld9 _ Zݻ_""*"zy/ǵWX"|S+JE#yFA7>kmu4@+hH&p Ul#p^ۀăF]B>܀7DZQ`ml6lDKg|1$ ȽemZ#(MGeYgVFzsa.Dž8?+ph?H'*&=D8yW}$exÈm(9ovZg['\%0-CBtGŒpn;@&1nusr/info/diff.info-2.gz100644 2122 1750 36151 5402270211 14106 0ustar steinberertp ,}ksɑ?q}ژhKcm#E1+qv`(mݘ(L_+|m2 tWeee;.WMֱXVQNm,w,m)⧳GGMjM_Ƣ>ЋGW: (3lMLcOzY/6IX4 4m]6WU}A"v*򧋱anKj׍Wv^>mtQlviӳinb'H@D8 C|HY7]iT`ə"ui7T;D<Fezݦ]Vu=AL+n' skaoSxVkX=!¾,?Z _xx]U'pH)MfW@8pPG Gp: -.Dž܇ZiIk[wrBP6ڜ0eA"QM@+ׇECA9JUJv8D[T![%3þ{CʩhjmZ$hd1iovXw6-̈́4xf[܏GG -ɸ_H"8`@?#@vE7ge +{D֍":iͲDMB~E[0H) e0A KAp .660>8q^UA_H'xP PrAE+-# 2& fA_Lqp*0N߾?嚤N3|Њyr": q–P@_8?!*~ ~S<@Ka9~0`NC]7L`_?u?2;|BcR W P'XLw>ЮC{2Mhoy Pf|~y߈eS,Y97Z/F tiKDˆ7=21%T 猦 {4ipjxk7l8Rٵ/M=_4-A4F$;Cb,.fkI!C2qW`k!4m b3 dVwqMWGBKA@S6nF.Fk"VKC-n|ASfO 1Q_];rs0Y|2mN9)m uP6_*M po G+f~x_K`?&5.#ϊO׸װ)5=g`$FE C5jP]'źM`9~q$ d,W |᧭.*^^E H"OnX;EgQq+{r '#T5lѵr%Q8;ݼ)n DLlv\yj7 1C+KO%{D~1niCa9ȟ&Mc;"Hbُx38<%$fbr.f؏Il<>hT$&; שv6yԎ9 k JT3E5 `~$\$Qdh9WPFP+IAߩ2[◪'~h./>OC3ɲ/_zm ~ؼ+>n^ ,l)r^U"%.3TJ\&yh2rwe]FRj.0A, A8#ї#wJh-!ϑ?:xx57i P~s׽H0| g)ۡ%pdKup}L m,-zpwy#^vVq*Uxo QHOyf !6Zk>Ң"E)-ޫ-^ dISjcNjL8|amm ?DTbf8H-v~nAhh =,Įhc~ ߝ.y1js-cdhie,p8ĝ% B: DAZV`2 c׺l%N1ca#*A``ZG d`V %fK"W$P`r(lJuCVz0gdcOz9oIcG )B+8΂-:J€}oQ(N v+bf%LHXuud nqkXG[ VhuΦ" reв:mKp{ (7MuR}nt#l%]lɛiVuƅ 7EiǍx%95ai2g5(*J$ =Ey1WL^emw'Y9WqJw\á!3v0BV @/H1xlz8=~ۖ4|!8xTaOo1;1qywjJz1aW " 1hLh88%J?=77n$m 44iGl%$Z-'JB)e,Q(Rչr>t qEI?h bj2 {v(Շ3(0!Ĕщj#; nAZ ycNeu;i2֊随Ha/w"];M"G=N'q7 D*.^q*>cB ?U$q ^y;DzY[÷oI@àW5EN.M'JG85SUZ@)ǡX*M%@7"ԬGIuL3J6FJ:3P~Ug:Ƃ$}=zt{׼ h-v1L׈I%))`!QR DCgL7mm﷣[p|<"Sհ `FX<\{y~(sÍ|9ԕD0 /--ly l8prlFX2QʗͶ ͮpZR'Wr_biC\sL:(4OSB~t @>4K{b%O߼~Q 3נ)Yn`(5gI._z.d1T^ $E١`Iw }895o/C4|n|~/T*ϞJB2*'ޢ4baDG1NF#<˚ gP=(OCki1hi?7:atAèM;3z$Gg=pIՆu#lKLǒxtXhw֟e r\HW_ɧG"d 82xE|' QeB1U*-L/a.!B+urP8EN.uT 7{(QWAQd_7y4|*8h*Kgu.n,6_Vg IYFIOt䕴, drޗ4t(闧 J6|ǿOQ$\қu=*~xB ?8^"{1y8zo8)5/!abd:۔'<4GEl_Ǧ(=Z?¤ǔp[#Cآ,AeH 2n袇D mT^I;4$D`/ɜ峢x6z/^\5+2$OUd麹QDb8U%X30ΐT:Y'oʉ"`Фo4适`[wQ7(b4Sy WqL2D$*fE*?4GJQbY'*wGy& 0TTG8@e*QZ]22U=IVYḓW=;;:!34J(ByDcw s@] KK(w>8sG yA<#졺,_W|8xV4'zB){0׍;fV* Pȧ<0L"AUB4K8ߪDwSz.:.0=T4{ {S*% 2XYc *ࠦת\K84 23iu8 K9Xw, Si灟Zk;VbIi$˛dzF{`;M$#K曔gcJeEHs8w*vem|?i-fu@i.-'R O3&,ЎRV.:,͡m`z=[Uب_o)pM{uߢ )DXS0}"o'*d{j4%ޫ{ غˏ) S k\2ƯunRl0OMt0}6S,rL/Ii #p#nC6L>LTDy\N *q)se{)"v?>_h\pb41Iۖ]G`uѸ  ; E&(g{|Q?t/Cw f(2l.-\rWIA^P~qqSO=^Cd"DNaf/pёuW F31ǜAm]~e|KSLfFȉf6hg~X_t,ys'fcv_RƤ{pm>r+w1|"j\y6ϏBBQKA&eA6=0LDr޵DJHW14uKv:R/g@Cüo!d?>>Y$NT>sعahBvJOMUfre$ ]bfݦV/7bnqu_0Ͳoc|90fK>13Z$x1 9(UL/jkM=Om<57@ao aliKxQwSNc| oQOy3O7tHe_ ۟Ga9:?sRzV.ε Z_!;yT*o)yuTZePQ^]S䃩[AIfZ[‰9bo6dtayLVߓq @w*K +gZp?pgѲ?v&MM}ǧa{Sh'y־X|MI3eV7śo^Qا#rM\wmh u`3n t#%w\fsR-8k$'Vp]85,G?1YFW$&tcC5$fz#.6BG(oTX烈lv\[>AC2s7V삃&qw^CsSRbV.E=L8z` _fev$_.24|ॲ!BME0[B QNɎW}DJk W䁬.鿣5?6Cbv{=dzSӸ0T=}l1S@2,;njP~n橁mu mjC̀}b{Fz|4t"JwUL()m؅^v2ǛDMK.SIAudhF.^yh+i @ 8//8mY.(q[jZn}>>ZJ[r?՗ETIJMVj"q$%ױ~hVB8p2x*s(9׬C{_u[!E;|ES #]_[lmRZŗ@柆j@c/;?6ls9+4˒ /22[2F4gĽr94nu ^q6_@~Ei״/|d $gM]OH!CSda%_l5Ue!SCnL {%wV&橾rn6ދM!t۰n##kG>)G|9^G< >i^|ܝˍBVc|eF #46?M`A.;FgYmYY<%8H.V:(ټ-YUbY>*f/}w^ EuYk)xOFFFmU~HVyҮV4 59ɸ3W:萡VqұQ(fVz$+af4d삥5,Z^T#"yjR'Et ]O GʽV<-&EqJf#V?Xp!`l5BSVƍ4V豿 K=~ ltjbP8bJ'b,9Qؠir)[J'rm#xAij~&qKrݗu26䣪HsJ8~ӡԪ³4h{|_2$O{W}.՝7oŰ%?z9o)s>׼NaȽ'+tN7mK.*zᓧ{w5kQgƿ2Æ9n l.0*ndǑF%Y#"#Vቚ5׫:8^ JB[(~WYҴ9o@;mRhWH;O؀ ˪4$@~FsCKy뚾-Gؤ3>tّ_HGϴ؜x#SՃH}+=Pdڕ6wt*[5۩օiS]g*kR(':զTkUT&hHm-Ys6\YZkpYnny<\97 WK+F([Z +?6Y6b 5_qQ(v0'1ͭ*Pb 'Po?qcVSn؃io6 tWKQqqSƃESbѳ<~8dECHed%U]yVuiT=BO}Dq[5m.nז@5:5C 欝q];ޡ0ᄊU`87=br,h;y{uEznwUn]R v]$*6 ׳[׸4t~ـS&7~<߆o)# Iy0X.6:Sb/v_f_N.hKW2M& ;iTw9nB% W6TvX`mWzEzyl :{Y +/^XPXqBs6UzE  >38uSrIa|]ite(Hƚdsq3=tG&xÈ]~# K>!]-ܭƉu 1PI4Ӻ-ކҼ ?+;6R6z6jc0Ҷ)q"ژMՒEZUK5}ZIOPN`a[cDdX7uwRA2n։)xbTa^nRznPX8* F1:H` wݢn+%ܣ fq3Ls*ɦ&dC2&$w7|Q52`Qj"biz_3 a_nSv? ,jAq% ?.,{3˞P7eL1Jk|﯐z8x;8q 5ܸ֌:y/ŏnr18hʩ0$veZzzp(yZ,xդ%`Pm0]{F_q:AzQ%rA7Ad[TrM\^e nl'zՂViMlv`vI5y*pcaA*G~Ҩ1]T8JhH{4y CY֝~[ⶑTPjCťxީ1qd~no;dkUA!hmF߆9gF&E(dT4;2%%=j2ӣoD 2ojC8 ]3#uIE38^˾ה6n>J$T N5+E|FS# jb -Bo *`|%}q;mE.] ;/(m%T=!a'{&JtȗXy 2c2Mͨ!!_f}gFfq1DFWݶZ/3 )/Zgrd;@իlx{4ޮqRlLZZlKo$14E*4LS r#7O]ix`KՒIqM=/x.zީ#49 .t:^3N2d] |wp:>ϝvNsҔ{UDYGIp]3zDw:W">,O|)JSsP93nNK6i:ʌlmc(0'k#P*kMha_}]WPT*DfX8VA8 W6HȜB_b3$QP[~Z RNIf9q\0lGWV+y-/98b98/{>i0ygb|$Ze V0ӳ4s" ]Wp<]PV`*"Z _m[nFmYe7e+&KKѲu` KKq`xotTR֤W n`%ǜsU,uݮ_3bͪ;}d!1+fNOyY.U}Y+r9J>:u 6p`68XAf"%rֶ`RbK2S~SK:3ge6}JS\1v6]`m(r2uۭVSOR&Ȼ> ,rc/vl:jf04ID$gsFBRӧMjKFkhfrvryԊU- zb;mJޮ֭kp6ɥT!<)^"6a;1 JKS?ùz9vVݮC>7 N{OEOYr]ZƩ״=oM8D I^lmr9i)?$lIP֭UZYJuMv,K pS1V >KjkF)+Uط)z`? t頒,7`wGeTJd1XY9. Un5 Ue.TMflQYqסW603#[N'‰Hĕ}Sj>&́4Wr*D-EY0XyedE]5&VgڨcAeCCӺ\ ݲ1cMkf#1O]dcM0:Y5'fFt<@~9N}Ngum$+ox9T#j,Q _Z r$%;r2ؓ/zr/*-QBz!xR$pX-{BHg5 9Jo+XxgU!tZb6o+KdbHhh!L%MLBXw\ Y)Ap*j&X蝹y_z~vGVf/(ML@pwef9K}Z,[/{VU9̃̊y0p. "])LMq/Ϯ ϊ.9+8#kI- hbɘn8p|ͧЂFR[Kv\qSۃ0Kˉ壎JPBRbB8NPo%Չmγ6B"T!cW(ாӕG;7fػ5BB< +Ŏ_Zt+9#>zOM9=>IngҹO4{ߝ~Q3>U{?S!a&Y=ϕc:-ZOpa1jS6:EKի9 kn *VH:={4/&"hWr|,\㍴冱~.Bx?,zNz1;&T͡\i,IWVce?7@)3КW){ h0clx42u He6yyܪ&h'b=fhQ-~z-=mRu)JtKJdFBi+k5iϧvަ" p557-&/݃}@8FqYfDz0 V)V7qt%C(P '/tĺ4E1O;-bP$ވ>q8ЊY1sq:hEh`8E2$؏!h74BHKR@zFL$ń*ItԔ?f%  J!ь? C$EPOr`nS|B, ܕQ$ĖF42E}b&"аH^f-$s%CM/ M/=sesؤR?WSEAפ&o&GKYZ,wPRs;"j_ytLm~'usr/info/diff.info-3.gz100644 2122 1750 26510 5402270212 14106 0ustar steinberertp ,}ksGvg͟RdVIUZ"Ѥ{%QERk;k9Dx躵g?f $K\7]qWYm'Ţ4,f-{96몜3;7[2}kʕiɊu$qkw^c.pl+[45ꍹ1|IZl%r`2UyK[3[mn- LЄ5.i3r0m-d)`ҴyX*[^5CW֚rܤ5e[@׬,ư3VCe #L}$YTٴ9m5VfV3\tYm1\gs 9fVV Ueuek[]CooXqNSXV5£,jk]@6*o3`*O ӭ&ɗ ~/씷G`Z}sɁ9tj/l.0vUn@ߔ*MhztOD)t. gdNVCL"D@FQ"ԫ~JG4=ׅ.Lh Ԋ);y3SRo|^iT؛ "W6UUR=! Aѡu e+Uպuz15c[m-s6֠/$bQmT'l{_f"эHOe"~C?ڎ[6lKhm1#;鐙 \^*s,XzUh͝L&QO߃"ue+ũ\b/Zk[5ZF'GQq p7L5?;}}CP:udB )QAc~$ysnR/w&n l1@%^^0sOV;{x(RaB&H2HծJ ^" Z ZJ~3;_ C{j UWOH/VC@hچ*Nfe,:ɖ?g `BßۗPGpEK&7Մ\S!~nQ8O~l=a &nMplk>>[|w]aVv3L=[VC%*b;H|0EA۹jt)0d&3ĮSW=q^]_%`-Ht"PEk7UOD;7X7/޼|gs͛;ED-6iHk!q|q??Ӭ6G7FOcc1Z!/u/$X9y'V>lгo^!ٖb}H-ŖIS;6RyyS'bN__:3/oOߜ;E, cn~J4eR%G祋1JlJ46k0[rtXvTbv)+@ ̏w1Ե%?M ? l@02ecXG \ "̋4k@NiG-}Evb޽sZvb` }-I?@\o }F8V 1MvcCϫ=s第e*b)"11mU!8rmeZIjcE}k 塭iJK @ٻ-z(dx/;rBxgJ9l5D~gI=eh 8R4&̡OD UwQl<Oyeَkz&]e1pn==7U]͈q~qŒtEp~,4Hn X+4㉠D8CxYByru[q: [֏k9.>E6&%gZQr.wX[$L`Wj1=j@B [DqY!rMI"ǿ9uк`IW]*\Db:*APDq&`f٭dèˈK~!sSs3*50_XR]+ބnVrr)(u鷵!'Uw˶"I롼}1pe(_> =)]tN}Oâ6;>vIYs3)nBAQk@)?ETįjPI(kX;*RWe4 *98)(ox^7&2혓bn~HbivB;u+ڰt-OY HRD odxB PUu5`ʳ"5 tdM:)#6燇ܟ~SIP 6Drj{~J뜮#BV u}9:irLAZAIlsk#q16@AdG5]*_Jt|CFv-雋o.& 7;Y |uL‘SI͙R:]{ۭ޽~Ox}oKR=)TG!N]țUV@u!R$!;tL$5UHq}o]/N{ /m&\n*&A\QZIOdӫ7/OɅZXqFiBg?V\K9hjr&O#RS3|> -=Яsh=mׯ?GLyCkbD5?t *鐐B͠[rX_n<UA:27Tx8$Crɐo^α ,! 9$E4Z5j;F h_*Ԕb"}Ў1klA=OЮ?uAUh^Ryj?;?o^O?P8L=~|9D8$3k`vxuR{Fzy~SlqˤȲPerw]&;l.7zJNќKdOsUIJ#z E,Ȧ8Lbv5eHq0VuHSf(f[nQNbj>r) hxuHq׽Ş#Utpt bNj팅$fd>][B<5s`=:;?9}Wg/-X[RH֙ Ml Ph.VH09e mQ~J k$ԲASGx*Wx&x:H9%Jzurr_)r0Z/]"\;4:CBH&{|乐F`XS ;Q F9n&JQ@%*1RSsgGfE[g&HPGW{{zcːER )aOT "GMH <.x.9LRCrӅx9&Gew2 { KD$VUO7쪼vB@V Aq&d;kXduY#g%Z=I5zG>vꂳP1.g>Xq3ł m*WX勜*N̝ޅ<ө*CٓHC uTi0/䞣MN&_#a cO94ayQ628}dGN  .'9;`8_awN ='5 ;CXqmN9ׯsmQ㗯R)$(~l+h1@7Hҍ=@p4ͿjEZ]3lSLNfht W`W:v'W ** 4b bLPvA2qɔ4`J4XFq_ R= Kx v= P">AewG5T{oR`9;쇤o,۫]cS.-oVH$=)/<]sY8%Tz`ѽ^TbBMXÎ67WhS)FQ7jp(GaRy[75zȑ~Ct]_TX*74tlR{]jWfY2xA,65!YZ wⅠ(z~5əggqkgj_>/iTAzav&[bE5u 3_)I4!R2t%bKidN SBtmވPs=qL/Oͬ c:˹\`FU3RƂ_vS >*wO# rR4i~Lbܛ%kt;aomOTXh =ߵgzugޟK棏Q}ע,㞥{ok5ӁwXkһ:+TO*88늜OZ:\CAѺX\.!X&EO†d41z_NQ9En?Aͽ>6<*jy]q@%X1],T./AX3€WKejߘb)hcqWccXx 4~W WnS*<}|h'n= $DĒGgJM raʱN9:c΁mV_a@JXc*L@ ~_) v4ѕ? b=zV*͐K빠ãg2~"" L:%E)_R\=2˖i0w!Eh{p[@Rv-bKfR^6A䣧` Xc1}H)`}UqJxKRPW]@b.)%1䨑K-[ǒ7h$)D2["HP/Ե,Bsl=x_ =V"g'5L&˿]# &="!by<Ctґ'G:p W%{x|˛C'N V6Б!򝆌aRnc#ȥ 1|y|r3d4u5POi2xk0*rCOLoeN-0$QPr-*dQ.T &ObxQR4i*kyU.1+hLǘ=>=rz`fUjKcu?]TMUTRM]e},Ȟ dH-h-J.ܗB-e_̪A!*e7U;C.x)!-ֈNF#%{}y6C-Z-IbJF#hVF p*r/==E#4~Uhln>3_dҺIE=V4GE%dm#8B\(>IVq7 ݨd^>GB7(D!jI ʞ٨徼D2@nzᏄ*6lz2QZm8@K2p PdJY{%:RĴ"T*ĥuq8FZI4vnƌq }[FB- ErCۜs&P"$vtr:!yOr[0Nj 1;@@x?8. k:jaщEXq{Hcu;rr>WhW(rho} {1k!YY! 'O@;Kh8庰o@5Q,AMin2K[mϡ jq;f27C568lE'Pje`]At"#(s19AovX6Wup>߅ziS.NDRvlwX'ED7%^_'ο$u>Ur Z$.z4 UZpQX%Y "xfnʒY58]՚ ,mQ%:%~98)_|A? (W (c<juMU#(o rsNO뷋/\wlkAaꃍN/,|kt LyE8$m=nem:a+-|Ɗ@ < ^\W;m3JJ' tϗ/2e9&т ]fd.mM''Q[ J.']Td\-AB=v1&{ XY0(&&u6$,>up9.e)f4Ft&{UĿD_$ %8Nd? < [̥ZgmtZFm kL2\N@0*?W?>nO$BS-ءo:qﰕtq~.|{s߻2us3w.8C@=J' ΩMG[w}-hp0+Kes'duQ~kZyK; f${Ý=)R4}d#~c;d`(/{g 7?N0rqRlOxlfbs Ա{uJ?QD7_>=YDzQm3@NBKmC M̆oͫ(|[s}d͢-fK=ncm/s硲] % ޲|2̦^r j'ϲaia>i juWqJ<[6ɱ)wC\Vj xPoxkT0@| >(+qxO$XnwpCG}'TTA݈wqM(~ыKҗ߶+(Ǯq!(=;\glw;aU R;lam!gieejNN罿v ll\G :VԥN:LB߃|z74-ic0lm攣oy׺b c#,;M7gEN"^E*$~l;G|<^aHEi[aE7MsV AnTyCTMݺ+H1䒾0InQل]&6fm`P!XiVJdzHCs_wl:w6SkvL=gDNfRٳa͔ڳKۈ}=A^lCPc~Gv ҊE pZZ1DJ| ptx;^*f']vtmP$aƉCG7uxZacP.K= VZ/ov%<);X~R_EwV- Fȓ {$$:>ԁw7L @2^{* 8gYm[0"suW wPzo(G#|@Wr7viJ#"j[j 9FfM94.~h5켧9z%.UmOBbusr/info/diff.info.gz100644 2122 1750 3024 5402270210 13717 0ustar steinberertp ,VKo8O,om$+>ʭMn& {-#6J~DYvX`$g83߼~[/պ&kSd g1+Ԋ<ɍ|TzN/bA֦.* /xE_,{{Y]*z޿9>)ZEټYuYԆYWTFUjɃJU7z Fb;jvT ; I׬UnFozGh3kYk,"uWATX wʔmAtYYfJѣ[2PPn4k;six+58TLBHs0XF-Ze FY9EYֈpùG2#j>o؟]vDPng]~K;ϵytHV3KkaZ @Ki]I;:}]AHvtrfC*"!3^ Xg)uZjs1Fd:|(L U(3 $qlF$Cǽܐ{SA߻mRnzl =i3A.it[W}̓hUmE" oUm# " > 䫮T ;)KR:_w+TMOlT1T쁛G,3Z{ց+i=L0kSJ I]8.xTIzŬrsg6qje OOLNv=0$ ~T!,٩M8?5x{ǔ@Iv^3+ [b#}|l8 LDA(Oecc d"8|IQGǐo0SKdN4qI;_T#69T=՞۷ϓCZ$9c.}Q:̓_߿XauJq1 顔:Cmk1=rEL8j}\u^,rsbIN-iߙzD=N}[ 1a(Ger t7¡X(l:}~T]ۍqAQGSU7ǜg=8t&KoS~ȅyRͮ fxS/`ee>n?6usr/info/pcl-cvs-1.gz100644 2122 1750 37667 5476713756 13662 0ustar steinberert,pcl-cvs-1}ksؕwhLb -6Yr(;\J@C2<iV͇uMm 8~ݛ床yamZLҧfo*Rū])y49<2y5x]W}0q^n6_+>88ϫ,~?6u|n2S)oZz ~ɛ&JNV'eghO^%mj&ID~3|K˪S^ D4~IQ7ǡįTY.pFe+d-=`-%ES"IK5&ŷbSy[O>\LijXs*49A2-:X'2_-fU2)ƴ-Fmb@OWT爧~ĵ3ok-N(Gx_USpHJ_@u n,ԐR|{3 LVEzx|MͶkȏ&+cφP &kcj>+ = /6I2@Pyy_DW_;/ }Smkx.\igۭ AufN8R09M6(:vb!Ut4-1L&~5i*mn ;frMaD?WE/O^_d?_C zF r~nU]7;83ڇn6n>-kqyK2I8iꪻM6 oHm3_!LLF&^L 8Fd&?1ƭ-v5iMa"Jyq 'y̨hL7]2nKc2}v5ʧLͦdX?O깤Jd/~I'yNPYPt7lvx4@yuȊk22;@G&(O <$&rR䥱[ɫ \17Hk*yC$>sfeQ&ǻ[ƣY><@_J2DNX?5E=EhP~@hu7&)lASU(YrSd5'Zm{k JzD e2=pAUuID jzPۧQ2 ܘ޼~M{_DÿEϛNJS9h?g+k6 -l_Ηۋy _^ϣD~@J~})Dij'ϓͪ3t>~|u{=g;Db5#G$;*1`Nl' @OzFJba?bk]L7-ڒ dM`@=f3;0u6q$612ScE d})NгQ4 r0:pqas=7s"G% #(܀ Sb$q>Ayso.T;}pDԵ1q! m%0@f&y$!)(cUBN=H91e? ZG|&dGG8N_|*S-p36k=O^R&,).LC+o#}齊cP"ߖQi^E .r(u3R xxM`1kXнD!fXYr iJbv #Q7+?5n+SA 1~,D242^ӥ Y9/9mF6}> a)d!bb)3#hxeG<6tMѱZf@񱆨c$Hφ 3jkՙ NN0x 5~Y{XhưK1سiόd(]ًzΰ#yHy9vۄ,9 eרvI^q0δS46L7b5 #|HƧ!W yV RFW5~~(AazZ(;B0nL_e>>"#}Qۄ=Dy(`I3'c^deMcSnHx[p"OhgAt] 4 op!\pH@SmqH(Ld9G'd9~Aay^f[hE+D@n{3`+Q '92dp? 0/b19Op:kK &>Ur"@?P :()5dLJB;oXֵMNt+|B*I[]w:"2XL:Zr{2{ TUUOkԎlޒҌf| lH+Ƀ` $` gSLu9HAZURY%l$tնeFBPݝ4Id^Pf3 ),V6<)JrlQhZ[B‹=Eo0VÛј-Pچ,lT K+ib!҅{8h?1\MϜq"J& (m@r=Hî+?A]D = K%b}V[[ksyF*H* '~rd&#-;KŲMut7 }^cQLټGޤNBi+JeH]^_EB9S0E?چĒs9Ҥk_a(#:mYPb*2&r[X"止4o_ ,sQ# ୂ;3Z 퐕fI:U' % `^g.JѲ:A3 =/DMGHfdWZyNaHs)5FuPxeITbuP{ght5V1l1#Q2_;s Kؓ NchLyg//Ws \$aCk Ya/r8QfsF߻6YHiOτ5DorÌ,k-%9.52OI+M }L)%r*aISiW %U`gaG>fl"5b10hw{ 1gOQL'i{z ` KC,k4Jih8z3,NpUwc {P4xb5:1Z-c)ݼ'uZ7g4&lhAT( Zȵ $w.jM ϲ\c9Ͻ sR┏gD0sGṖdkG 'k'8P`Qk$DYv^ߓoC!p5O!QsDn!KJsS%9f9!,|yzZa%IW(q@!Ox"d6[Caxg6ĺأKqcɵa6kb(nw+$#mIV FjT&gi.L#LQG`<]QuXau*Ⱥo=TKbl!`NSBkHRb1(UU dlӊ ()ȘoBO84jhnWzCJ B@T[L 羝eOUH8ǎ|K1IT{ tfz3YA@a4f ^)tyZѨr<,wFRլPZFṾ@?+9|Hr P9oeZN%`%CD_2P 8̘ք[w\-r,:=S4*jr !k5.)!ynF?1歩Wa/Pځsh\_\y ẚC[Nɳިm{S@UXX0-ND/Cs*A@JrCn 0Zb@ $U% pox҃7vCn_O|cĄ:hww6]z|'܂P99 !5#^G @Fhk%4]²]-0ILF|kh%B僎 9TlWl06,Fm"M{y\Q5*9O5]+6 4MgOd3ՈOv jm\+35\ثw0֘S"@;a!z pQKTg4X䛮hY#u/F wTxmQ+9:CK'P`Z|'K jըL yж;`½ym[)W3qpA(>\L쳥l b2?Q wb#%JAx?i'&H蔁 :@R>QvmEthPlM }&i,eEIYd\ZZiJ0"^pJٸ +Fh[SD%ӛ.$WS5")2b,%ڦI[ER yqLiUVH_. 7mk5M^{s̑F>ýN.nϾNjcI=6ئfBXy ފ*)xdOQM펍4N- ;T6r."J{܍ 4fUl]|Aqnyyya9/c]~9W[+G*{כMy%~g?fo/ f=8C.].nhU}_.>|HŻ_vyY̯_=̮a'񯋛W7g_?/.ߍVr~8,>;\^aL_O XO% fvqBK!u9nvCJpccWLDBftF_nQ..޹E)<~7??Ydo?4oi -/sBryXԹ\RW$~qAR/i}D«rzB. <>K#Bcz~ PUi&R"6Vv<{{y (.߻٧هG+HEsU Fp_nR<ep<@gSG5&nv3i߷s|e9D;op]..` ɅGr+-Kt U1Jx=(%v>eA+_+YF|P(m,ZK -/(/je؆`͟PT[d{Uy-J1pO^Mǡή f uAI(fmk۫ČȶMvoDtjTIָ7پч~ҒIѨ:3$ M#iXOKEȘz>V mE#UQ],mu4XR)lı@#3H} ddM]!NP%Q߂j\ȥ:#c{fV#S3GpJ|uO ʅK2aYLaOj\Z;X NV׺Vj~MWZ}AZ,e߂<pmD Gdz p]uOPtd^a ᚑ)+aR&HU ??6}D@TqP(vUTjXm|?e@ɩ{* Ngipѷa=i=_| QՊsy4/&"` IG]M]7ӑ}mѱ鑶B$8Bz |'jM1IdE{TO\ A)5:#iY :,9IG lL̦L0tJpώxJ8RSaKePN7\*{KE6]#݉-l80 ` ζ5B%}N=k*ەFUjgTVAg@8;GXΆ[X*Ī91Hޟc>:׋5iǯ  5QV}rı 8qL $hxxޱS & LT/Z%ύe0gb2W$kHųVC먇 >t @.d$+o ,;*7*|᧜ TS(_#;upED2UK(Av` Ep+4B 8"1tl#<]oe dLiuʴd;KD"ZyA5[\yq1ҟJl,N~|!B#c+dpb.W";WSx"ǿ1m'9%t͔p04^8@CR1HKuvkԲy뎺%*=N4EΑEuE 51˥0S*P/0Z;&(+?)gD>@ 442#M[*|h4L`( I448lo>+RZadgʌG)ddeQhi1c.2 GEJ=}OuhO%X^kڌ;ӮqUr/f6_#*$Oݔہ'7 0n+0iyy'Ed#8WHm#Ƌ g e:7Ny M*'= Fѳ3x6މ%*^d5i|y"vdO'?N_dA(n2<{OuJp y%g J5uȖ7ILB#jSpIE92݆q N>xhl@ि<Š,J/gc\>bѿ}֗n,Ә`r 66I*=b:-adz ϼOeI7_;?K}=scħ7 "NS>|7 ˉeWVl|4ٶU'ސeAD=7%P( KmA?Q C=zתsk)?ܪ_ ػfJݳU՘Ĵ*ڒ/#*6S]Lqx ,ǂ]q(8*&#Φrx L۶ <#WMQa " -qw`d 9llp&|3\l Ԃлy{eΨ#ޚu-S~=^jܘCh_ń&I@!&iT/u )쮡+,VW"Fm~M=>n/vMۚy7mL@!7Y9*'Ol[B4a"-9ݑ\b?:w/M~qOgjs~.dâaB\؁l/⋼*@: ;t^>)ÎBMnHD{ѥy6{ ?=.\,֚n]=@eQMb88Aǻ@A+LҌ#MK=ݢQ60pIR>6r@rˊo:z/{rr@ߢٗT$6mA,:+)=ǧϰi??nyz92|w5;wq̒ H҄ٵos]EհSͱN?44Ȳa8n/sHMCyaY֋@ XF|CoPS##$or]uT-B-[$4 (2l<=;쨍x<>ר+ #ARy!,y"JqpBC" ;\*g`L%QLjƟ*߰s VJk4/ *z>ħܓߌ-e0Ve= IKƑi Ǖ/y0 cK `i"d‚5{k İu!es0Dxz+^*C:: %g{?.9/H<~"O` nϜU7ݹGF߉wpa'Nԁ^<]JP[ZHSJAsozêQ*Pڌ);@Kً{+ :h#>NQ"-~ń-s bQz~K^5q+}zǔNnډtLeSm?8|h Mz=sE%!ʼn7Ww!\@q N%v$::Vh`R?Nv5i36O$nx#?܇P F]rϕ݉þ>m`U#m HAPb8uIID7ߕ3Yhp(JA[P}>YD:4ڻ/~qIN?0wyW XBqߝI RXGX BdvtRYer䊻i 8M/V-B^]w/X@4Uj3Aֲ,IE hvB$olzX_֚wz_F44Кݦl4I/3fMi7{-N [lT O)tRDCA5H u 2fz&۲b;D ouY|]\s2!j i> QKQ%p}K&dw뫷b4ݭ#1xƗjK+\y 1WԱ2Hv1eK[%.tW`Q{弧07Rgcpjѣ(F0BNJuNb8U'{oH"ī!5#hSp<:^}'[y|36N?/+اUBdl$~`' JJI5BJJ6P< %{[r'pkv "xW>B dRw|'3P^/'r@pCgQxƓ٫$ӵ6g%[g;YC7\ :vR05%HF?aX[S5 "$Ɍ!E=5b:.3=SD#%#7':49(˪Qλib`#lqn-HSwd(U\+y Hboh_d[S a߲cIIMd0!|q\om-N  JvgP yQķKk0P=WFߘ/X;%r;gEA zDyV).ccr֘I҃5S0gqĖ?`& jh&/~.@L21$OYD4Eu革EE~Pk b]JcF,T1 gH[U}cVeygy(GSPI'Kȍ<7Zb m[Ƚ 4I6K. t3]oGS de J|S'o j{%Wp :HK}L E ^sN QC@+))vǣdjTj)6߽Eл'OUU=nuu>Y4IӼ 9|BZ`W~(BF $J7 vGrRŏF c1*~r娖o{d *X(yxUrҜk^ pqt!&!ǔ$ˇ~Sf\a& -<'ո9/!WJeqF]+kj "F JLkINWH_±vhu5-}DmT.:[$IhAÿ=,9 =N&PY *^v:$2w_ۉuͣܛbrW/JNT]/?S/,ڴ8k@ӖaKNu/y. tzЙvːib< qoBNWLt@&`7o/3-Va\H©pzν)u*@gSrO7RO! 0HGGXcnvfEͫ-n_*7˞MY$mm75k rןG%Уr_Jg) vȻ_Q̂T{IA줄SIS>)祗݃ԣ -tKJCף"hz AwsmĐiq(x"Jz1j HI x*Ci:GrlNϘd4y; /m^XnX)0J 'J'I ~5TXU>ZZe~}_Wz-Ϊ2eJGB>W8zrѠC3{&f6v{=sL Ԓ՟Xa lŇ\ I,dü Wn)HR>ȓ40O8 HÐIɉZ.CpќScpHXj恵ک5CAi֝9Ï 綉cjυ{>m,90va}9Au>Ic7ȥ@xqNP 68RmGÕ fS$yݗf,RdiԹÄL kD9+Vއ9TDz9J ~rP7 WUDOȰ2]}^axxLjU+xxF8ߏTWB)k\Yg,|߼E#qq6V)⁅\/[s}P'H L{3@޷c aUUѓDB0d Lg9ݗae?sd}(|H.2^NEfҹƶq^jJ0:1“[h㒀k%C9Ӌ 堭 RjQVEpIhn9\A&N~v"AGS6_4#}d6Pl_Xjut /Tχיc~iF(,0{?.|(wMP~gfK]f{6g36P{(mϏ!O޲8Ƒ$:. R`^Օygu 㭥ȸ*RW<=v||^Ye'|8+8[J,۲I75N.zIʳ>z瑨ez|ٍ8aj"(^D)Vƪ w=9C:T@V#,l ,is^ *Qo եػBUHq<S 5=n;BhLd@B?>%&8]AH.g^6]CNٖ0jqfrGw(swI.DlYFtB'd\Ld=?G(D>Hߞ5q=GJ ~3Rؼ8"F$ CY\{D~v*CuݯВSٲ;plث jZ(ױRp\ [ʵg\r ؓ2pj3C ./x"oI 1nIf1ȩMJ1@x<mЫ9IzV?c:ŁːG9pȻ\-Ěo_՘ڒ̤hf?b̳ դ<_ʫ&*f5yK-NU <930~+J^ ݝ"n`^aUDUؖrܥoC2.#1|"#7MO< cy- t|<>FTRI[nzݥRST-0/Y=`YJT'O.ɧ~tVK-4u^SQ>gg?p‚4'bj?rQw+g aF=-*|s'KkpǃYWsq_' ONmաzѮ41Aq^w1.w&j'Џ\Z\RjX0{W1W/W.=PhR逶t9m㒶T0K;'3=[38X}C GmҾA afFa,(FҊ>@(d=ՎLǕգG4ʰ > b*EE,I*Z`._<2$EڒUҏ8؛Jxݱ&a&=M휫u^v qg>UZ0׷8^M7tnMD㜩grXTn4y.jG d^ :ZfvQX֕c:>0cLȁ2zaFh&[_CBn9`_),vvw}OtL!R) 3~7  1_+OVFֿE"\0My^3%i(~ݕ}WqA8uǖIWqbyT^m#}H~+yOQfPkIZ{1)w_1}wEf4v=3$}< spzZih GEɱi^aTz p Lg}XLzIbؿozR ~H a^usr/info/pcl-cvs-2.gz100644 2122 1750 14221 5476713756 13640 0ustar steinberert,pcl-cvs-2\[wF~؎Ϟ%c{ XYeg7o&fpqig&G"PuԧmR(&[NRQD\sWn:7;UnJ}UΚdR?ӋL)ueх2k$)f0”6DE~̔I$mtr=#yv.i.w&N cDBvUMfqR;kwHͼ>RL’ Y)g?T4{-+ rEi>3Fe=g@JIs>GCv-Z# a Ļ>z8Z ¾gX\#2dјLK<.ҰRnYC(Ă[( Mnpe{*pʛ9͕~T_'لƒZiVH@឴N8s՝YO0Xump~EØ$QzmҤB2.kW_UEivɟ̊>R]WeaJr c~>l2lcެTj>'*@H JvPQZ$d4&`1ITY)'\q 7J]b` oM\f `fy"sum*$sqP^`U:?} ]*6V6J6$=7)!TO v3Xج46YOyB leˌvLMJr4anIMVIxt ,9,P}2j"cEJ a _6P$@~ $\!L%')}{yB(|oؐ ǑNzd Fͅ*l#8U` 9 GMâ 0 MV.P@G8JҮX%b+ye`[pFL?hJ,D?%kILLQk d%+A4bIq|$cQnл0H˙|Ρ?T[EPh6d`E+m+ϙqrBzE8srfA e@5"Nڏs::V3C@}5P ױ38bV-ݐA!{jQ+ԫg-^8$k7|/ډ o>Fbf'Jz(#MhɆô]􀉌F=($BVG4N8@FP=>,ev!a>gX -@ʟI(|F |(B8̲%:N'83Hdsd;۱Ig#B^!~7B}P!` pяbjԙ1ic ,}$!"9A:pq@U|q:P}F rR  9$P YG&ρ Ui,% ʡJFW)sּ6;acyKY\ 9m1ِS9/t_t&rʁdAޞ*q=4OvPad +vbqf7\ʺJmҐ+x iAzoR~G{VT[^1Mơ 누9AtHz7yI2B$3wnϙNbMƫp?*K  Sf><"lZXEyۭ̭;e83 D ʖaVe+ JgVw27$l )ʏs]n @۬1LCֻ#knvsGDø&{pP: ɐr%\/Xw&b Շ'I~d|736w"(ö?dtEKQLq ÑR*H:G1}i+r9DY9\@JqIUY]MvO_Rph $!Hة34}UJir#I$x &O{G*CF0Xl.(fkk ^kasE لz ,P:$E]LL!GF ,-El%swr'Kgm%>aHL,PG.H*-P0'EY?5ؕNS6o ǐ;2,SlUBtsN W) dr]ȒϜm0%r"v6,Ԙ <]դɃ)P&͢r8bF LJHm[)h)*E>tH[ y;ⵡa"3w)_TYBDļpٱM,6d2^J^pYi;)2w6C[KĈC jW2 v i y}& em"aDZU}Jqha|(3#:LRhkLє 7S:&%AƝ;}Oq^s^APArsgWP /!9ܶ^HTd,䤒sfߎ(ZM@rda&=^|fQ`Jq@qЅuq\o*v~M}BUn)t cNKKݥ^3 vhg@v6̖wIoT?B!ۭosFa"IiH2ydlEХs^R43"ա;C( 쳀ۉg[pC) S!iNI:*1mF#rⴎ˝Z\H]ٽ o] A 9JsvW6rLpN¥/kV uMQb)On͖:bA Y!-)B2 XQidOEQ|F͚OL*\[@)@8ޯÕ|H]٪rC*'^ёu' XUlH 6fCA FBJ*[lQw%>xrBԜ\7C?挓X~7䜰HE'zЫM܇=$DBDgjvwf^i[ ~J(dM7{쓜u=U+i1K1#W֣T2I X]W"(ߐ8h݁T %Џx `T;I7&g>o;rPm\;FwD8kf"3(rsW8Q(H !iJsbO4g ٮ+ZppbBdBĄk(jvyb}Ʈl8ݲtHV٪d_X-I雷s ~k% ;F}ؚL/շ]PM+__\?gN[ ֙)Q5QnX?VpO7:'.U?_ uz5kB6$2X-v򉈞l1Q6"DHT % h+(2`9$ǜyk(=;qcRrIK쑽tdaN}$^B^.R桥]!1l^&Ug=6a|DX* 4jVp ۉ' /oItWt#%U} jOYF6E#\lNPj.6M})5@ݹ@?a?yCt(.#g.nd[SQh%ӺX؁Tk QwP]FĄRòDlpey QTamho :&M-_BĚ(E>^ȨVGQ5}kbs6ٽ;(!ͶV˺i<$4*q3ms[eLٕ%2wV*']_ezcr]=ԝFWzҸk;58֎Nja,AO)rVf~Q&;u)E 9fޣpfvE{c^^VԧֆȚ][;d$9y2iO9Wtf_v (шARZ*?RM TͲR^<ֆ!=5v|tj:w× bLtzwZ7wCbR>mJw vT YiP wO__DYyx-W rk]5O ;=jtm6>۽y.ݴ98hn 3tX"> rx@CyZwtwX\bd ^935kn?lO:ɸpG2P`)[[_o#>wrҜbeŚ+KGk~T*x2|M-O_;Un";R2/T2`3qf}y,"z9zy5.`"1 N?cBQCO[b;tm #& {;ݳayb_vSy i WlAc&AH;ݹ-mnlMX;)NIYszʏd㎸ M*>dAD\';Om^ ބ_$q_ Nm_;Zũ7ZEAW~n{NޒѝPx*ȗ:c=[vľyNMC37hh9(wK쳋 ?Te_CvL 'T T"u#9ъom2Kiu;<TdKpkgNDAV%%S#wH!7/׬OO; qcEr*<)#qP;d7óZDڮ@}z"^|ߓm hMוּvS=;|lm*NݻCSB?ED{ >qlb8T;NƛT2,ʭk$AM7ئ&"*E9^(.z(͛7|ɖݩ(ˮO,r])mj:]Z~qA@D+,}X}(cz`C+.Q0ղmVejѕ*D2٬5ܒlZNT^.VC-Mͩw-=aU5=J-Zr#\p}g@R1m^wj;;$V}^˅"VV _-+6Э+YMA: Efgki$fg\zT͓}<͂~CWt@XaOVT[JؑWj I w@T ĖggZY_^7#~)g]-i7BFk|cgn4F#ZcRZm+ ƃ( _Q&IGG*?_tWc7t; qx:OIE%Ӵ4|CHi;_c%I2Vq,})vP8yz\l m  _=6 RE{L0Fߍ{ d;gOp b+MpVcE.G-zuhs8&|!K Qy0O.gQrO; 0^qo8q;'탖'SYwk.R R0&}+[ J*T{N.ypX/"○l8(Z32mPbݵ'Ѕ٪k*Uθ#c:hRe/5:Hw8_igIk5xN֣35O@ۻ3~usr/lib/ 40755 2122 1750 0 5502067315 11245 5ustar steinberertusr/lib/emacs/ 40755 2122 1750 0 5502067315 12335 5ustar steinberertusr/lib/emacs/site-lisp/ 40755 2122 1750 0 5502067315 14246 5ustar steinberertusr/lib/emacs/site-lisp/pcl-cvs-lucid.el.gz100644 2122 1750 3447 5402505534 17760 0ustar steinberert\ ,pcl-cvs-lucid.elWo6v6 RkKnhy^dEl-QHn#%YȻ}gggpjÁ2%-v|)ZJ! $\։H=,1sM=TI'KDsċOݻ7߽}szO|=$<?W@cU=k-Obb 9TfWLsPLJa"b˅LY1T^ekL? CXib՗:~| W-Ƭk.jߝlt9mȿԠ!%ukHs^1S ඈlδZJW`0F+S3 0~e2` &02*ܗ-8#_%OFl1nk=e} :/}ֻ̕^>*a2/b0Jo ]scoH;YH*\n/HС Z<]mڏXxL_F?9;R-\ [ЉFA,/ꈈ92fl4د_KWmJ7&h="z|]9VQTjB.ox܁ncwlpbүS(ENGO"7kZA+N׶NG/md Z!~Ћ|>/4ě^ )%{瑣9-D;#Y_l8лkycI1*ԋ=(BPa a;_6\17,އMSG]zyhs \a&t BY_f^ } n>,gVeyI)!@؏2G3*,YLhܣ~D ]/>I3[vj*Qw(q,]XWR]!%4pq3ˉ}!B90.ܧY[4e>X]3?3*4tި{sԑ?+)e=;"Y`FQW8¼5 X`Ȓ![ţck,vټ~YP㋽+xxZ^[7cF_8/&Iɽ,BILhLXv{q:E1bS 1<;5[HtF$q6{Z $u=A$52˱Q1W4aob8y:}DmMr<:a:]-E5Ɵ$`1'l)7 փДs5S v=302./%ǹrPyOP|]1ɤR?%Gf`xd5Kp64,UB4Wy.11g)Q6!aڨhʄ|C"F#]srM39;D(Q4łn)#fͣ oT͑nxD> ܈b_Yc68cc؛ǐ>@;aӄq);+{,7(uSEQFOx'CZEh&1;Vqld?M#q!M7ɰrlCn # ǺϥY.&=E829yî 5 ̗6.d#aqy!v)Ia@"E&|=Wqkщ3{n7,>3>n֞T+Q('zUT9hN~Nv`ӁOu 9lml{2Xr.[+ |Gj1NFw/./^WzW;"/OSYw,ybU% _vw=d uMwSv}6]&QAK2^hau3f/^D: usr/lib/emacs/site-lisp/pcl-cvs-startup.el.gz100644 2122 1750 452 5402505535 20334 0ustar steinberert] ,pcl-cvs-startup.elJ@)u!lQDP|13ӹNӾԂ0b#pC,<+PKU9_zX%j%!dHH`7n`!g} m u^YFGSf/J&.0"c3J}$BslcMV8}O[lfIBfƽ3|i+inXB"̑{|u5usr/lib/emacs/site-lisp/pcl-cvs.el.gz100644 2122 1750 46051 5476712736 16717 0ustar steinberertޕ,pcl-cvs.el\sG,^v $HHf#J8F0!9!!VU"fO}ttk[ j9 }5a^^w/߾Vo|^Mߖq$yN8<*czD:3IW+<~* nji VK,wL~Ҍf%MdJGK`b@xGDS67 H.RZ$:TMLy05XsDSN Bƀ >Q&I]qX0tF'*^60^ N*<^9· ՍQyjfya> &G~VzWWFgoͽXb e+ .W1|0L>LXw..G>4al1f&AS`j D=5=j zZ Eqt˴btNLEqQIՁ6oȗ2A4vO?S:MUb=֋$o^y}G]{M?b6ܘ0~`J(t2fƄ 4 4W؝ (8sk2"N1< Jn[L_IFSI|o&bp,NawƑ}QsIw,tu8_U?>N&+Z zC lt]lxCuLA`;:wݟZzo& EК T_syF_;؃ɭ|(4n'Ce ~hx[VS58d?S>j0sNDam;MĻǪݺw!&7oV2=%~̹Vf>\hOQÒ:!M8#1㥙T?'.ymN) +A3<.8|"aQ6| NK,vi)tNl&Ef`  &{,C wmsq 3yJ o+0ԝNr6KV70ӻkzB+xЊt((kebf7}T@#d1#K 8 ȈөL,N[q3Ɇ[N.P#כ"N(I53ʢtzȊ̃acAg7JeE<ڬ ݢ| Hi%v\R2|(h;hbid$p]qcӹIZAw Q/ zFV\S`N:d ʋ!D4ߤ13lFXM 㷒l$̰P#檁*Γ8JtܚZДpzR>TOA/ ;_HH Xt`A+J%"ZgIb]Ӱl|8Kׂ+!rNۅF{nƐHak?7ljAgyB}[b(СR=O0aPƜ,EK1Β (XfHuN\ yp`ı {nxv3O|H ;npDWv)6).]-qFDXB?,϶dKQjV iVу i!҃ S:19Oٷxҩ-zɲt3;w'مiWp=,fzG zk' Yȸ<\E[ajQQoe:+(7TEZfvvys3]40둊H8`υ.<7%h=CseX٤v_*%K|iN $ګMTϲ(2v:oח'Ilϓ@ \1_逧xH@%v60Y *hVقuտu}=V<;ҢGQ 9-pWЭuf"* `IH]%9~G9s-!4:ٜmjd/xac0L3*7e_'y.;a\ gӵAĶOAET8_JacD@؆ԃ'C*>#^Qm <3~b#gI$lRy2NR!A()~'V=%'LBI< B#푠H#9\UJ`ڇkohhlqۏmUs:;P"b%9mޱۀXmE -zr̿dҫMzuceeG*Î+:ڭcpҩULZ)}r,I:%EQ3Ivc2NƐNm k1kb^ mz ;*|;j;W'ƕVsu/}Q[Gh2y8[΁{~~߱^yo~yS=}iCU"cBvnCD1w.ins^Duhlu$xwf6:4`7k1uæg|׷Ic\N2uCw []Gk}w"~znlcw^o(kӨ"PR3W&~Wx"du _NTϐU zoCȑ3yij&b$N*h}آɅȧOCYӔ"60ϡ ȹ|jIBb|݂ 7nsܲtAԭ)NI;n.7;-FoVcov[~Crv\hIS#j tk)|&ㆩ+0N5*B6NJ4.t(ݚ6Cȕ^TnErױjghzt|6o$>Y|ضrfԏB<JgHߎ3UcO@kU9=4vڭ\)`VHGMZ,25iZl@urTtsޔܓC,7=Am&?{ڕŤXެy|M廷pLْ ߕ>byL*O |K.1ЙMyK=(+ s$XMĵEuQ>.|E7ZK([h&eKD˫783,38'~ dU] bhYzoQ1NnMBE{ z 5֛G/tTU] } P:0L)'MQ[ sC|4@^$]gmATx36f>uUTuk銾|$?v2B;4x`}h8 9M&OuȝOʞ0ajNT+.GrҀ.yJ{r83/>lN,A)7m=$/8^!+0S}o<:iж Ai/8T$=5ܷ(94s;(U͆k@cMtϞ. 6[H0_6it$qĎ. 6eeax܌)BӊF̷% W"M`am&$-!ٓk.H VjG Jav(l޵b,`jaf%':> E 㳻%13סn]NjqP_wchk@wU i[;dYS8%{B<DF蚻kVtf :𧻓qeᤛJ-jX(=v\{ηkndYDYt43%a8hWȠQ=nBtMAFrRNej>B2pvtX Qu=TG1Ng H{_g5]NR`i:rt]g4W{ӦuTN4?[RRK̉.4eB[jq>m7xnFE_TԡXDv@{s-6vʹdTe:$%}?h-c"J6S&bټ>ѓl=j[凉.G.sՀ0+8_yܶ7)D&"2ɭ٪U.ŏ\Ə읻z&SC5[ݷϫt~fNgD>}[4 Il (d2LwߕhgSb LY$!<#qQ?z;i"dX4|Qe 9~(?ݱݐ iE9dQ`_vhoE% X՝Kxi^#1`0](֌2&A#RP8;|"iptSKp%ʢ(oM\/U@7Ot3&IhH@PKV}X.bs9hP$:tNnumnj/@MM+ _T-?9^NmըO[Mg [;f\`C>b4|^]e5Ounc|ϡAةTw m ʲDcYWϗFd22-˱-RHhIp8 X Dun+u|"f;TW1jtY"Vj -| PmTRtSIcsDϞܔ+ub>}d \]fl!O 5<6q6vѺc > ;swBzL*NGC:~$]uiUK-!U3ljF1 x3Qsku4l2z`ȆɤO!vqڀt@Xd̎*Oyaվpu3fmN0&^=kBT=)6)[B]UM 61}AtW6&U9ɑZ),~c DcY^:QC0E 9m~!E`za2$O# S'8,NB_4w;6}ӫڭ]yKͤL18g|3PDic#FAQJ_+< is;Хw',ktXKL9Sk&V7wǙ'">.bSiS!TȘ<v<$o=4lCTگLBu$UHU낗߈|#VL&,gjRXvt^+Df3J6~-A 9@X1udCucSBYa`, mk|4uT.IzHw߼tS$. ŋbEM{jK ٮ՚dv[N;&_%l|Vo } ̸fndVD.P4f>+Qް2N]E0d@le73`G1|uQ O%XWù6:1l']QRt\"NC]t~ѷ=7pkT\֫G+yMcSVρ,TeQ\wn3b875JLS"D'ͅ ^_!yP&fɇ) 3֔k$>ל$UYvW=7ݦ-mf'Y:J]"~?̾TՆzf$u KUeK )ݵz2u6bYdy?@ tqstE”a𢍷sޗ1C@ЈY怟]/NT=ܾӡ6bKwP{Z[ÿ@@2*ށHߢL)䄝u;D 0P4A 小E$ Jmh ֈ2H1#,TҔאTMx iU }W1m!*Cx*IѢY:i UF0& [n-*Y&hd-_HkBaMXe a>@=&ڽL4vQԑ4,L*=iG|)glyκVYCVKاI5oaI˛M{7WfZs65|/ޫRVb$oG,Ql/\jKIFmMZeNMJP1l(I z.ԫb}m֦}ssl~c]E&WAQ|&JH?oWUou[ڙŲUX/)}7)|Е`k\O1)qHj^p,ZT2d'Y2+ ذ8:9-`[bt[=֡ 8SA:_.sbT P`@U ::jRπ^{iHIC5 %f|g@`x̓𙣚`Ι+ \Xt7$ڲR^5#>!x"Ttmer)P$bDPr[Ow իU @hX5_1均 Nΐ<557P=#_U! ޕȥiIP%_9WpB+ȅwb\)Im*4znqV)foyC%T>,J8~16Y@: u7eWuoKP7VORUf%37,1iV{;:k;տЈimJHNQRw ~D3ۢ%Ĭ3F;qLLd{̲<& x/ ?9\mNn֓l1607ZB)fVٯP3t1d4XF_{Mͧ9`|b3g#QQ&հ̓lp`!QD-m(#LT\eaI>Lw|@\ EP.#Li-oo1[&fvbrw6!=ϨkEܳ#F{UGqctKk:HEr@Nq{$Ic|J`l!C{1#]TʱS/ihpHXiw)򇧽{þMңI¿`b4:aF~5?n2]"fҟU^%DEEbЮ̂ *S6sH;ح_ٌS\*ts(.MJ#?IItiq6&vޠrŬAg5(%c BNi֦ [5X\ $]B_b-*!V Uv-9Œz 'ﲾV|3D Q/ nypp0T /5 7֠]'كs,|'8b km v =vB<^-C,rhLpD1ήd29{h^si}cDbu+$7V7!T7"UX') }gW#ϼ7%y:5+l{d*!"q>8Sg';bc:~%%B nGw2 baԅ E/ġrp 9kPByUGW @9ۿ ,lQ ݁X>yӓg?F7" ")o?3m {8}jX*}׼[k(DI6 jHnv &;?pN8e'O@q>ŜRɯrQ{|VKDy~LC"?ܞhc_>ʨzN]uG$X]Vz *a{ \Zѝԯ+_#eݒ;&.8/nC>2$ArI+GFJr`D'pJ=}WX\_N$rsAٱГ ҂OMav5.sVAذjG&; \lr7\{z}3&_ט5L\t>=Pׯkνy{RTR4*n5n8L Uۑp}jmN`#Շ '.G?pInHzfE_ 샢b 2t1|&60Y%VZBg8w dPݚCPsnf8}j4 ݹFE`Q.1XԅH&;KC Wzn4W'ӭbkvϔ]b%vZU_j@07mw eWjs\S*nV9Jī6_/e1\6(tpEIKCKT:z/Z<\{Ś\ ]a*4ln?QcpXÍ˞;o ,R;j1`x7H)^3* NK\`7GqI^78'}KGM mC;4FOG>5s hoA-,'qGo#b'Ǽ71 ҭ6%#2Sj śz~ST;qͳyG4'BOJe>8! *e 9MM"yz[vrZbI7"/&\"[VѴ%R+ ?†R_!쓣.p ^cS^ẞ||gpYzz+x+^<7[(m{S{KV^ɑkkmr,O4У^ ` }Vå.u)F.4c~ )u.p X2ކ ۇtQ.̹&<ßW@@H65x>\ѥ[wH34 *^ ⦑N| ,?х b*`}ޒϞ=?==譍)[ My'ϡUSK!hs[^7[SE6 iKAgZA!z@+6գ4!&Ȳ^ۨ_7z̨lE sꦊ8+P11DO MńP Qa@V}4,AgpPQqflxz (GfGk00֙4dĦLn$%#l8q[.ݠ:ThAʣygI \}gg*9C\H0. bxvs46)2.;t U:ś $+5ἛE׍A!@zq4UEѼEF:bb!߸f38g[{;'ALl8`@͗tmWpy"ЈW 8͒R VRƍ8zJe3O>E>WJw@ p# 3f-x=*8p<1S[t`g$;ڥ {`eZ&PSH8I/!$d+Sm` #dJSZwRgvgJ(vԟFmbM 仗3sԑ=Dk_w7XzͲwz8}f ʾB"ެZbLMUc76LU\]f)SZ35dpFFk'q;fALH JMWGem@ JRƃ'b3A$ŵM UZ{2$88??H-Ԏ%ZATAɇHZXD6$e"*]E |dWL- yݥ}fhޭ(zS 3=þ#8 .z@P_dl tNMX s 9é|MgTNI'wBPW5;.n437q Ĉ#_/রT@ a*i׵o@`LPx96H~ԓ,!iӯ=侙k_T!(ꙅ#F)PbE[ti YNrql6F2$iI\INI,zܗo=Oe8Dd#[BQIlpuIx=Ms=J˼*H9o=~v*@Ww A~d=HyHt+yf /%2%1R9|iF77%]輟)yn֏-okuNtꞃ:6p~u&5tbr-C W }Av*Th =01::m[<:"l`}19,Ufeg'\10%P tPJ82l)Al;v^e^0=Ӫ6%Th/ka8<CoY9~"]5 3"{ Z aNyL匑 HQiMPh*:; l@)q7/>*f,TM6>2}Xc[]J8 ; )ySp (v#]Y N*Km5YsH7q[-BXi~H/DEiG.T̳7tTu=K;Pn P [IaY-h04}:9jDhY-Qx%;#M{c(Q vqn"0?mM˞#;|[\xE}NHfa̪"Ob$.]Y m6|߂^~ #8˳/|𵭘O@IvP<,ӟ0mp/?/I4_Dzy`h[3UY0pjSŎ% tHgo,Y1ؗijț0hnqoVswH3d:_Ep= Ee]{I*Hc -B%EҖ'=|򟦾dp%ER!\_Ta`Ubl?>xXY:Deh #$Y,~t x=u2lsbޱ+ Soe\S (i%ZwSҀ:uݖ$3ה +`oh*EǯF{x_⾡Is9hүm_ۘ/ x_fUZ`xueMAdܚ`"!/C(Eody+x2ԧ*`@nEn~* ­i-fUkNThj|g4eim#쳖Nb>Y9t1zOŢ:L&6Ԅ2d_Bd\igqCj~J*@B Xv%cЧS;' ȀjuqmIɦ0Qoqd3_F"zs嵑68Xy8 `/Li(HM]11r陉X&XUCk$hS1ocu0!`f!/ZFfA2 K׷#lcףcVby~_9G؎'Pg;B$IKz3;O4bRʂF_wov77s(P ^J#AD*GVaxb&E-woB⁖-3I!t9/gUϔ!czV{`3S<_;*!uF>E 2A.R.U`&P.JJ0ϠY#dsg/vM?&Dmӏ Qt4M){ d:?N75;9:CHfe775i_xd|p1tn*֏'ՉUu7BF{ DSԮW9*niKm: (@wJ< 4 C23nL[.ɏG:G :A>lmFɊ1,.vϳ뷓9~Q~{DQ7\ =h/)41%)I.9l}ARp/IHk˺b_&TO'@,k̏ď楿}9>%96Q#N2:HEp_*B#\T(:81~:7 y[LᐂԱQoug`"$#?<7 ذYK5dj8G>QD{,J{ѧ=hV?–a25>ZXLkP`-P: ' Lj w3xE1s!@2!eP1zvRɆ?qźS*-($7E2@A{'7&Ouf6^ 賶d?bً\б<4y^-%\ dlE]ii֟( 5pNMg[ WU*Q|CRE%~́K- T!`͓ssdN'x~Ŗde/flx)0g=iıf^X~3NA`Z&mu4|fj|Q9*H6d΄Hy.L@=S<&?A: spa.qcy+biܒۧyB,F.>ZrAkeg3 |{C;aB BÂCG[u:>cM&j#1G?ڇ3.%z}о_kg&GCG{M/!%8 '_'TP>?vІ] 3쎽z}[EcR(5YQȺioTOif֯[zM$!x?O$L1:1Ǎހhz).Gx!-,/@ V5vze .htdroMET@_~Ք5/"0RkE(GjmReY1$Z"J;Ϣ *5B8uE^\ḇ D9DUzb @9x9l&62MP' Tk)vݭ*U^ntm:+(3x&3wqh0D\򻣽{kcX 0Ցʲ(ߌYqf]Nj%"%Y 3P-|tMQqF2`V+o\d`;EwٟkM&"Sp⦺`p@שwyBB ':Rz 8BьZEQnu"pF_=RHNfխ :5ϱ= ~{z}@RuN>fwZs×X%qb>{q'B1D6*)eۦXm{(g?ȏMxF,NCټ)Kt:#IhJc&5h+Y_G@z3zEǡЂ}b;눪ᦝ}|JR*4+;!J7N0@`O^;Y ' xSqҶ)Qy:Ы@w 9[//Ȍ-W1TܠNDJR?^uO% VkەAq˽+םU :5FwNkᜲ7ڇ&1`JBi&ćeb'\2Pn Y;h>h"| ޏ`)7Nu򆲫kr[DBMf b$ 6u5E#}Nz "«*?M/i;hwˬ+(zwS4A2?YPzۊ3|xDP}b%Hhz8r< 7-e[ߊraZr{(#l6c!,]7xE^RDaoP)\`rH6 8L3ğc1P>{($D DS.(Ej^ܵYq;7t^ $F:$MhƵgILXODY^eA%%*11n)~HKݘ?UpZ˗6[Lp>ѦHǿMJi%7Iss_Y=௘G'm7ểL{bV -D5&0 2=nc|6s2fP^]Z;fcrDŽZЁ5M 9[Bn\"?Hl\]/?V)a k]b΂{w6>T)8G'R{7-1ږpa&_w3Fvm]ZԠxi(sD;E\?Gj s0fܦ} 5.ocy(ᡗecGTDnla?U8=]_5^Wf.,F"dXAиu ,z j&lrG\|'TXm@o:* ]AlC4ՐdgǓ'ϟ)C5\&%\6s7Jiĩ# \l2 ;3O_<|rk3_2IFU adtRwqC ;{ +J:bDz`(߿;R!)lP o/aYt67 0%f C~4#ؓ[ً?9O02y1,E\On=;`zmw.Fo|W9s2]WG·k ޞ]ߘ>*f!z>niNlvXa0~flOXѴI& &7rK%mM:^z4;ϫ1,uso<-.KesR8yXc$!NJ[/UdozF8LtmuvMx{~38)iԦiO"+6S=btX{9f/06-^)&v{(P|9*br^mPvTze]ׄi.f@4 k01$k6o4~rzA2s@l"k.omēÎ!͞q;(]TvA+Z 3QqəVk:4&2[ sQdz xd#\.H2"aw@i=2:=19t,(3E$rF3MtsYDZZv#>*( כv8B&^OOma*/TqTسR˦q8b)zՌUA6~{[|sn].SIʲcx B%`:N ZiqC;΁h Zw`VI3z{lsҀFfB#C b^ 2)XE[h c{mXW@QZ\}9@\kvx:܁1a3 %\ ) ACv#Q@R[ ts @RKljDAWI& 8DlFz~fv: p<\Uӱy@!z]!q%=Fs%!?Ҋy#\z^kJ|^x§M | 36 %4 b]J m4EEb4! 1,citP+ z%&ʁ(x  Cf Xҡqiaz^4CH˒6,T2m%]b *h8 BvH!R㜬hJ 7a"*Ev ?M0k taD@u]WTzpr,d$p22vr"wfsl󇃂iwf )z0Ti4\DD`(gK "TSHj$N\륲&FvK%*ކ]"HƔVV&  j&cm؊9쫈yObDo=,(Cv ~P&% EYh72iwMUM̭N-3f44] eF = riI-ƒ$UŰBG2S *,8WU"\!.(Xݷa2`.WfuV ̒AA"vLΔsLv~ аWָ/e{Ӈ-xa(i0-n(p=Ȱv]mweZ"p 1`,6+> a 0(/0c HuLT$8m:.Yp> bظRɌ"6$*G (ioِ K12sR"@Wkyf2}" J;#qI J=\CJ;ԛ#3+±6rKXxwc?v}C_X[X65G{"0myVce.2Ĩ/WE}vEp:pZmDz^s4&C!S@*ׅ6U:jpRmva~an`P2Fb6G TIY dwɿ<G-^SUQrV8)9 "=Q4#B0FVhsW^`=j<0SmlBp \Fj!0BVİ@JQT$),9Nؐ?hz!00(\" 3TᔪD>ET Ǯ.\,XVA,ΎMxmN^!D+db +:C!#6lĊ'ء4V%!1ʘBLLJ46)ہ:pa>qꥦ]aky'[A0a >"6')sQ ȶ6``Ay_U DQvp DЉ sžRd֌F a,C fȚ%2hMqϑ ET7NʼnDv0z=bStf%@ FQ:$N/G* %:#s؃mH/&=ك˴ا%o".!/e9^JWWfʏ2.b,)Yqzt7ȢYh)LZC,^YKX5T&i 3ɛgcdk"\ZC@¢=#/8=xnق!?@u=$)A ,!ix>FCC c8I 1"@yH:=,>y8psR2~ K`o Y,Gg ,)P$%Ds^.L`#} 1Yb$Ge>3YJ#1PHƳY2p*RW1NzHPz eɎ= h\l$G{ mgiK|$d$A@}){q)Xb†9'EoR#}%D*$I_ʃƻ_1tB'GJ[GO-7=63c%/Kzdm4ɜS (y >whm2ѧ!Kf2dYk@Y̎iaQ2 ex-Ɩ]!*eP U-㙲5k/E6.LؐSEz# {c%F-GMhh IU}QjV)mx,c'J;G}+QS7HkY)=fziwV톝kSd{ށE>2dx"-!!:D$xVFVVff99SE]Xj@|*{ZիW*S ~%gd< jKB8+q [6WeaA_jxh/B, &H \;#>5@CLbhڡDZCR%%BB[H:΢>D({pr#?^(~' Rҏ>|¯^p'0?Z ?ʏ }~֯4?^?_? E?rr??y۹ĝ؉nc;3_Oc?/|46/ +cgYox?N_,>ޥU\L.?7;96w%{%s{{~${;F?no)7rio9j录'dd}cxE.!N 67WcMR#G*=+1P6Y#l-&ؤajـ ,4ttD btFI6|'lgk ?p uC=Dljobas[D b3mvJs'kMs4F78݁(٢1]J5.̺HmwYd_pnwӱbK"iu }B.$۱c;!XQDLr݁E=csotUp/8M3bæF)r$KeoRiؠ " gY&)2 $-Ӕ89PAHjo(>1lmz>6Fk+ kgk(Na0- 1 \PXKW4L@F0 &aSV:Z <=BQ"I3m܈AA;!LoSK[_Z}%BP]T1 5Hu .P$p:t i`7zT+Ըz V,G040 #'B{GƎb00]'. |+ɚ3ն;ɖ3n9p'볭X= BYx+ $G_\BTa_'5'QEg{ђVZh4ތ:dZN":!6G6ʯ͐>i2&(y-9۰$2͆|$>dܮ$Fu}q$)3UΒX%7a ?{[͸JWќ X"@uQs%hvW۔kINMâ 4De!ÕX%&'IH~:$O;-)P%EjX {qnk ;8CE9s8-T[-Ѱ6 $]O-sT?:ulgд2sD:$pjZwhN綳GS2 ]IE|x0AurF%r`aZPUJ4_cEߌN^=W{ɒ"͡lg` ;e'-7=URaMbM4L7$axL"ɺ軄̾pXnaozn߿x͹GZG7G-r/~ba?/!ş/ g''GGݲrMo<6c\z"2ǾeLQ(BuA@tqΐ;N]Շ9e6OKIm)UxGۑ|9.XP 6q 8-g\ =XB۔mĈQ;Rp+3;X?)H'qcN|e[F|aaQ5Hǻ~RS}7@>+ nH#o"x%; %[<dsM)][D!-+J%URz+JE8O[yI9yS,)AXJ%1=7["sttOw_Ϝ9y욹:aڰ)"uqx0Ԫ|x"F<3 .HO[KDGFˡ;<ۑEwіx\6f,ldk@xo@92 1PI]pDsҖV> fyƏD4Wpwzɂ3:9:sɿ6y2WS1QjڸY%}G}UʖƱOqp SS0٦9" qctQpQү> ;m|,OOƃ:Ȩ bn> rޕ1"0u^ \Mu0S19&RaO<-scHdABau{ %~I6IN`$#dI^D+{"UM_2',4NGGCܡEƙл5Œ3pzXWZ:}}KG/neJgS97j \H6rC<=I+[ h( #nx~Lq_:! Tga_5[WqvO(ӀFTfbpx>cՅVuZ iF{vQ~dQ䱧fMc̱mL[I 苢bϻ{ܱwt%fϱ10JQ:F/6#52sW׶GvJupLk`Ǯmn)(ok_")DhX*)Z'^wuf⠰x@j*+b _9hZP0|de䧨)q@88xHcBѺ=L Po"6irhhp$Ш;SoijcOų;˟‚k3 "]v܏rR7Zu" Yb\k{LJQ0Irz &% Pb1Hc Oa{{J\<3(>u&dǜp <=RuJ' /k8WktpgCuhI8 !X]AC֊HvOpy%N1 {ess?rtҝIg[J{1^J{5^KO?9K6eWcΟ撡a. _lk &neGv5v}]sލks~! uO>n|n.F$/Ks^ttJ_c22Y#V;Ope4Z8݃B.9L4*Bzd#&}y>I M7?GIٓN&P{L l1}0UP#ؖ4ԃW؈DOnPpP3U)SNlDL޴Pgldv ] ;D=# ,$&5T i+ ԝn,P~^YQiA:,(udBX9)"%PJlo9xpqgw: $zB.(H?SH+S;$lBZu'z`4O':,#^ {WvY@HE .B ~ڢX~21hcSĹ`(zU avP >_Ab#d w٥١B N#=nsL Ll{޷^sײu7lh_ ̕I>T ]VeHzKlZZ@< 9Նc 7N <"LDAJN^'|ǩ "]g#[nڵK0qJ;vGR%bJgiŒ{-khg͚fMvќo֮tA۷5-d67y^`{٘䚵jZ Htlkw)FWMV`I.@@W$яqy^E})\'C2&+(jzs2a," ;iݥus<<"DdUOc EM>Otm@PSm* Ek>]O]n@# <fAK & ,(((QJEjW>*3PZQt#An%za  (Ge%Ytq+X zXjCGE\GsɴϊdY~VԏfC1¬&gtN'NǜNc~31g8+oaF#OMʮL ]% *eI!0tRA^exg"쟾(CLÃӪ^NJU9>=E_~q.]/ [g,g1~gm2&zʘ)-qJتRXΟ~qr8ώ?y,nn/_tc+;5͎E|ekYxrӀdWQ&+8u˙Q~rAe0?QȌLdLr/8Wu:d9ؐir Wˌd8gs1gQ:o֛ly&mF" thFޕs(]r^9aRs(RGFUk1h^s7;7bλF-1λ!+nӍby$ĜߟWТb5^>ቒm&ez X Gݜ~E˞|ᐓtH]VE$y|mG5|r =BF%EvÍN ) tZML|K0$TM>)KE)=oi;oVZF㔶ˏ3W94dz]FQs{n]&QJq."ba3Qjɨ28@2J*cXGKs?g ԋAtDOҩr.5[aBkO< [pۊg8>)G*9ŗxWx<~&^F!]vZ'g%y  p?ٛmLГqjZ9_ͪ1{oCΈPhTW0/} z-fC_8 ۙcoa' k;e`"lޯS+W`g슝>ͷCel4W֑~؆ B6=`H$f"~ҮY=Xٻن@o7#Է@Hz 6쾸=i3'ƸmMLMMCQ}Q~JVhzP 2vhzr[@jnvfG*&ig|ʡko{xǮI?#7gg҇u;#|MHĆ-]yQWeU~N"SN(?i7bSo`t-Dd7sa9C^}}*́X^O6Xjxf.^/p, Lly* nt 0ac#at}WJstK_]k& tK9Ti) "w~h}Se 9*,#E6k2US_9N'GRR4Xxv"6|NO O5il4fΞc tu!n75*# ^R;~)AT11m n\  eW80$NAUЫf ܼ`HI[ALڹUǢoQ=*1TTUwbViԢh]QYg=(>[TT&C<# 1Z_\1hMĜThVc,FSI7HO W6 'p0j)ʍ4RT /VL:[ ^];#8U<}>Y}!،2Ć.{۽MW2eʸ7 „#߅S-`bs"u@+w>$ p;ȩV[GZƉq8Nqt0YE×J-RpՊTil 7ZS e8.._ ?3d"_|,rˇo3Ό[CfȲNaƳ] saMY9nâ[/\Z\@wCebH1z^c0f5(`9 =G`"@-Hbj7s'[B59)nFi>BcMoa=1T*} D&v.Bp</Y2 |qmLnDf)OګJcV4]m5ޣ.!kѪYgv/^g4RR#ܙnөtapע[q:u,lo /@x{05˽n.4KCK撗_1Ѐ']MΟ^5hY[8;7͸m5]txwakz}gksۮ`&/V܉>m8*f\q涵k~zTSo=#她 8 1Ww/Cm/|/I'B$ZNsn4*`>/VGd(FRC -2輁:U@*/f=2G++@Iy;>Gh֕12$.h߷apCnv=fs[{U-*竑;(,dFGkawmYeLMπlV`'b;o#|U Y?TR hq!Ý|+s0R$%zGNhN[/6,ꤌZ~Ҥd<\꓁3[bI[&Qox 'bc*nY3^ka.~q_!i#kN^ Gsf ݭC!R(RVw%qWllE$[t7%# E Ė%R4ar!Axgr)r ܒVw+vM.^UuUoCR{zWoT>TPߎj峐~[:_;FE# !bs5 q>L= QJx ^c R dˮR)\ 5 9/aE#׶YcWmrr$_P 0mߛ(Rx/]eq#4IYpLRkqzy#sHMWrEEER+S 8VAXxr ZkYgp poJłBR(FCHG(ƉSJ% ZV F )e <t)7 [f˫fkL75~zM3~οTc@I͈aلFJɐbt Xfؔ'mC%xdQ o]Lg@$p wD)e@X =LLWQk qhm\,nL>@MI3[+vmU3Z ӘQ_S_ٖ)>-@ OlлbHNC+H!e()$AFAD8-r7;CN OCCN!O,X[ )Q<.BĂa%o D. #IWzSfmՎsbgܿ9#g^Jf'ٸAϦ/bẓK#C whi59BE1}# b+j^fA2ifZ[ZkP{g憙krl`Lv-cy AuJ BX3-Rr0Ak7᷂ޛJsRyube3$CL $^oS{n0/es0tHWD,,Zn4'WΟ!?]loItxbX8x z(l9&ɷ0Td*zf fe L^3Ioiڵz@0h\6Vo͢I\4ff&{8P<\6?B YaT_IT{*pOVn3,M7Db7A6CixZGTZ=a4ؑQɣkdzAXA 4b,p@~\uY5fB} G*ԚH7҇Z+p SkLL3{676f7s3'ؗ9-:Ve%Dm3s}Ybw{럇⤉KR~rQK[*;=f/tIؖDkȺza&19̑ʵUTQ̘Ϡh".VK,}(*{ǭIJ(^RAPlai(Й!j"£g!'y %Gy;5%)D)<9/ ҌdC{b'bzN\Ʋ{zf0=bטnԙսjm\bW0*nPo\cuH݊XSV%2pH_NNlk0#} ^} o QkE67'9oaq) Ž}ԚLCCU3cr6& s ڬ&mis6ivnfkZ3ٷ3r}h9>Uc'|sf[9Ɲٴ{Ѹǜnw?z?Vcg/vL?fv6fvp??OY9֔BܬPǧB^H^0ˀ#+r=Xo^f-OS=#CO+&q30 */S@fЫ*5 (挴ZVDž QQ/x,WSTLDHwb.pہ39ke5w/Dy)qָ9.5TLxS  X<]j~\.ZK&8뉋`/ͦ.6x\[}, 9A^ҏSOHZQ Q!R9)ubSDKNbU;ҹ옐zԜ*m9ܮ?RZk8dL $l6hdT=fy&@SQs14p^>iVrOV7Wf:CIk I_j¾XÃ7ÃgHNbBkwiCvExCCž!v}۳h&b@ (-V((bxCC=-cG1ۺ9J^]b?('HOilM?!X9xgVm :'WP=QhAH!i<VGI>a,.٭/w1ZM%-,:"KW2nGLQf۵-v`<6x:amy8*ūZC֩7D x]c1q޺Z?a@FL6 *>ŠfӖHq众=kdpL&idO77QW1Si*y~y["r>JRuC,A;9#v ź_ˀ0[858\[JۋLLYcyeV[(<(UvG0qlP:@ m_P=2%b/vRBK]G ,o[nDX1Ӏxo6q<)}=ᘕ`mRǖWJڊS^ >` [I͑@QDXɮq*߱k Ilv`\21<ا6`YlW7av44`+<^S@u[wn?idRA~B`br#^5kGpupH۵l}XjеzejuDG:V ?(9D[٥#e!g$y"J JrF=/ZԞ#pbT$qJH={KlZ$foiSs3-*rmX߮6hQQM> g5"o=G>Æ2.B}]պKJF  šc$M@&TmmZ} ~Xe}ۘ4)> lB,c/n YNCZD2}+4kzjl|lB{aȎ7Tyrk0[ޞ(a&s3ϱͭymjmyw'zf?N_{?4>XwxwA/$HGut~gu6˯rt3_N}+TN9wgh%&k!}]ub0ڦJü#;t*S9E׳ LEaD9;ic0$DOH mui}*G3g4m&OحLkf&t8Z!3 {X3n2o;_6a[0̇~r {E[6?b,h>4 K% %A35R|u"{J񢏎ׂB.%E%Bv8C!+WA9b8K ';Ug?-vX2]oXϹ3/NxH|>8*ht1 G qR aKrޔy8S\ey喂L*Q6灠-K,M<ɿ]Ƒ+#L~ʫtG I[%:cF?jtc}qz!˽Pp>Av?=+7# 4c[dkPzy^`]^7aU6aհ+\UfZv@gwf ;bcY0 sQIo~,Y;Zf}n`6g~) hn.:6r^Zh|&;C4Lr!-t/bף)24В1{.9usr/lib/emacs/site-lisp/pcl-cvs.texinfo.gz100644 2122 1750 51557 5402505533 17762 0ustar steinberert[ ,pcl-cvs.texinfo{sV'(oLjtg,\]%(]z5IX b& Ie9}HJkb"fF]})˺cY]Y|M?o=׫UQuY/v/L'?~=_~7~=}??{M6/E|\ga|]YWUdM}Cvmvy,|r\My}eLJi=+.ZMfWgeg z)/7~}^(6֛lWYSoi.˫cZ>-چɦ¾1kW4֖M~WTE/e9^j,Xdhs^4<޷YQ&+dтknz`y͖ysax 7vs2,M[\m0}xz۟Ύ^-}+dr^4>ɫnKysrv=}xOիӋ'٫wgQ룳OfYv^`E⛣\]^.$~ oiEvt󢼣ٜ@yf,SN~G?ʪdMI՟OM&o讘d)7GWO|IksVʣؕJ8T(2jꪛT Z0_k_EVW.Ap]*[^k@B"6-u@U^mM}W.9όC[uR9)ڢ%9́c++KyIOwԛR,eNsBi#(vۊBۦuUdyu((cJ Wœ`Z7/_&o[̙p?GG貚/7ϻ%uJjʗEe2q8]LHGB>񋝹_w=ny >i6pe^]orP&N͟Ư={ZHZ_ #Re0kGö+ΠwIu ~;SxEn[t&cg^Ԅ ZV76))D? 4SUQޥq/\=j60;:RW}K!'d7a Syo2oINZ5~If|C72b^.{Zw_T/ڬ ꥄ_mD1%hLDFiC﮽-W͞6&S@w%?矈 \ԅ[.>vBڌn'NWlz1l?a:;?*Z$7$ny![}E;'$c<^HqbN:Pi:FV h^S}mWg; @VipftHr重NٳlۗDޖ￯R^GB{bdf4%]}>hCp2_u%KZWDX<wMVE/ov#"^l ;:v8XqMBJ',W'7%txS:j7$/OkZw0*\mW0,9tqq׫"pķkX.ssW1p-TT ̂7 N<^co({"yC ^lc4EvQex\^HFɛ[et/~zIiFd#*Kke%XLBDcs^[!2\e1|rr0˦XfM{m_?XdTzaџSz_ ^P>PA#᜷26P.Y 0S=bC6۴)+Ee:']$_A9+-_οyc R>Λc?JWt*L*Uzi2f4MUmVHQ'oOΎ^g?x}z=?j*=d!O j! _m_&vj>sgvm %jVOvi-w`f[Ʈ 6 m6>;"{_+ ]3M1#n>,gGEK*RpOH ppX-KK7>M+D"AŖyIq߅3Kv2鑬oMgL24Zc̒l?dN!$mZU >7NVXD}{ $ŪR5I^2ScdLۡlZTZy*:i9џFpٛۗJhƃLg/>WG̠.~q52l/cE0 FfA1#^τvb́^⑳uݘDDGRv/,yy{X"8h$$6Z$:?zLCqiXĦE玈܉0RBۇFYpqoڒ qk@&er !oTU,&*hjUhOHv1l'!Uu. H>GV|8s?0y@k61rM"iP%|9* m,4cI2:"MVr6I' g.z.evv _4z`DF㴉2/W]y1( {{e\OEk K3NڛX2I%1aFo][%pm --m$VGICIUX$4;IQim5ctSFol d{)D9j,2Oɡ1Oc`Jª(Jdmgs,O2<ߴxiUM5)~ŗ`6͖~J[O(o0sF`DSxQ}:w4D|\rl|l<`g8`v*?hcA˯$=/u`MD$Kkw2l="\4 V ۀ@Ѣ鰈dTFxBFTI/A@`au/AVr|3*1Tv#n=$O+ 4a][,̀iMkr>BߴX{N<%ōroBKO,Dho/3-V>e2y:!(~""^ܛ05$y[W4[!5, ]A„BC9D[IAn8? - ,cWg[ [P75؛z "#QJ\g݌JeL2E4G R]Ag<b` Am5u,;rC ^,涋w[)u@,,Qr 'Fȉi6[a!LŊ+>(fk"ÎT!mN;1v?C4TR\C+иdZhGr}I69~2 Z]prDO1|V牦"{CyC[i2Co0ӘYo@P  HyDž95N:ҫo˂]#&k+BXprL }?i[rє7p9ol?"n}K8q{7{bzRFcCT[VmaOX bԭbRUKv#T1YZ* `9j?$*Ysyv] aP9]k.!Y,_"-JH,]G,A䠘lm~M0i=ę{jMЈ&;\񿔃SU be[Q.c$^3O-b ^:b?1j)qyr*犠lDNOA["d@b}1Sk¹2}A8'"U@ ,z``R}$AGB5Cv%/.՚(R%gc Ķ#@.j,$U,Ҳ|y$ ͽK4,{?;H(Rk7`/MG<C`NS{ Ňanz^0"3YCل0F&(3 ˶(HzY"\9;bU0z*W[hm`jaNPN6Sl V+=7N77%a/MyYvb_zp?2q˭x0= Zr܃̟6UaD8_!4V?ҕB%$Ol9 衐?TbG#jg54N QQW8"=4 PUoP3զaOT:W?ʼrUIeQݰjC%q9ǟzTGQDyEl?!$~RY\NH#YLB+Mv Ui *h'.C h v%"Yҏm@U#\'d"^4fp 71 籡VyEW[6NXC\h1Q~g! si0)8\KCIi[RSJ;l""S{M$~C>dNR-lg3U^!iU /$|Xq'g`*0-/*ʂ=<qYDkfYL]@ċx(ՉҜ#RlEj f% i=MllM$lF7QX5{>VelX?5Ή)<oorUjh`l-3h?UZ.LIɯ% ͖xX{,jz?D8O{x,"@pфp@ w˄Vږ}V;q9~ZY{0y|b2kbdPY⛺d51rTY`{/;Abȭݧf}c Q"/R֍*UuA *&jLBL(oY ![d|ab!`Eڀ !c,<bk`iZ& *͚h SbZ/+bU QrgŐYb!r,2M\<c X| lʨ !F/BIRlji> SF"#ト.%oh DSӏ٢s{݁.!2 SV IQ.yU_/nƅj 3-n, +:s)@ vr ۱C9ƶ>86Y>:̎4YpV ,. J8MHpڪ.A\ӹBE8ći=#>Ș}{DzUP{MkX+ RzV] ϯ|uB D2 N%D$FFWWܑ@O$ ($Ƿ|iBaG^ӰV'GOOg;;z[IUvw'wv7qY @oۋٛӋ O4ы'&NE'o; )~<;8}ݳ﾿Ⱦ>Cwrh?L7GG|q>[>B}=}rP'Noh'/9Vz޵i94CgTCAN;=p1=]%KIt&Ms͉ۓcZO8wv.gg@NN~|x=;XG0w?両Oz'wٛ$'ZNႠ"ыw8S^-+zy軓@Sk$;r|s>r*GH? ]'8+}<sp9&8x'x-#3B./h5N8as1$Ú @v:^o/K{'NA{dGp~gNGs v}*IqFRQf6R@J_~a땽, IJMa$ت4V́FLjˠZ<+?%b+\Ctu͊ q!ou#,BITә{~7|y4sD@]V.!PR#w_2nwYa S:JM%)Uߧ6se%gW|Wk8op'5{YdeZ`C%0"N- W乜KSWIx$(\lZNZ*Kl|X)1ѥtiI-Jy?cwU  $ۋH2'Gsf^{Mb9[  ٺfZgaP,1&K#) \cnk(R)ǡKQY2tL?D ޛ}Cq~fvr&--$QR`.Yf[Ӂi%i-lA% s;NAs*Y\!j,Dv6Ri[ZՁ5KE,oSI>\,!Kѣ&啫P;5>G`]%%Dz[/UaJ?;R,n=k!d:Tpy$lZO g,\oI}zg4t]TŸ3<~m"Zg@1Cӑ8R;|cZ_l}b Nd)?pSvu%)z()1Ci7Q"SQL--9bwx$?}̦fpp6Q$ɢLpuuU^K-97mHV,êGbaZ qq˘e!_ɳ]`bn}"aTɟg}VzyDиW Ϸq@Hw&XO47`Ǻϵrw h 4(kS=OiqFuQ?Ϟ7ݥ]YTb-N|B,Tf_ -Hw$s,]#Bp庽 $Y^Hl D*f<&bDЀeE4.uVeӠ #hǞs%GJ:"bhtUUq5|wVP.J2f0`"?w}K .ԙkoAm票 ɼ Ѯ4ZB0klĜaGPȱ> H+Yq1M^#'d.窷hbZUu7 EUk1r8 ;oA%)v(` DͲsܼpU<޴`^~wBIK5PZhRXɲLN;U.|kNWH;  9=y/+uD=o@n+zUO edA6Hd'wv.lzTG}`i~JABC~I1"<==#cFɊMU};b=&'jP{k_坘{:%!%Ab5jxQ!k$HA F) K6k{ϲp 6@ 8{eBwM}P!OOd hzO.̦F=c|;&M0yNcK:AGzF٦<6$G,%>)*er g$Mx0NaYvB;HmبFuxQuP ̷xwr'S_A%R]t,0]8=Λ[Zr4ئ(e#Qd Ó"# n1:6M0R:k s*&Kaaxҿa\ t7սaO8s ̶qÅIQ4| _[`)AP8J& ΩeXZV2iC!+y KJYGbuIp&^I&`CAJA$΃Д q!YX`S(0F MzhچPgGէX ׂF|Zm7_vFҦqyȮT$>t)+gFh͘[x5~̑@̔9*ϟ/mN-ͬ-v").{ b'EaՌG˄4.0tF])RЃ:'`N*Q?P@b}!uYt~Q/o ??颿)@7]KlV,0-oelbF+H}*o@ R_UuI @nHͲZq!smpY'5T%;:9819-jn;6o\s3XD:9Gme?Ua[-UQayMw>б'0k?6ysX ZnɁngdԲ^Whь~J*r{ceOj?͞~ٓàY)s݁ (UvN+Bq;d\zH@1'u=2炰W˺I#%@6̙`E,F$ܮ,ٴpM0楹|-^1brR.E>5y [xBӂ򞣥z`<"$ igT-K.tƧc`W0UI'Jq_DXgx֤Zj_m$ØK˝urlY؀]S{nUdw{琚z13I:Z1\M>v+9/9PK۽9S?n7zk724`T(AŠoochK0m3ǿw3 eەv1A kԑ$Mu%W[fى~_[ q+cx_GJ jI %l:3|Ӡzv J[%>-G $.$?wGZ"⍁.n_HcT-1Tq'{h%w`!ɲ\MlObn3V|\E  K 7sі~bg;]}Q$ՙΨAXf|>))dyI'ɀY]vwwTGu|b۽-|##4D8ȂǾ@nraϨrޥz%eܗUZ>Yl봞BEHΟ53uvj@!=dhA SMB@X(ºv%Ŕט>/qaF_6KήeIod7^f o{ucaKT8|XLZyA:F[Ɛ'濔`R|bfrI VHQv_Y&PSgCFG)`$:t޻|xzD{A>0^rN+ϼT,SS`Q~V ]z >'mFo)G[I#)`b7/[ yBl`mѣJ8E}.d om!VuR#r-{W+Kݱe֖^@dA#8e!-r +_WsFWe|lzl%'/@'B,= eG%z/U V~(XQ&#[^\Щ D"i4TB" czYۻI(di^j ?vfWr81$ZԬeh0'Fϱt`[ gN":Nc7yERY=8JG&kz^;K \܂b[Udۥ-!= !L0p+Q4ѤW /㌕ Dr\bMtV>iϬ~3 ir.WIc4Ek4RtB̼ /î0nԧzj7>ѷ)GrepiG >"EcJ[JRr.ۖ#hš2L,jw)7ͮ!rJbRywl({'uQ>!Km "6mA|SOag la~٠0Hb;}eoe`=/rl F|1*"1p ^iE&Ah FF*yÍzKx@T'4;ڏ\O*Nۑ׶3U*GcC@E4^]bBZ^!7ۊz]FNMREso6(k26(hbO\Zw IEQ~ ] f lXhujirj.lYDFUMrE_6qϺ9&Jm-*Jǃ1Pŝ66qc [s+dwy_ωchrDS$$eCh]>b \` d;I'pk9S^=_=#Esב%70VKӐAk9ieƴd,\ɰ<+k f9ݞ9- G˹ᤛjыsvu'#&]-5:-K|e {m% 5X^RQpikis/>^1DvJLO SgѴj߿׵22@H>۵ Rr_"Sbڗ^ GS-=EzO3~Yp效hQåS {Br麬_E~'ލNX=U2=b ~@~ƟX>mH3"C'?J>jdIDma*tEy~+/\ {V?pT$vjq=œ[mfXrV`,y̲8$e| )@߄XѝGie+9q6[`Id.|&CͥKY#G!iK9N\wȋ*?8({IBrMkJP*ݘ-Nk]yQ&;(sc7 Ltmss /벊cTbJAS lW=$Q ){-$ "^<7#"zw'˓cOX-&Έ\_3 ǿ7|`V<3ÄBp3ydz1L\iyxGlE>x pBña8}Av+_)/,Z Ɉ;;j} I$hω2Bh,S/q``*Q`Q}#[] A8s-g2F3NOTYM̉OF$ŴHŸڕM8L". [1UW4:O~`[b7_{ U*$11g>:0֘ט-+{up腶Ž4܏ڝӺ-9Cb^eN^e\vzBx.I#f}:ToN|Q!&M3 }"M?E4/x:'h.ET=R ޔMj1MUƤ鄩 e"# {'D2m7 ndxT^˞Q7G#<@=<w)}?K8 $mqPd}Sw[5b"B)f*Y&dRةxX b7{p2'~/i/ݿ /$5XCWKҠw7Ap,z^ƅ"b}B9XX,lO}aID>ZBRPTE{ma\]|/%b*ć}$(p!ĿҸ4e[]ɔ(ޏmeWDJ2Ml?W닙:"s粍/JSz{eF9`$8UKF3i2/ Dž7šOV!ʽv̪D|yc3fL&l&pD\CCAvJhNƆ{%WwĆSɉ~HFI OBW\Ay4Q5"gK `^m? [@0gtѴ(/38,`SెiD:{v>C5JQA{Kw6bm/9O@o,F fۛ3J;N*f)&vH@3l3_aI~"*TМ+$qN_ oD:i>$t,pp&{2;x3w9c]P qhy$oOhPUA/^2WW|^^OdKz$MP0Y#61$cp>>8 A.K釃@[HuhQsd|oR붫 ֚Z/YXeC,Ctl&f/P UKK0z/j94&_B K+a@sY,.ņ#ᛘ8IZV85,_zzg+:}} ~89;?}v.##- ,*-9d&ƀD^>ߣ2Zb?zbb<@>Y+ !pw9+Dkc 2:+< PMs4]7kYwų/F>#ETp Q4\ s)'~;8"=>dP")'\~0𚀊^܆Rݧm>df<0H39bԿm"CWu[ͣcTl,tUqp,YV+Kh3{.j/ l7 n KiWV@Fs\&)UaY XNpdQ3jJ)x"cU-0ZխXJļ8Y#:DTH/f6`@ އ,~6#Gݜ;3󨟱Fqfچg+ mQBIf;S=1lTE+-FܥZ/PPgM)1\kI~֩8O)q*vRKM>Qdw6CCmq)\n*!K pRgPB mnES&E T'&sРbq<]ݽ"I80?-/j!Zn +Esxe_V7e\kZ4^,zp$~g¼UMD$OrxzWz0gAQݕ$dxR j8B.G4;z/q*nVc|Ys |\ڟ:_3bUߐu3%x-oDxt(q;(y3JtRѠ_eׅثsSkR&SٳKR t{I7S0=ҧgiL+Feo.'[s)!%A"+i QRЮ`YHǎ#| tzsYU؋`Dv# pQ3`Hz 'PG`}((mR 3q)\R kEM\Ļ Sa&/-sᔕnla]dcڈ듥g;*arO>F}A(< VFe?6RlxAlЖ@ͽ=VPkuiTfKBǏZhܰHňG_L7_N=(d_ =\i4~/kP韴tޑ68>MyǽQ]TӀd@QᾗnGWKZ ؿ& jFѻt>7hR0MJX=!* ޝ;<$~V}z2.)[QY_l'E;+Q CiFv4 n`"TLiT>ڙ .I+gUxX-{[,G0Ӄo}YQdF4򹥰~gR@=۠w3$_VyueR*#jA`Jw  #d{#9*Ѯf`jB=HУW &޽FaqdZ?{ a`cKs;kg[Nk i[9h<`y|u6ѷX@ ΂2TUWR[rcN"8SJCR>QO$K /)WZTVtp5}Zw M8(/Q%@</QhxmkXLE,G25"쟱\XA\<1e6Drt{&eN3;;-'cs}Ʒ$x5nPFf6Ǹs Ȳ^KUŽN:Hdž6(\I$/h{kU s Z\Uβ5}EIIߴh:c6dy@c?ڥ>K<ũ&eu.II'c_P/lӼO5y[%1rho*y}]a^8[ˉK35|˭++xA GD},"EH2u}0n6tO@~bv,^ĦZrHڡI1EzμiDd5@ˈOʃѫE/.{ĩ9 F,e] P %X(H/k5Ge]輫F% ]fq=l6Z6 ,7uƻ"HWAB;Ih.ߓ~LLKAw8+o2l}yAڞTA|T"KWa/|t9$eޘqvffiȯ|}@$jp.֯޲ݽ|r9Z"2E{~)M1BQ|߶sD7h(ፎ\%h2XD"zs>W)|-Den 1 3e/L!hSnP^ׯr"O,1:jq" JLM"iұBl ꘨DĎa!ʗq^V!= .Ba \?o\?fz_9dБi"4+B:x 6\ ,4Uu,@?P UGw(J[Nw!rq:Px CX,ZQj#vHn޸mԗ$ȑ l}r dމGހWZul0πNrB"}]fMꝐ4CB tPߟ;kZ$SOX Ŀ1\OfOa6f$z54[~96@h"L DUo_;^m;["dFDzv3EÁD37FXt6sS¢ nXy-6Ej)ZPsmo}q&ܩyh>*8nHruމAWI*L:@W8n|]Lix8L䯜b0BD-}1j>7fԜ*) J .o%c͚ N"~!=O[V(MNkUBcqtaik^ha DЧ.6kbQ[uv7zsqP?uD!5S]֮IrXWl m=d,1%;'|ʌI GZ[}BzRMK@y˯ڂ+we[^^tO'?}4{McM]ϲ㟲'_g铌WUٿz,X8{By~{nĵHGaXגW2i:NÒk6y$(^sW^M&}FB*R>ԕGgE Cն0Q%Ѥ nA,5tm#zYnK4D@wMVD!󐭮[HXS'ª B[+)Pf6'yEC;h cgz2ۢ,,:'Z|h(I¼rBE9uZ? Q$׏9):(ȧºR>rj6] \RVެ\6ldXq2u:^clp Un4!Liq[Rp?6Rusr/doc/ 40755 2122 1750 0 5502067361 11245 5ustar steinberertusr/doc/rcs-5.6/ 40755 2122 1750 0 5502067361 12342 5ustar steinberertusr/doc/rcs-5.6/rcs.ms.zip100644 2122 1750 47357 5304527523 14431 0ustar steinberertPKzRͪNJ-}sG[E5^&@RϽHjM$DڞĹ 4~_>eg$@wuuUV7ۺY]ݖm(Ev_vܘZ3迳zzV-Kk˫9\7ٟFwuIzY'пbge5vc}>eꊆ0/&_lfueuڽU>k6[YUw]ܸϲjg4wn\VٿR}5r_/OwTF"Ln|ʿz陿^?5s7pGGOWY3kǫvtl鋬).;j}Ɨܧ+V M[UvRWcK7n?_%8,gٹ;-yӭhzAw=E5+Zo}\w{pmCu(;}ȫ<;|r>;rv?b/yqW,5?;K*>f #WhȺ~.5 zMtS[Vy`xMt_,YUb>vO]-- FOjCxnGH>d#L#)ڬё[̭+tټXv DQeC9'.Gn.s@t1XZ=k._e}sëFs\39Z,_*fVJhn1fXHZu&z*(*[:Ӄ ƿbvַƺ4m[K>kKuŒIi^.ED]}QTgkKVbeDMx4IZ& {D$8h.Oۭ;i*bACe*-{lXNu9y]eğᙌEזrL7˒lAS,[o.HChgavD2M69Fyc| 6hw=;x萞6eI~+=G`v+o3ZdZ ?8 1Պka6 ^ Eg\oÊuŹYvd0vYi2!K[49MqW/ESfYM:Ϊ><}ĩ5SYO>dż;e[j([(w@vj=]V4"}d;馮trS&^]h#X8~[E{ݛen cb}4]zM_bIoLR2bgE<EeE?Ϯ|NfDS_EtgAx{e[brIkZܪh=?x!!:z ӋlϴXD\$S@CUXA*=%I. L{phDH̐++>*U|qIslxNGD[34AefFO'O!} }a !SyvqPK:/eK7/IJ7|d :H!cz\J:zr&13cNU&̪ :: KE(i #:ZU9 Jsc?i޴V$ y4$ȧӽVNiyi8ϖCc^.f9J%4Fve `*UCEJtJ?\3bPOF\UOR*Y9K<-e`+e^Xv*JJJv|V,J6frY߃rz~*=%3HH9u(zނ1"AůVk_.re񌄬 sb%sb5sQ y(ٳ'9WbGyfeѐaD@"zG^n"0\hIe7NƓ]^zq5z#?WK0^Es:y[@,0k?@vΚryS.X-)rj{D&f(a8!)Z6A3)\42=&jkDG]0r"Jl=]].3{&94'e$!&)\;l,rRxt3L=6 CVyfgvUB٫A[pH]&v#GXvx&Sw snHg&'J2 i KzK1my_ƼS3$H+x,v7^~(.V[Dt/§)F2=*aFJoEu3v۶-i5rju3MJ؀9)p\Zz$OD:ᯁQй[ј//IjPMS7hD{4dbY;OU@9|w%vN?Kb>2nU~4Y`2!>H=7g|;i5 xebԳtQBwM&w2+"Rehdq;mm% xV.hŗ.RΈMWBb,|^ʉm~W[h[}J#Z}V+( %[*ERiA7~5,&zu&9"ևV% R;012$I\5u:c”DzrnF`yY;턙cYl(bS@+XbIԢtLTyP^Ia?@̋2YV`¦wN8/.=S*34eSѾ6vNSd]Hݓh][kF<n(z{36AT@ALnmοQNJkJmE=v[8wm}g^]7b SA $!J/RKEkzLSGg.Z|?]Ly0&>_ˋeG fAVA.,]p*xL`HjZMc v̉e - `bwBWkaq+QX~TZ5yza,(~{rMI;d͙J|{|39>4DC~i'fWZƃ> "w=#&,hQ/K\|k>\9eO0iK zu~bQ~)@pebCu u~tؖ1̀X:SGǼnY~f2ϖ5kt0nLҙ +H-{{ܮd}Nv vm00uD݅'2/Wf A#s;()*T 2`MSexbK]Ti (tl̩-YOK8m^my ^ l{Įu5~yz[e;j]=` [)_ϖ|`{t.TpY|[" ~.Y4E[1I -[;,o6xX2,83 #(-Й;&RlU$˼P+/}ʦػS7wCU+bCU3fhaWvolCצyS^o},L,LF( ?L`KfcsX٩(Aiϗ|DjqGߊ`A@5 I ib)? 5hۍ"Z?x˨C 4BrXv]e>5Kpʌ8}Ŏ#aXrғ1fܻ- a_lޱpE }3dO<戵i Րp Z٨fAcgl)V1$#V\N 334<#Ђr \{VOָuN.nʪIg[9!אUomJZ f & g! s}]&*ÌGw̲B^ }?٧?x,.=C1/\4{ ‹2Wl.Xl{9Hϗoy {!?AI֦ELa)شhX_vMd^)/z`[F+0zj龟 r-l"B9(̺)NDxʊ8 BhwPGx:xDk n-!JD8 R䄊b?ϧ,,ʭ離H(L,0s͈_>"mDQGp!Pڔ "IlP#x["Aq D/<3oI:ud#^ΎU.ͫM“n"D%fȥK Υ㱣_KFjzǽLtVS+ lVVۦ"M^eL't0ڧfl?YwcĢӛIxx0Y$kʛNz3%`1|}(o?`ޞ}"-Ql{x$Y,؁HZq|2\^L&B$68a!JTmycC}y]#y9&-5k,J肇H Ey!'n0hH!s>:ؽg~-{çWC}/ 돔hZ>qF:W#[2_-W.U jH=KpG_{2 ;'Y6>&`~_i:+LdD[x"™2nl E흓gP++"~oŻF%2ɬֈcuuWfV\h76|ꀤE5*EBUre@!eߔugOg]1 ,w'+s,@(66w+8=^r@T4۲i!(U'8kw%7QT,,InTE3O jT_@,41޳΅V,ː 9s#Sa =CΉו496^Ewx&NB˺N?p[dl@d_8Mb^gt0/$IʅFm8Gqև\wnNy.爲7hHTd4H՜y"r;Zt4yh<6~rX . ($HK'hxUwj켑8<]PeC]q8I؟?U_TZ͠iŢSGgYY/^ F9זc򨦜y9:GN(Ht8` GW\]?HXD<sk"ڠ//}xiOOFn51ne%Z6%Ǐ-ĞknѪy ņWs-Q̶ik+Yg ֛ɩ>4F,K|\u hfWl ItO}ϋzxeQ 5fX:Z @ɷָG˲LH4]_YWqZ؝} _ HUzS`6J4Xa^Y)cO iN_ӯu}Yw+Hb)C[>U-Tqvsb-qF;>ǖ=-QQL5p~en4[%ٜBfdB0+'rNU lYWU{4Vk)r^j@U;6LH`$'*SIb FD7i%sepYbb W!&O̺v#446%!in}Վg~.D)k|WʪF|98m3߻Tډ+덴Z󯚆"="$Y, ˒M3eQLYRշZYs&*w7EKڠQ26 s{*+ 08tdauQ2#Ad! ^6шʛ#3'u|$pGQ r!{[ ' ֨B|r,̗(UG#D+ޜfGHu6> Of|$V}h]IoI[@϶?5/oNwA,]/$tѸKpiz픯==x\;0\;9Le/[ by+% )lͿ%>(/p){urqb2=")UļQ`CDu̅mLZd3xj42HX;g-iЪt+aw F~:R Zk; .U_J8C3RzK?S˫gmtmpAJ,J1֢Odh:{sZ5 sx,X]7\7TO^uB7Mཿ7WE D xk7IJv (G^.@JgF>NA >Gg %? r30ZU]O{PT!c>9zsh8 ?B$ؚ3oc+٢oXńp1e0=qSjY?iakB5xlNZb'KriBx"[U 0 oVnƒTLs>fui&^՘GAqky(Q, f AfΠХ:u/(\9sYjUhlO4_Vƨ7QuI".+p}y*C[ ? )X+d(7Cgʻ% Q~.kGKGߎ5TbĪcuNtUrP=uۍĀWQغlŵ J}n#0,)qZ'jSQPb!$Y RE|@i-戆9R0wꝲxᑉhb_}lnb=ٻ6X9 g@պ6+4P(TAL<⍬(֥7Ĭ?8;_GWs+#$2VTH0"=G02ntǙ y9~`^y 2o0]s޶}嚁ExPs]rQ\Tn{бAy̢ 1pcETa6|zj,a8%[(& #IP5WSx.UL`L Pe4kZHޠ߂(U(2n;{sg`B]_qV(Zk$va?ŒW#X(6.op ioR3*yWP`7GPZEA"<8ԫ>t3ue 4x%xhh5v@!3eca)MVJFQ*^A>~dlp+*(~⪱0w;?:<&苻[A8,$iq_PFW<<_IWyp:;?AV'،B䶖BtʛLPI2VIv:=FQ@57#Ot`)"Q$:O ]e!YOR -YP!3T*R #Ot\lf 'EWҰZ=6"$dDPF}GъT𴔶 SnqUZPB`}Z>J)Xgl Y3Fc.% ),[!Zc¦~}84붡kb~G_)X ,%e#ͥ.B_&C{~l[O )d ҲphD/yx1 2`D4|.MDL}6Àl׌OB6\rA^<iGF D@m&ϒmgO?{w#]b 1(A%ZϠO9ut$do)xloH{Ӻ;$  Ƌϸ[CSW$Vd~~n$MrtV'e#^>0&lsXypPX-WY=:R5y /~ͬ_qe ~S̑e X'iH?\sy I},f{`EйZ)1Z5+xw\0yVC3GT!je3ā?թO-Cb3 `ޥD-qz }#U_ߓG: +{> :M [3+p7DXsPm 1=Lt7JVom#(`H6'jҤց |CY6& Wr"mGSXVVm0*4Fl4YE)R2kSq?0XN,*:lZIɊ+}$0A+&n-kY4*Q{ێBVShkL-I m˴&>UrΑ7'^zU .x-'B Mdb}>0HMvHGA+fR=ְ"kvބ 솵$LKB3F_̕@.7Ny³B/Hlg?ȼ0TI2-߭cxwhʨĎ3߇W=\Lo9pU)sTs* \{O~5ccv8n[exT-Ch)yڃ 'k:[X:F!c-@Xk9KUNeqZ p4j6D A[r9"z;O38k#Tǫ| _>ścmb%]#xYx:~ er͗^1CW & WN )x-Ks҅?I\S4WY ^v˞mO,SLu_`?`a0Ii!}޺L`4t9B1yPx5^m=py{jo/7wO%; 9穚?iM+ ӌ3OkaI1jT!m;?0 j|^0!|u,g{+>8"0DmE6]a%Pnֱձsf4wZtݔgE IJve >+87)ԑTX;@ ǜoXUe< jVR1Fc Md0iɁН>Q&Ѥ=xH!SR0l,صOġXɠx_S5bбwh$++k˭TCpM'G is4Err4dgS Ser2 LǮ sftdD2qo\L H, XV E OzQx~ti54#xHi'~.)HŜxHǞA?cmMP"8i;Ěn;=: SSkPs2$)F4΋!uikdG"QhmL )鷡?Z!Ͱq$?mA7h֊ zW&ݠ6'԰0&,Zˀm~1=3;9#S&))Hxyg?s~8GQ{kE0-=8z1vN^سwZ,˨Uq4eupwI]|'ܑ"bڡ&gT’~ A%Ww v̓ z f4.o[GJ bcԨ}XMxYa^bQ?#͎^%MZJoǍ9cFh)Wzh݊}mq{-hUo[Ts~|^eWƸV{:|] L@Np $QfPʛsV2ր̙YRm+@pɛ2B?=bbЗӫ+@p6?t=ewiva4DVLݘqAijWzc( fXFUnzu 8WK1|qQVbWY_Z`BBQ $ `ŜW K8I``+gvLCjEtG,ڐu 뼢+V*t#DK br1H?S>Z@p$ak HL[#o*O >@oGYN"ǡxVN(n+pIAYP|5RQp'`&tNCG# Ұ>Ni{}R@W`lށ:!I2k#F2מ}+' xb郢s*}u)]dUe; iQr}_Zfih5[dtu|=m.,E}a3h@88C;KْTnq] Xwhd u&11ÔЗHt5rй4N/.y$y|ɜLv"|/#_m@{+,$Q9W{#5Wmً!Czפdeo2}g>c";1Ƌd윂 w\qnbY2jL^ ZܷZX/'7t%S=zeǹp yt{p>lvz[7QO7h-xŒdJ7bDJ4.uц(yy69 S'J,/Nr@wN,j"GBLs( 2Pnşߗ]23v?*= K?yOZ/lIOt'}"GW^MIųO'œOv}dd] —>{$N??;|8z3K.3mȓ>>QO^>9¨_ȥ E u!M-.ڊn\gM,lWVIHjiq.+5?*iwSeW묌Q:^Z ҾK* D_6j;ʺpv3ڒG8+BXaH*]z:ٺoc?.yzZ`[Has){4`J'MLsWZ޼4襈ֈC̶w~Q^p64ܦ[SuLe JrUlA3SJ܉,QD ^+7;~/,1i: džIJ$SQ3k dŽpbO!᫽`.if&7Tnp!D[}%iIE~͕jH%DO^2プOM=9:"}t}vdrԧ#Rk+gxveS=QQM= $>ݛͥ r/ 2kuM4KLyGeEHڙQ aV>7Jwg}qhmHmWzT%Y)0L('9[qEX.i2XH12Nb!29҆bi]}|Я0ͦ ̈́t3SKSx5hK +I%..pQqsAJ0!=kRgbt$Ü"}´$3T_SOF)LLk'"ϫR€ͬI6Xs-.jB" -H4C6x E^.|a(h:݉a׷0"lƸ/1 ”K/MRFPnĶ6!w9fqƯf1 e1j0_j6Y|I33k}5*,|e CQ@`Vm sq?'9zJjI\$3V*L}[^bXEMv»ホ2$bgF.<9T-B,G\Æ>h@E=='xd!e{kg,EmXdiQv";}I(F9,yi2r DoE憡e)_ @.):h-^Ķ1i2q 3;,ۃ|Tt= Z`̭oR(/3y0r \'pCRWJDHWAĖA/9gkZ%Kgd.`y?ͲͼU߼'ns'g͐HD8''W U'钗 |vK$Fwы&gq-YirY;QP uᬐ̢)+ɘu Wswb=#O+Y8=׉ [I +BFm yxw KN$pTdH#& |1,n7fOrw$3ZTCs qбXgGz䌷ƜhmPŭ'\lȻMӶ[‰a e\%1BҼ]y>mP}FV8UٷG؉$OSޏ-s.QT3XWSR=d' #wIiN8'H@B'iprQJ'A階I'i$o~!ۧ$*9JtYm$8$Glh<28i*XF4wg#!WQtZ #zU"',IG 0Roca_ Nu!U?i9H?T"פWh|U^~"Z6"Q1O־p흭`8Oȱ]zƹ)AK7.:OH )C+g~k.@4.yY-mބ2n᷃t`ި~e+7f8T VlTp0 fG1j Kj+yD2.AhYSf$KKO{H]L1uBi"[I*m!{tQygE "EQ&eo qo-F1va(P$vZ5&߃Hxx3,ԟF"׈=C=DȐ2C6a5t:2=w#lMDͶwf>fOA5o!RY *Lp@.m\hrm-zG0f$#~U9:@gxsrQp>vuQ\чs+պk_&*#2"[6ОXEs#oe/z~Aύxh]{2>\)Cev˼(ʖ0ռ sjԂUbV ڳ%;t* "em$r7~0vH^+G3DvQ+j:2 Y,BN;h%l`pi'!9p {X7V& xᡸW⡑{͋d]\𽞴qy0 ΀GujkW*y[i!l9@ S,}"Ԟ,8"{G `D;YxvǙ uq%\R/%uz+E,@m]$+}\~">(}"z͞ZmCY M Xu-[9(,yBzYk*BVEuefzVY!=(^^*^<逪G)@$/s zx\W,A6LEsHuiln"qe9iHs fYc4_UȘ2!tFEGjXS-|R>ۯ;>l|k,V1Pő(zE,t~Qc6=:ڛ>;w_'åk '?ᓿ5d{ڬ^l/?ܟ{Wq4;SU@ikI]z$}(Ң7g˦~e٩.蹮.9ȏO?ޠ iFG);ؾC|␓$ߖ ^8}b@rA(_H: -eZggg%p3b ; 1Kmmý}y~ {S2-3--|,fKgdfҶ#{kAQyčg$)+e, Nů.yv|~ Le\n]Nl^ @2{/AG&u]E<ٛwv3-)e]9 N-CKif]qlkocXO#3W)[M7: omM ]Oo/?;YW2h>t(EshǞc>p֨|YQ`\k5?ܛL.7p V^}:ݛLcO TJX8m?/<^7OPt޶o7~i㻾+X`8M82~^4/?7%2HWlֵ)j^$Q*;;ޛL+*L|p#-֛C~\nWV g.>ˇ  ஠GT7=Wd5|M fuxˏbY[Q:\{N,M{W팸GZ,I#ZbZB|{S~xq睛yOYnzAdzźO}ץ(قƁȻ3n.*`OصuM0*0~1zGˆcΏ ]mw=kV#['~9ʠ#EuԽ/9xʼ9Am_Neus; =M9L]1e׻ }9 Tk䁕0~~5@O;fljlh73w?ϣ\%\] hM{dؽjO#SȅJMSm_R{⺪kȷ^!@@Z7UAϫm W?M)o_ŧ~]"u@͛gJL?hUs#Th0vs.M;)nMI-R^!U`uLz8!.O'$W'hٝʊdٝ TNI K1|BEuB ]sBw\=^'S\XfP˞{\(îה6+z}~*)]4 X^gC S7% [Ć"\?7Ln1k %E.0ԟCU,PBQ*]5Ip-mf] -zfD4Ds0,S;DAզIQ;^ݨI2_=01t1g5hW 1m霬x0TmUfEEH?RV)1k8;iוX̆2gtvy'kF~#oYv{*;Ӏ~MO!̢EuʩGQ RlR"%*,6 j%ipK8 d8P ;.3L1CBȍUB2xJFQEEJ YtKJ%ͮSn/(m"w6dlcc[ijjw3z7c7b3kc77gm+6Qa4MmlՒmlFwX9nYҮ5dr5wz{8Ʀ52sP8mؔC0<N,7?~<҃~cbz>tіx7p9C)~.Vi4{䍚}^JgQj5> Za; ,nxW݈G%6xkf] |_ G9#OOz#X\gC'}q(~:M9E'~w#Z]?A{gG>)W.ɣ{?Fkg/H_8^ YQn2̅著ou/~]r4jOiߓD2ǭF-W?>3*$%Ne2yG |W[ǁё-94xOw26w4ιьfDߞӓ{ST}sM`E܍^=r(rM'b sDZȄ(Z?2Q]O(O)i k&[?Ro0NH6N._=}4蚯&$ל'w38> yO<>3QH֑]"O< @$:?e1iemDB>CMPf1 SĞ4MDbD/P3P'iLH( ~pa cʭ[kx@MG]#t Makx5`Nȧ*JA H2zj80|}4!cQ#C)|d 'ԍJ%.5J#$!]" $_h(n =0 T#jT~Y4wR"i ;f2I^R;,AGHP%Q&TDOFccI7sIx>d7Fġ@XH^XHyL0x!4ѭ)*[G##G0wbcFHC2 9^ H@@#E5B5LS!Yi&[@DK%&z$&""F3@]9q9x`LrX cqȆI fUZ 5@7?9Sȑr!=2{*eK-azc3)fD˳-FVhA-sزpv|vh HѫΝMCn l='lE %`؊ eb%3Je- HC5[ء#؆22r63622( @M&Jc Җ0v$G`h*o$qND[`kȔ7'ͮU”H lċY`g#3 k6iN-6;vlaA CzBO$i}1|ȩ@g~@OHN_.uYG.dLtAL(?!=w1h;Ď-]]9+q[ClaiokE+;U j;=ڤ"o ^Oa_v̲Էqx usH$4{yU4VKHR*ni}gS7е2Ʃkj%Yy6Hu*EU6Eٓ'VTŮ[JFTw@өWX_n4S}9 w ͺʛMuFz20֡ՇW<]:ڂN&I,~ٶݐQX۵V_5;c]ޕu0fMHICY]69k"oh$/چiS`_-?DA%G3EdʙP:?ZC}{=|ɻҸQKP!C_&7L4lJdF!7$ͮ)ghɛ嚳.,{8!ƂN#sxI8R˹:]Ckd)=y6L~ޓX(/p`ڱH@*/+gew֖ޤH`='ھ3)"Ma39VWu:.&cvh29 &mT _ e8|=]vCmaT.Fcw9-6ęzyQ`eTM겗kMdKpw$Ъ2v wb/벰oJ,RMoLd-G.Ao1Ϧ4yJ&@meJ*6ߚr)ޙ C* i2N;L~8yߦ2Q7O0ѴA'Jf=q~p>Aʠ&C6 flFpypSEndD6 y9Gr&wtʈQ5%Z.~s3ԯvb Z hәC{Dfj㍹Ieui)9mZ"ꖍHFB΋<^mm'+a7Ԩ ~7zsi-r i(Xl(qF(U*]!n$CO^M7Zmo/ZCnLT,#ޓFd H04>oBA L+ƳCvhGH<Ցtk#"%qyӐw7\{"2ᮉ:/\XLHF=ŵ13L3dEntBYT-`Ĥ,_Nȣ8.NB#m)/1H6t)_ 6/ 'uCK"ɂ{K$IZe{+sSȳ\}؊%u&2+Ln K_Kn6\ [6x=*8j?h{]+U.ˉY08'C&8Ό Mh}br2Ӫ8mn0 FXY#Q@ X~c T[H抖@|yԃ#*=/#Ƶ=Xq,CɈ%(<#3(f2A 5'+"B}ohթ3?9حԅ{YW{:^n$4)7? Cg|mz}2 i9bY6a|z` !~ƹEqE4,[92 RP*gID?n%DJn+Ѫռ8=\X +k%q5ݕѢ=o6D\?+dwχ,xQ6u1b{q4M-$dm%gY~9{5q2y'[dT$-I\Md ڄ#YΣTZYM1&"2Q_TM ~Ri%)xɎ\j\jF>6f K5*q mk wQu[o?;A^yuFeԩoÙo5o?R쯾s/#ʣYFYg.oE{XC6亩qr( "e,t\.^ӄ]Uk'/d,nE@ρGDz`?ov^]4E50dΣK`I rM7 RS\w;I:lVY14b9C//I3dxGң#HD9dz5z:uTr@b{̋V F^VWLcߋgM[F7O4WrxhM$s"cgkOS׵IhIF&ҊQ'(nZxC߻_J{}yx i̍8 |O@3'jKuco[ea'f"2H1RhL~<|FQWH\ ypї^Y~'>y^tO/D.صd!q]3)Ҫې'3CM [9}KӗH>HR)r+-q`\ӕybFF\tW0E::}/^ <\) +I*-yI~/QS?x.L,V;_Jz!+Dd-ǃk_ͦ#dI.#}`wnyNX_Mz5q̋ Zr*M4x+EA㏟5E0yM{OrJGdG u2@D: c+Gi9?Q3mfk = 8 ׶zZ*_Z 9-hD,K2*[ AMv>})!?oؘn;)$lɫ#8rI#q̳=CzzkO`Xޒ5$kVO^tR7.GKcM>z"1jo62nW6%hۃǃ$2;Et 粺 ;YSt'_ޞI i `o5)?J5Pۨ2~.|E*de]iRƩWXHlϮfb5BCKMccH"4 E)Հ9CL2R+y+몖GbUu fCV[9 ɒy<쫜̄WDpFR@tl݁Zd@O2xv2q8{r"=_bT \Vf@hbT}RM$NjyU:wJt}Fظus53 | sqR[:[rվL嘃Etvl뜋<]W HgnŲe#3 e}+.r`g@3~q}&7}ʉGE!JWpHEsX8Gi6g/`tk@p'5ӓ;Z VzO9Mt,J' }x+ha4>6(8lެ0ͫ^?Ǭꍡyšxjj7v6+b:Mmב"Q_)"rZ=I$8IMJ*Dfn7\~$?HY>[(%'M}h.`bCwV)6A.G:x,*cб8Kyυ(B 7m>b[f)0@^/D7N[' '[#o;z*b_.'^I{p*.Z3s]Bi?-cy]|ҜW!]c $wZkB.sD!\xȲ-YDLTPna%s4I$W<+$6y~]n%*sD-jXnWfH|W9MU,DA]iM7C\1RBRKvV] :ݥxI/Cx(:,m&jx5izt֥ΉtJ,5&nE~V(X;i,xi'V\iv[ǓTu`\ΘPT0z.:^%RtFN}zZxKqmjUrcYݖq#eLvu̱%Ο{^1 㬏.a;biS'4QΫYכ;lM٠FI\kf1=KۓJ[|`=+{)"3^,4Z6+eM9si5K|8g-M t<[m2Q\+٬.izoP{$+ 0@OrS $7rL$TR׸5ij el#\Cz˵043nh@ |W&OŹW+a1$97iHgs\p8y-GI pjeHN0vw˛qɗRL*;:Lj0f |Po aP5HYKbЬ{9(y3 5d,E㙇ŵ} IѻߑK9AETx_K!jR9ܤEs+O%+c3W#s-J;pU`ͼ,: -}CT'QL+ǵ 0Ǽ#]Щ iv[ju Z0$m[rw"LXJhw"3J ^^i^ӥd8C,;HR 6[x< % Զ7("MJ0'fk9,u7ls_lۗVZmHЙ|9(6jLjQA^V6=Nkٺ\żôƤ[a8uT|C2XRdf{m;Uת l7:MJ^E-1:sLMi豑36ژ=O=DZjBhIPPsqS5 I ?mu\;C pZ֒SX-7K$maP֌EWh}1NW#UD(2;( Y=l˨RlX^%iuSPƛ̞A©{+6y Ē`ƒ_[ߪ:0.3/dxb.h V6W& 8,ME84NGdOu=!nFx&…Ǥ? 7ЅesKbY:^PgN Zgs7 RϿr!{@-MMJFTXx+(8T}"-L{@J hBވYV\hm\?0k3@˨bIAdV^yo^_/;@݀G yg&K0n9i}$ j(P9%u5.I+8 Z'`KӚBSOveb,,cti$MظqK:6[9h7/7{&h )wYcڠw*2OdRBPhg{S9<[2R;KۆѼ:w$Rgp\ K xz*. DrBdmV=Y1; oGL(X<00Mj72Hfi/IM={=)&`">l<ө1 e*:q\Ŧy<(} 91!?z\`k eNvf9!,>;f>:a/Y3oMGi"d+d>%C=4CM+,ۼ|Mn1Sp<)pNd͂w3ˆ~q,I=nD$K֙vȚ-3duJէhܷז7s}ڸ<O3Zr}W؇~ p^= L{mb̨^:q]VjOf7&i.RC߼m)]%n,f%Kn2TA1h{r&f`dP/WbdqS;&j1Q Fȍ-o*%N4 h[H\ǏVףB2IEfIN Y&j'?|3N 뻏3*DrhАffVLiOK _ҏCrC?gω2HeGrOk#~7IXIS-]%oSXij侔5/iLN;kSF)0Jvrv)3n/Lr(CbjrRqK9hls̟}@2tV9\y ۮgE`[5#J)fk6O&UWu 9A2Z" DsVcN2ü[ 7_B¬.nhOwI %g2ۡsFIkjA R,NcDCbfmUfrn}|~:]JIzfNÜv.n+ [;ew%b8Ě)ck-!ӆf97ĥ{!*+ttdz|v;F~7@ :V,$0 .Y?+5#khѷVٶ?Sh0,BcB^CJ8.iBdP/Ĝ+d1 Ll͖k^=}H! G~B5$Ho)NR,ur:m-&Bu|&@yjFk^ !bKֽ4 f͙W>%-)&4ܳ9FRm&\Ikq?%!UA,ubmxbn(%s`?k# 溳g7ijH feq̞ n|hu?'UdƂi*H/K~9BCօ,Ҋ,qj&4H,sm*$L>A:R9xksxAَI0#"j1v\?KqfDT# w*ءXo6bRJL&h(_R)`ڤ&ˌkC1 &io0i5Fq2}+|Ó!pna(7olL Y^zR|nuDDLH0O@s K6e-TnQ8hF:8oh#NB˄b}b)hEaҲr2 _"Igdɒl$oBa?̡[7ka`e/n hn_nHt41-M,/I ߗ/"$` ~_ܯnP/noUb?ԗ[/ꠤ>>}o6(PVO~_ܯ ~qv _47 ~ ܗCcErc_eq_ik%4'A(Ǿ^ܯ ~qv~shn_!mXh‿r 7>tW~m7 ^/zQo_A:(Cc0=aJ7 wTiY/Rqjn:1=7>}O&&G?#܂.J{q %}s*d[]:tvbQL~J+uCqvuaJuY_%o$$F"Rx,Rd+ƮL=XW9gb Qa/Sz0-2V q &EedϹAU;sI"s_ MV2IG:2%uaylH 3Z3zBAi5hgm0913QLOq<-ʡ̔aց`x *GP<sE*BVEz(Jڬk0JO9-rI}eC{GsR$KuMQDRކf]bO"0CDqZS rJ²yt Ph[- ih=2c<0QiROQS-/0*&dc7FsFq%oD>Wܡ=*]hOh d\RQOޭ %N kzZNw:CO+/m"zp2T ǚ0.*3LY7kɘ`u+Y4 h~Ni~Cϡ ;jDgج:`cI6﬜}!|6R`sƧPњH>lP# *I/p_c|U6j%_ql$N={YM9_~]g01ju\ǙV,vQ,uX+RnH]nR MeA@BcMe0TBtnRe4 *pcA0iɓ[$Mun$ GFG+Ng4i=/6jƉ;,L I.[8)(̤~RxV`S]UfeyF08&Neΐto(**j*֢&t >'(!,8 /y/yQ/y/H/, Z?y_G"y&O

}&O "O7"O`\/y/꠴yXhe~_i Jؠ4yfX z7׋E/꠴yz ~b'b'7E6>}O&^]לoŊ-~ɗ.i㥘_,n?47?l/?wdp_=kB.Wlb7n(|"ʎ v7Ly/]˴r_.dնkd =A}/䩤o(%.MJDž˞ ׎s*]퍀2mҩY}7S hB]S=K?mW۷ t+ؘ*?^Is^)C;*}q8]cM6C9HUݭV/kmoK3jR^Tz (_ +8Ei?+^1'TtptˣrU`lo&ص4`s(m4SB&SɝrXւM×ڄ<4z5aN[qաB'MVe44kX{Ie=e-IBJAg xtUUNxH*yGHx|#P{^,AS=iH4m(R,)GN%JJETihx0uMka/o[UЬ\phW/<IBe\@nCOCQ2ʉ c3ɋُڢ+k; .Ϲ[Ijvc '敁R2I4 a݂6UJ& ˾%F02cGMs#@O ѳd% :maJ= .8;&}!qi0x*EgLmkT/0 SXVuEY[^a)xbU/0}xWR+ 6h7AIjI]nL,=Ɯ] <+u5/m1-kwޅ*Nv+Ub_2Js#F>`Kx eK//Dho4e_v^e7wx}Dk^6F{L]t]lROP' 1Ѭx,P5 yxvE+ NbG%]/ޮ;s!ANo4oJ8HUoA,; Xn&1Rּ~LcmRY[n _K$Q\εiR!3`RJ,EubމG3:G XTn%j"IgNmST/"x8:i(CU  A`FWsF㜄(&eM 3#Z ZEið*ܞ`_[iѯ)xa;DV/6!)*3ASHr,qA3N-"Z$dXe!o(}_gϚ۹(uj2Șcy2߸r!쎩-CC~{5xz2}6dBx؟c#]`$qz Yg`UtT ;&mŮlt!TvJg[L}I?<5d Z /RFs1SĥCW0t+H{cΣspFPJ@ioUB%"#-]GTWstHMct`tδ^jr@-v*!x2a{涨$ͲoRgkg/ jFG >[lV5ԁGש6&z v@_ڊAtU s-E< Qt ј daBQHbF#q^FF0Qr>z]J)yjtHؽlNg&/x 筞Sgբ(]oC&!drO|AʬjJrCge)8K_GVm Da0D[(c8i Sm{by8.)#lg\Yi$u]%8uP(z#Yji?+UYvl X?, fɈebDϑʇ3F AR"~.%iԓ(͢FU˽ɭ%RA>P V\`3UAjp(brCǃ=Ty8쬭!Qi;'o^fVDҁF\!MbJN_RFYOmOPiH)tZEh1D|9˵_3YΉy6_K,`R/"il47bO=?SwzwV>lL|iv LY" ;!OmEמ&DkGz@NY[[+2tNt`ᔮ $u7ԓ[0r)(> .>sXCIăRZn`T}%/R:"azBPU VAHۙGirv2AG:DIC.|&3ԁ/tY35Yx_ɥIx7xuoBA| OHA覲LݝGꉀ3g$]QKzX@+P) z;q~5o7Ž^/Q~$TÅHo4R|#i,UM_vOD PMRWccS/vï*_/ԋ:6llEּ?^ԱI)Ŀ|_O&N`y&q|l~7O_4c}~(?E.'G2uDKEDNl7}5a/0s=/}:~P.VއfGx Im&D32E ]"2:gF02:ȁP0h&Y-)"4!7͞YUR-Y|RV&er}M\x>etpХ([}0qQnS>Iܚ;c4*m盦2i$2X(M Cd@2 *l1_Me3\B4ߛxD&s#Ю646 (JٰELH^jun sL "^/.Y G PUUmYK ӣ;cNM;~r@SzruZ5%iB( Q-zX ܬ:CM++W=|.G2ŖG]rHLp\̈́cfnŴnDQ1`yF&+Te.yI 0Ër4VK uy-dϸo~y6Ybn <">PAɘ9x M6Yxuwe]%΀**ca8!QCjjڡ'wZ0*ʯ~SG WkQQV U]Z\U(N*74+ֱzI?#G-|($iJ#6AD|r<`sأ(;Z[7VP֭$҅207h(_̐%.Q2?@dè6'O5}(-s)ESuWJh44}:6_r+mTJcP@|ov4Ь7C6: h7Lu(_o+ 9jcGz9}VN&~z5ri04z*0&yVŌ3*Q&iQVQ~(zOgZuExRR>%o &lBx'(߁& |]n̡u{Ǐ<(KjqǶBA@TnPe4%:Q妙dU3ׄ&$a2uh[r\8E2iHɴR4a[PGA'TAf8yKż8X> [׽1bM*~8V#g_}\mwf) Chh n+ݱ- G%Q0rC<w7 |f5~t6ة.F[;Z=B_SX)Yp Ll],mȮKqe⥷]sHشkf [ mcPuڐC_paY2aю/Sa SM!nYn!ROnwKV'hGOfYes~٧9"+=M F\Bi.]5!{Zū BX$4>hct+%t!IG+ev"" ~4OmAOޔ6^ϡ׻J+kkCPVĝ~m톥5(-^ ';p'Eq(pPȥzՙaKB][d&i*cH~*B |c bJOMHUM \}4;vqIu9ٹ۬>ּhbvcJx^v9DTR?4l:& +5譓YI׾AX҃J8 ڒ?1Vnn9܌D?4j=9BM+S[ī3~~DZݠMZ粷2b.oT@`:\V?IUnN,grl%%驌M2U[SzuD[Lh<ӟJŠz멷iuLa=+5Ϭ&OMP$75z T )ąnW-BA4ZKcCoD. -VNe2?rĎfЦ6q>w)$i*ܸf[LFHhA4Vƙ(:HG:굧Rҥ=y?jʢ]`ɛ,73Rp=ָ0Vݎ5asmA$Blߪga1psܓ$ AShFcyWwFw'{ ?gcdc/ SU -R |eΓQvіi`E%$E쏛c8b kmlZx! 镚6{Sۑ7nV#;Q7߫_ڶl]7yRCb^ PC<ҵ]IY#WLQxd'> $0.q2kDziU9-^3ʌ^mlz7iZ,&*vwuUȑS;-ҢiXMV"r2';ɲTcg֛ kaĚz#[J6y0䀸Y=4=EgUp͞cAy/_JȂ̧ϺxQ8o [txW-b#' lȣ$bSwqf3zVI Zu>dži/B:MČnq:R0VY+($M95 [pqy:HW,6t=o$6vtvБ [{#0Y`@\{sED0OȶwGN81)-.ABU1dl} O\ܴqzTtȈ%q{fĶ%.%E-*(ܜypddt >mi,Y[(>g$%~&{p}mF:J86JIlV*J% F*UdBw.+̧)0Cr㕲5KQ߹qe]+m`"s tǹO`/mh^f7Mx=$<0|$J yV%؃" 'mum[Θb2aH3s,PU7FWH(8UGsvo0Rn@JDz>':lɝw_1mOOce jCm0ir#[կщ_? X9oU)#_mؒ8rqS~f@QuvǙLnH%{Z5+Y꠵+%jZ!R8flGZL&]U84OS@aa]jL`gܔ\]BZ`huI@ 9j=P =ţl2B"JMD&YD QauӚѶT3K!a2M4 -Eڒ`A3T#-OSW6_·ZG>7XmF@Iq@He.(j̗QQ}0T![daFLZ6#ORzD\Yo]P)Qf!"XG+Gֈi;ӗ$Aɔv~4%$<UC,&'*qD ;Ѝ`#;j" ' 1=;+X+c&$;—xKX5$G3v{#}__.nPĦ#.l3VOg9 "7\rW#鮎RW#~Pd}.p>,BE76U&pHQ +p#T%xؑp2#vg Y} jXDִc5Y~c (ӕ2F20[ulz6X4̈́y+72CƨQrN'$͕?ig̈P 6r@6WB֧ rFk>[AV|c%di$)ZTjhHP-QHZ@7ƠMch5s!w H'@cPCȯD U|ҜzB!6C1бZyUhD43\n(\8 3Bq-"K~7ղjYq$t7]k0!bk*ƯoN~h6e :03a F+/K J{󾔪ƼUxP$X8T!KKFG8g(g%mz%sį; ՘XF(AJ݀A`^fa{Y6@ZeX[v;m2=V,6~OJf =j焼Z!˱ 6H +nB " hf}Z+$T g-j1^CE' b[MW/H >\̐HَZIJ#PI+z/MF6;ڨ;Hq3= mzZzg`JR%*oXZ .㐚d]ɺfϥ]C_NhM؁jzSUHm5k(($ Q#`pSpA:O4M*q8`k~H fЁOeoq7~0 CЩdЈR,4vFJWA9YOrOQe*.|JW* ^6>$bf7f!gM:;1'J<+Vr/} =CJS?ɹճ Ya&܅gb}BKKz5~qDvi_ͰĆU#b@|zM.K Y,)XCxqkB{g,w2%1cې PUB(2l%>ۛ}>s(Zfhp3N.B`"{XZ[98xO$]&07j;<{)vʧw<9 Ù^٣ <ȁW{ӈV )ydJǕ# e1"Mj 2E .'I$N nwqM'sڜ< MWw l5O~>Xw=-X؁ĕƷ 8[o+SM"iQ0"}7h$+L>e{2c^irAIb=稟6 !zYd|oyBqU rxk2bt@X.(уX8fРR9@ ¢ \#\aT_PdG$ ifq{hibyjZ8~t9lP$`A.?07T{-tzs|d6,7=4 S] .$4M%wI*Yk93XkAo*r2жTF2~`a춒L_TV"9@M C+Z. SF\ɂo]W =/dj,GT[ʼn%N}aRfTgaAsYQ' q@mTR6Ub:ICA.Av0~ Ǫ8:TAB{=\`2jίXIF[s6O^^&ܶC}thkB,5猧d hnΘm!N[9Zj@7j $"b9I{qLprVڵ-ޜ #}eCmb[mIjX7z =ϲcddtI7ӫNR cł3Q0 v&Зm~p7[H,\ :B*. bWSiD a#65 D8y 9 V;/;#0QмFW2)jo H`(ltѡN(:3p2nyQa?*N  VFF'J-R M=UHﵽNG^|~ƙJQTF`3 *~ڈo7([(Α{m l}!`͂*,k#,$$5?klMPܔ.I(lG9agd';'Ά. enjmD t*`gT֣5hi~;ODM!_;h>M@Gcﲢ>ix)+4+Bod *%V}4QZ꼃!Pib7]xȔ c_\UHVMeyF/f.Lh[#)5)۴mQRfaDbrnXC5У(3U;U>sRck~UTY^iᇾB14'9E!'JD I\L (ˤ4An y&~x#cQ֓.0n&a -;ą͑i9KhP9?n[Kql1)N0#b9y0!hWJ﬿7" GAsLY9tNw1:m*Xʷy[5ی%Ɂ9p>%ޔꉥXZy/|#yATo Gف,ouo lhϊYmdj[c^RŞ'G3UӃڑPu5di 9J&ePp G2etvG8J=_2(uBn±r uQnQVB:7e=w1DQA` )cF8DFnc>C{Z?[kkB H*H> 4]R7~>7@qHGSBHSֲ&t}~ii~-)*Õ;;k =,vJ<_[5.;3gnõQ**Ajtv cvy m|4sBjQ묚sGkGUo2ZO@Ý< &O4/%sV@o;#TdmJh-JO`W!R0q)_(2FUVycS=OrZU2puX\Y6zz}y||qqBZ|u,q Oӳ0&ʥL~?sVϾBg –z溠X*+9ڋK1[~NJ]H\9)6 (⊣I p>:wG ;_rb@DveGF~E47b1!JMQ:K7B\ F RnWeLLd+T}W> CBX!QӽsF~ M%Lb 1)`?Ð'$FaHmJX̠Z Li}ڏv0; 1FŮK|@0T"8:0 (m= nT J__=!nTEa4d'.Ns ȷ2QDzQPaJ)mDHra`_y;)y7X!.`oƆx, !k 4cnd$W+$Ex -g= !I;bG+"\>7;.l5V]~R21jgoRDW#'l뷃ݵX\C8b5ilXtcWe+5ivKC d([hTTAYBB$k8&k@ɐ V)(RL9fb̖6gz/rfV,EmrG.IBN%USLλλ@ooIGyml]IsE~-pJ4o̲,qmᡗA[̿-p=P:ll1r7* y.MkLܪ;΄ũ_wFCr MuD0QiU]n#'&]Q xgSIkh-5r-p8Nl#siS{]#َ(QRA o܄o#QgFL o/x8텓`JS4 ,Kdz3g^d1dB2J VA }}%D ~ëuknG0!MTv'#%9Mp<6oN޵@@ ԝF:ԴnLO;ֲ[Z:+%܊Is"E:x6X*'ڪej,Gfl+g2 K¸KXZ5,T0>j䲯p {+ɞm?pFJ\*%SZhԭ1Lì:Z dq](W"H#Nb4,o7VSNՈli欼0zYk6PkѭJR.IdI(tbu|oUª|n_PдYR7G'ZNP[>L$*HĀIzyrfb&u 5[^55SkZ1]R膣n{Զfy{]@0Y2ꛋHU#jT C=B1B]6r aNrV #Xaw*r ;ƾ[v;n'o3 ̽i]ϩk9!#XR5Q'zʘUuubTRg%j uwL7,*EJ yr5srehG%T/ Gq| >=c̼i]AElj@0Uf#4yXC>T情B'q0L:WHk PY?nL>ۍNZlM1ʺQy&A4jK!Hv1~):8U2zGuXSYqKj&e]4#h(se  0 Ԗlk*z4U J«`z9|BPId33E# *z$acCg`~Me2Oe!u8 wTsĚ ߵh(oҭ̋#f fiH# YxX-X] vBQ%dc)9Q jU (B@3Qօ{lwΰ1DO4WS[]i$i*^%1By*"6S0E DmʫwLA?[deV 05$Vd >ʹwC2YDJۂ&C{=yG%6b:('9ȉR4iuƨ{U#n2Mj9%2u)Nxw0 ʹ{#R FIik,Hf D&lݵN00*LݖXam;ofc@i.+~rf\e 1'k͝kuw헭bP7<șDY'{K;o8n~ }V2Z3Bp9I$!mrx?򱣙0%6?Z:%p4&mW"C^.Fg#z_>Z[nZ8,,8OدsjZoLچ~Rn9 AOW_aLj%ل3j,p~X:K[//-znhࣝzշƤ@=뛩q6^fi*g͚K7ETt >4J9T򧡫g5.۟ˤi)LG)+C@}B\%+:FTvqGGN}zIwa/>"ug&-RÜ$oȌ_Ucg@"I%/SgEsXokˌo.#FT zM pI5y7۬}?(o]åw J(WowmO~u*ot0qg 0NR_ӣ۲@`OFF sgg[?Xf%GtAO͆zpUa %wͿ$ic[CH)um8YT#3PvH c 0xnh_wtU WB(b<.ٓ+Ѩ Ny ^ :5pN3=)+s ]ϊ6l`0db]Y(ٓǤu_@yOr\֑kl(N^=N`Ju16Č7Rx;?W}t(&OݮSb!gy$Y+Z{BIsdiy#;uHo>pi ]S"SsF1Kd,GRhѩe닒r(O[W* ͘v;-5h o4Se"cщ2ĭp/qsiK x@C A3RPoph&u7 wJ+!aņNgCx:i ZX`Zwy*\ߜTNOfu\?l%<3S #i|;v)_0ؼ,LBVpl~A,'TՎ9ԉ]#ȿcFHQXF'R|w04ƤnLGnYRU+S+a*$)w74b2h=Ⱥj7!JoPpwpOa4i]b6.h#~HkzNnЦ*+I&`k_4_ Rd4A wR7ܷC ~?9‰9!Fꬼ]=Oc|#bȅ6zα+'TXj @SWY+pOh-,w06UC[?y/-$M 06aa54evk/ uA|Yg=qJ鿇4W yBNy BaޏN{VC< W$?!c E1)xܴ ydԄwQC_\q~9/_٥} ͓eq/ڞ7Mq<,u_"8qq=,_\>!qq=,_\=jzX\uk}zX\uk{ިe {_aq]:ϯKg7Q@,{l̚e pWr\$<[6/VaPiӈù"=h>rv{25TK=Bq:@CM&wX{ 7'\Kؼ|ޜ.LM %bZ~ri[8cӊ|m=X9.;FOɅDܸc#+YF|ЃkS$L߮S#˛^u7/q1r`3z<Ϛ\* &H;Dїc346/{^MR׆V3 ^C}u'OsVx%ѪFs(FhtEO/JB8'[Ƅ.VG i2$.@.Zw``}aj{W Wcu ٪UlZa5|֪g%]@QJx`&qWZ w}rMwo)(qn,X}va?*.fMԹ,A̟}s#Lfu g̋i|M8D05@Ws4S]vSKj8!ߕ*p R^ޅt':x6~OnLN[s#q*ccbP C  }e~PڎϟVU\ڍUHvˋy$7,lҜmt/ :T^FDf`>wO[*xTukՀ UVAhSL;-v xCh)=lόlj'Sőƾ^pa'餕) TKMћawR'U'c ([K6ثNеO.4u\ n!;;> 1Is# wZd_i4|ώHp"@#|Zsc@њ_zv,BFT"05eOD.>hXS1:vXPLX9]E#(T?_[וsϹ?=,xvpOѺR63SFT<2$?*Unlx 3 DVgA+;ND qXfDnt-8g.I L*Zn.۳&}uhp}厉yIggeHPDL@P^&Oj|n1u3|+AGE|+C, 423N+`?Rcvm,\_VZ>70A^=>S8fȠHmV"#RgSǎӛMODE3=QPPnڑPp<3+pVVІ1gL 2XJe/+jLG;6cgܔ f H>+-m'3RU<9&ƪ{=U={3i3̔ϾBNT8d&#گWJXj/x&U9^Z#^sLmuJ9~BfNϹaǪ|PZu%O*|oQJ+&cCJns#]FJ(HSك BkoAQ0b1NPJKf^T}cuM$ȟp6OfSTE8Tsò_fbװU\-IGXiS P?v|cS 2sq_ E&fg%xFC%j{vZutٜ,h`0W*э͚|:NE$Uy#^o_{u`"ky?&uvGsjlvC/0> ƍ%D_@xR64yfh,EF!z7'^!Ld7Iٔ8gۡzveA}~ NYL61+;QøAjmze0aNo&#yoLӑex\+ڻ--Lq.KM]%&obZkP[F}mܶB P\ CS" I<1\ٲX?1ns)fWL-51ߓz1[^XNəv^Z9D@΃sJKHܺr9*$y]3#;LU 74{r^S/*gK˫(n+/s./b9s#zΌ:`xpBnIn5U!]=ZGfVHilE1 gb{s eE&o@ ),EL~2+uۂ*[ ߬\! ?zʗmMǪJ-V>-i:U=J'ycY;P@2//;ƘZfVNB=R"7䤱Wn7VݛɁ$eIL*fuo*6{]H2iƴ69H'*Y'ӫj k̑IØ0ۓK--(<?YERl{XcvXIFl;JΌˡΨ䀌fď4R;ȕIx_xD+blr5^mzde2!U$ny/Lq0X/E 8ٱԕMμ0T}eF;1% ݩ%;8 }񸆠 80='Ϲ * & dN<+z8zIHVl1d+L:9X+_R<2C.oYpw/CXs݉=7Od]ީKd`lpTLJb6Mˊ72z[Q%gx@|2ʳX V=w"no)j'͜kfuCA(_N鞁AOCKkSR ?P^F6VZR<l-$5Ù lQ-~Z R䪣%*8ėԭVb>vU].ĉﳪ 5U]Vytɨ^3x=ř!tvը畕tzΨt\ӟHʞ*"!cAQ*M2:Jil)[[>(;0~߿]Q+'|FR\}MG*F^)WڇLǥUՖW j3$, Uk=e~l@m*CfI~ġd8)J $4 eӨg!w!Ռ"^) xh8%L"6\~qa:ʆ ?3O*CgUZa\SHnKϴ#9;$A:R(Yɾф70/ OSԛPX:`hBQX _a HG"ܦ8hNɬv%3lU%C<_0t-J>Ʈ(Y"LR"]ۓ&yn{34ea5 ㈦Cu|דٓZ`91O2H-K+%9gGixZf=.NO^lVG 9pɴ O^0]ߞŌS!y;?k: z,&P' Fȏy أ/𲏷[rMĽE&5bR[ٹ#Jg_NE+ḡ\78mNS*wz0 P WY+_P )UwDa_YLc.TF`!Fjoe9>5N7sjsƨxE{l+,;Li!`bfج'ŶNda2Lgk$/RKhHL(s! 1 ͟PW%&%GfOý٘ ,QCR#)88pnv3E cy8h04cqR K@QqX v "]C4=D'-Ұ`Zݝ0^칵It4燎K%[. ^fQjY,Ea/~~ehY=>4atạ8ԹL?[}Z? 9KbjH;\Aq>;X"qA1R2QCUdG+ ;h/&L(\V i@VNh$\Uyi"Eᘬ(͒p-d"HϚMc+Q, 8nF2~2QSІjq])Dsoǖrp1ǩ!'M$?Xdə8qcɑ!97K:*D_J~I& FxmeD(NHL۫ᵣe|%#[>8斕.+ QUǭɕW5ɍu2F%FpI\4Τ0tXe'i]R20_K!y.fYǍ|Ut#}hLS/F c\ oۓ=T̯⑹َGG;b,S_ϫ.PfAb]UȊ+ Lt 'u]ՂG ,bhYqvgX1 V 4Tp2$-t['+sT.w$ ^ZM飧^n9.yǶ_"i侖R\= 7:#,&1'?kV5aڟ[SvyQC XDgvjǠ.6JB [{`C3l**JP7ӎ7S&8rkWC e3M)lQaZ`Wz@erqHkAa7NgڎεFz ~@A$ry堄y_46sX+Gho%V/RcU'#<,h=ԻFy ?&KB%sﻦGYHbI'$&3{gM}TҘ8m[6U.cIĝ!){p;cא6A˺錤mA(Gw N`ZvrQ\5t@P 4h8f 9H6_쓠a6έ&vmʨpR*T`ߨ(k7HLa?jFWete,/Lje#37 'TZ!T\dYO7X;9qб<~D-k(dԧ+=_z:qF[>6~'Ir:tN \ MpYop5uHiNն>kTqYt5@S Etⴄ+g8oiKRT,;Xdjvq(.–J ,n^euߺJg+]*&'I1}BB % *&E<^v ).lFr*#VO >Q@iFUFVѥUYq/[ߌ'3Lpg>(rfvg5T2(̃#B/N?hř^j^-. h6*+Eqs^\GՕ)G~u9#Fr{(3y(cp%rL)5Դ!C=/θ*H7Fu&ٶLȓLP `SvtؕnPҳ6[[OWǯ)ƶ:rq.JOU)˪<ŋ7+ ZcV=5j‘8 ^A2n%@vA]n&W;Uͯ4~sOz^ jEqPOlhkaYLnVbɟl#ar__sOd8X>{D{.KIZjF4<+!YoTDG)F*cПz5SG $IZykyFIgb^Nx.Gz7 ]smsYT_,Nd-jtq\,Ě3X7&x.U&)]gh:zhJ^%鑤n'cIHC+B yTS\G ??K 4bS7 L]5Rq$lʗ@[H(ǼI?a}A-qU($9a$v 1;̇I%ЈGJqRĢqm,DAX;κZ0gJ㌼ܲDbGw{/~=d _=xe=T(2F{j{`L橊?f̚*x#9j%c NU"ZSJFmђ 6ZA^pg0J2#>=Ī=%OE(}a vx!.U9=M? e1qfby,wn%[vR[jB;.7 1 h6^Ag c0dI1*[0ihqa%as@W$P" C}@rhЫ6,H6eJCCk'T5Tꧫf8iy6o5@y$sc9E_ov?#VHKJ)s$֤SCTКrBZ/~lPNQGޘt7@`5O $s ܌#m:V}:oLZ1d] APygHifkpIÚG| !pg@+zV1%8+mޙiDR>/r-ÃXèǏ4&4%m]U]_&:h6AcQyAOFbkTRtdk*U ^|e`4T7J93ڙϱ,t4 .7S`AQV˰r3nu8X Σ{Ϯv)̣ĝKB"OEGӣGzy 5<" |p㯏x)+{i][LS:2@Hl9$U, ğn) ŧ@SrhcF((x|YBJz߯>l~X|¡ )^}_]G; MJ#|$^kOA !%k^JGc$'rS3Hmpcb%5ĪigF d6x(ڞW? d*z~jw<d^3II~z+J<>GK"@2l3#$9Hь p?.+sـ7 ۍ(ҧ*/VA&S7 r1{ /b ^oCE_$|IgA't|7+6%KZQFڟVw4*g_~-Ϥga'|AzY>]DiuM#zxy2Pڬ]0a8d|]*sT~O.yffmn(LEͯMm,@[-KV_pl X{m5f:26G;ɄA**(%"+M,ʬBիv^A w7[W^&d2\cd,,R/6ᵬV7P7ME WÈIVfUuͮ=흵|{c$d tAa~kd?\@R^ uwꞲpp:d?/+A=XNvrjBBb,2aUtD.^1Cnlee;*wc}w C[Wee2sVo|~Iy߽MQefXRhSaMGfU9r>=ӿ d*~jSBYm4w!w6546@AUȦL$P~; V%?xF.p8v1)wʙih?nzt:(~oup4 T՚d}8 ^o_ˣK~5 g,"{B+I+Ёp}}8UM^{DJٴeBP$ۋ,1#N,n4~n_o hkvomdN5!g#|2?NȮ?# 8ƿG d >*T㣖v0TM7;r15kWOii>7F&QwzR]xhĨ>PR)#)gۨWY"&eQ#E8<<5gYPy …־?{r}"ex %T"D5>츊2XŅӂL3٩̓jގed l)g|P.S^'քhk޿dJ*m d[GI(}R]^ TDf5UylC פ1MP !ڹicEOj 6T KDŽ4cy: f%#` 09;5OӮ` ӽr2`uTrSa.~_\ʄ5I fb"-HȷjЧy'rd[75\L5GSϷ}! E!iqޡ!mʡ FeJbD\k> -^oqo2t(:jTA[_БWFߴczX[oHWQ<ݩ9 U{*ܫ7`/e:tAƒ$A;s}MF*ڏm43A{gMF6Q*xp.VICX7t[Ўbވ \8&dpUpXjoŴmn_lҾhAE&|{ %>#{-1ԓx Ş `mTs`{-ʍ|oDqPGbB>793XEFB|RдWx߆w:g97@;Y'SշN .m\Q7AUM.uf625ȟm ?WMv+Bayhsdhk=B4onXUY̺ Ye8Te2 pIƒ{j^5&GZ542gVAFۯCS2`0qW.v#Sf!r)W6ٜyB]yY}_mi"%,5RgQ 5ܹ]]Т. pcl-cvs A directory that contains GNU Emacs lisp code which implements a CVS-mode for emacs. Contributed by Per Cederqvist . commit_prep.pl A perl script, to be combined with log_accum.pl, to log_accum.pl provide for a way to combine the individual log messages of a multi-directory "commit" into a single log message, and mail the result somewhere. Also does other checks for $Id and that you are committing the correct revision of the file. Read the comments carefully. Contributed by David Hampton . mfpipe.pl Another perl script for logging. Allows you to pipe the log message to a file and/or send mail to some alias. Contributed by John Clyne . rcs-to-cvs Script to import sources that may have been under RCS control already. Contributed by Per Cederqvist . cvscheck Identifies files added, changed, or removed in a cvscheck.man checked out CVS tree; also notices unknown files. Contributed by Lowell Skoog cvshelp.man An introductory manual page written by Lowell Skoog . It is most likely out-of-date relative to CVS 1.3, but still may be useful. dirfns A shar file which contains some code that might help your system support opendir/readdir/closedir, if it does not already. Copied from the C-News distribution. rcslock.pl A perl script that can be added to your commitinfo file that tries to determine if your RCS file is currently locked by someone else, as might be the case for a binary file. Contributed by John Rouillard . cvs_acls.pl A perl script that implements Access Control Lists by using the "commitinfo" hook provided with the "cvs commit" command. Contributed by David G. Grubbs . descend A shell script that can be used to recursively descend.man descend through a directory. In CVS 1.2, this was very useful, since many of the commands were not recursive. In CVS 1.3 (and later), however, most of the commands are recursive. However, this may still come in handy. Contributed by Lowell Skoog cln_hist.pl A perl script to compress your $CVSROOT/CVSROOT/history file, as it can grow quite large after extended use. Contributed by David G. Grubbs usr/doc/cvs-1.3/contrib/cln_hist.pl100755 2122 1750 3675 5171202657 16253 0ustar steinberert#!/usr/bin/perl -- # -*-Perl-*- # # cln_hist.pl,v 1.1 1992/04/10 03:04:15 berliner Exp # Contributed by David G. Grubbs # # Clean up the history file. 10 Record types: MAR OFT WUCG # # WUCG records are thrown out. # MAR records are retained. # T records: retain only last tag with same combined tag/module. # # Two passes: Walk through the first time and remember the # 1. Last Tag record with same "tag" and "module" names. # 2. Last O record with unique user/module/directory, unless followed # by a matching F record. # $r = $ENV{"CVSROOT"}; $c = "$r/CVSROOT"; $h = "$c/history"; eval "print STDERR \$die='Unknown parameter $1\n' if !defined \$$1; \$$1=\$';" while ($ARGV[0] =~ /^(\w+)=/ && shift(@ARGV)); exit 255 if $die; # process any variable=value switches %tags = (); %outs = (); # # Move history file to safe place and re-initialize a new one. # rename($h, "$h.bak"); open(XX, ">$h"); close(XX); # # Pass1 -- remember last tag and checkout. # open(HIST, "$h.bak"); while () { next if /^[MARWUCG]/; # Save whole line keyed by tag|module if (/^T/) { @tmp = split(/\|/, $_); $tags{$tmp[4] . '|' . $tmp[5]} = $_; } # Save whole line if (/^[OF]/) { @tmp = split(/\|/, $_); $outs{$tmp[1] . '|' . $tmp[2] . '|' . $tmp[5]} = $_; } } # # Pass2 -- print out what we want to save. # open(SAVE, ">$h.work"); open(HIST, "$h.bak"); while () { next if /^[FWUCG]/; # If whole line matches saved (i.e. "last") one, print it. if (/^T/) { @tmp = split(/\|/, $_); next if $tags{$tmp[4] . '|' . $tmp[5]} ne $_; } # Save whole line if (/^O/) { @tmp = split(/\|/, $_); next if $outs{$tmp[1] . '|' . $tmp[2] . '|' . $tmp[5]} ne $_; } print SAVE $_; } # # Put back the saved stuff # system "cat $h >> $h.work"; if (-s $h) { rename ($h, "$h.interim"); print "history.interim has non-zero size.\n"; } else { unlink($h); } rename ("$h.work", $h); exit(0); usr/doc/cvs-1.3/contrib/commit_prep.pl100644 2122 1750 10436 5171362560 16774 0ustar steinberert#!/usr/local/bin/perl -w # # # Perl filter to handle pre-commit checking of files. This program # records the last directory where commits will be taking place for # use by the log_accumulate script. For new file, it forcing the # existence of a RCS "Id" keyword in the first ten lines of the file. # For existing files, it checks version number in the "Id" line to # prevent losing changes because an old version of a file was copied # into the direcory. # # Possible future enhancements: # # # Check for cruft left by unresolved conflicts. Search for # "^<<<<<<<$", "^-------$", and "^>>>>>>>$". # # Look for a copyright and automagically update it to the # current year. # # Contributed by David Hampton # ############################################################ # # Configurable options # ############################################################ # # Check each file (except dot files) for an RCS "Id" keyword. # $check_id = 1; # # Record the directory for later use by the log_accumulate stript. # $record_directory = 1; ############################################################ # # Constants # ############################################################ $LAST_FILE = "/tmp/#cvs.lastdir"; $ENTRIES = "CVS/Entries"; $NoId = " %s - Does not contain a line with the keyword \"Id:\". Please see the template files for an example.\n"; # Protect string from substitution by RCS. $NoName = " %s - The ID line should contain only \"\$\I\d\:\ \$\" for a newly created file.\n"; $BadName = " %s - The file name '%s' in the ID line does not match the actual filename.\n"; $BadVersion = " %s - How dare you!! You replaced your copy of the file '%s', which was based upon version %s, with an %s version based upon %s. Please move your '%s' out of the way, perform an update to get the current version, and them merge your changes into that file.\n"; ############################################################ # # Subroutines # ############################################################ sub write_line { local($filename, $line) = @_; open(FILE, ">$filename") || die("Cannot open $filename, stopped"); print(FILE $line, "\n"); close(FILE); } sub check_version { local($i, $id, $rname, $version); local($filename, $cvsversion) = @_; open(FILE, $filename) || die("Cannot open $filename, stopped"); for ($i = 1; $i < 10; $i++) { $pos = -1; last if eof(FILE); $line = ; $pos = index($line, "Id: "); last if ($pos >= 0); } if ($pos == -1) { printf($NoId, $filename); return(1); } ($id, $rname, $version) = split(' ', substr($line, $pos)); if ($cvsversion{$filename} == 0) { if ($rname ne "\$") { printf($NoName, $filename); return(1); } return(0); } if ($rname ne "$filename,v") { printf($BadName, $filename, substr($rname, 0, length($rname)-2)); return(1); } if ($cvsversion{$filename} < $version) { printf($BadVersion, $filename, $filename, $cvsversion{$filename}, "newer", $version, $filename); return(1); } if ($cvsversion{$filename} > $version) { printf($BadVersion, $filename, $filename, $cvsversion{$filename}, "older", $version, $filename); return(1); } return(0); } ############################################################# # # Main Body # ############################################################ $id = getpgrp(); #print("ARGV - ", join(":", @ARGV), "\n"); #print("id - ", id, "\n"); # # Suck in the Entries file # open(ENTRIES, $ENTRIES) || die("Cannot open $ENTRIES.\n"); while () { local($filename, $version) = split('/', substr($_, 1)); $cvsversion{$filename} = $version; } # # Now check each file name passed in, except for dot files. Dot files # are considered to be administrative files by this script. # if ($check_id != 0) { $failed = 0; $directory = $ARGV[0]; shift @ARGV; foreach $arg (@ARGV) { next if (index($arg, ".") == 0); $failed += &check_version($arg); } if ($failed) { print "\n"; exit(1); } } # # Record this directory as the last one checked. This will be used # by the log_accumulate script to determine when it is processing # the final directory of a multi-directory commit. # if ($record_directory != 0) { &write_line("$LAST_FILE.$id", $directory); } exit(0); usr/doc/cvs-1.3/contrib/cvs_acls.pl100755 2122 1750 12263 5171606524 16257 0ustar steinberert#!/usr/bin/perl -- # -*-Perl-*- # # cvs_acls.pl,v 1.2 1992/04/11 16:01:24 berliner Exp # # Access control lists for CVS. dgg@ksr.com (David G. Grubbs) # # CVS "commitinfo" for matching repository names, running the program it finds # on the same line. More information is available in the CVS man pages. # # ==== INSTALLATION: # # To use this program as I intended, do the following four things: # # 0. Install PERL. :-) # # 1. Put one line, as the *only* non-comment line, in your commitinfo file: # # DEFAULT /usr/local/bin/cvs_acls # # 2. Install this file as /usr/local/bin/cvs_acls and make it executable. # # 3. Create a file named $CVSROOT/CVSROOT/avail. # # ==== FORMAT OF THE avail FILE: # # The avail file determines whether you may commit files. It contains lines # read from top to bottom, keeping track of a single "bit". The "bit" # defaults to "on". It can be turned "off" by "unavail" lines and "on" by # "avail" lines. ==> Last one counts. # # Any line not beginning with "avail" or "unavail" is ignored. # # Lines beginning with "avail" or "unavail" are assumed to be '|'-separated # triples: (All spaces and tabs are ignored in a line.) # # {avail.*,unavail.*} [| user,user,... [| repos,repos,...]] # # 1. String starting with "avail" or "unavail". # 2. Optional, comma-separated list of usernames. # 3. Optional, comma-separated list of repository pathnames. # These are pathnames relative to $CVSROOT. They can be directories or # filenames. A directory name allows access to all files and # directories below it. # # Example: (Text from the ';;' rightward may not appear in the file.) # # unavail ;; Make whole repository unavailable. # avail|dgg ;; Except for user "dgg". # avail|fred, john|bin/ls ;; Except when "fred" or "john" commit to # ;; the module whose repository is "bin/ls" # # PROGRAM LOGIC: # # CVS passes to @ARGV an absolute directory pathname (the repository # appended to your $CVSROOT variable), followed by a list of filenames # within that directory. # # We walk through the avail file looking for a line that matches both # the username and repository. # # A username match is simply the user's name appearing in the second # column of the avail line in a space-or-comma separate list. # # A repository match is either: # - One element of the third column matches $ARGV[0], or some # parent directory of $ARGV[0]. # - Otherwise *all* file arguments ($ARGV[1..$#ARGV]) must be # in the file list in one avail line. # - In other words, using directory names in the third column of # the avail file allows committing of any file (or group of # files in a single commit) in the tree below that directory. # - If individual file names are used in the third column of # the avail file, then files must be committed individually or # all files specified in a single commit must all appear in # third column of a single avail line. # $debug = 0; $cvsroot = $ENV{'CVSROOT'}; $availfile = $cvsroot . "/CVSROOT/avail"; $myname = $ENV{"USER"} if !($myname = $ENV{"LOGNAME"}); eval "print STDERR \$die='Unknown parameter $1\n' if !defined \$$1; \$$1=\$';" while ($ARGV[0] =~ /^(\w+)=/ && shift(@ARGV)); exit 255 if $die; # process any variable=value switches die "Must set CVSROOT\n" if !$cvsroot; ($repos = shift) =~ s:^$cvsroot/::; grep($_ = $repos . '/' . $_, @ARGV); print "$$ Repos: $repos\n","$$ ==== ",join("\n$$ ==== ",@ARGV),"\n" if $debug; $exit_val = 0; # Good Exit value $universal_off = 0; open (AVAIL, $availfile) || exit(0); # It is ok for avail file not to exist while () { chop; next if /^\s*\#/; next if /^\s*$/; ($flagstr, $u, $m) = split(/[\s,]*\|[\s,]*/, $_); # Skip anything not starting with "avail" or "unavail" and complain. (print "Bad avail line: $_\n"), next if ($flagstr !~ /^avail/ && $flagstr !~ /^unavail/); # Set which bit we are playing with. ('0' is OK == Available). $flag = (($& eq "avail") ? 0 : 1); # If we find a "universal off" flag (i.e. a simple "unavail") remember it $universal_off = 1 if ($flag && !$u && !$m); # $myname considered "in user list" if actually in list or is NULL $in_user = (!$u || grep ($_ eq $myname, split(/[\s,]+/,$u))); print "$$ \$myname($myname) in user list: $_\n" if $debug && $in_user; # Module matches if it is a NULL module list in the avail line. If module # list is not null, we check every argument combination. if (!($in_repo = !$m)) { @tmp = split(/[\s,]+/,$m); for $j (@tmp) { # If the repos from avail is a parent(or equal) dir of $repos, OK $in_repo = 1, last if ($repos eq $j || $repos =~ /^$j\//); } if (!$in_repo) { $in_repo = 1; for $j (@ARGV) { last if !($in_repo = grep ($_ eq $j, @tmp)); } } } print "$$ \$repos($repos) in repository list: $_\n" if $debug && $in_repo; $exit_val = $flag if ($in_user && $in_repo); print "$$ ==== \$exit_val = $exit_val\n$$ ==== \$flag = $flag\n" if $debug; } close(AVAIL); print "$$ ==== \$exit_val = $exit_val\n" if $debug; print "**** Access denied: Insufficient Karma ($myname|$repos)\n" if $exit_val; print "**** Access allowed: Personal Karma exceeds Environmental Karma.\n" if $universal_off && !$exit_val; exit($exit_val); usr/doc/cvs-1.3/contrib/cvscheck100755 2122 1750 4412 5171202663 15612 0ustar steinberert#! /bin/sh # cvscheck,v 1.2 1992/04/10 03:04:19 berliner Exp # # cvscheck - identify files added, changed, or removed # in CVS working directory # # Contributed by Lowell Skoog # # This program should be run in a working directory that has been # checked out using CVS. It identifies files that have been added, # changed, or removed in the working directory, but not "cvs # committed". It also determines whether the files have been "cvs # added" or "cvs removed". For directories, it is only practical to # determine whether they have been added. name=cvscheck changes=0 # If we can't run CVS commands in this directory cvs status . > /dev/null 2>&1 if [ $? != 0 ] ; then # Bail out echo "$name: there is no version here; bailing out" 1>&2 exit 1 fi # Identify files added to working directory for file in .* * ; do # Skip '.' and '..' if [ $file = '.' -o $file = '..' ] ; then continue fi # If a regular file if [ -f $file ] ; then if cvs status $file | grep -s '^From:[ ]*New file' ; then echo "file added: $file - not CVS committed" changes=`expr $changes + 1` elif cvs status $file | grep -s '^From:[ ]*no entry for' ; then echo "file added: $file - not CVS added, not CVS committed" changes=`expr $changes + 1` fi # Else if a directory elif [ -d $file -a $file != CVS.adm ] ; then # Move into it cd $file # If CVS commands don't work inside cvs status . > /dev/null 2>&1 if [ $? != 0 ] ; then echo "directory added: $file - not CVS added" changes=`expr $changes + 1` fi # Move back up cd .. fi done # Identify changed files changedfiles=`cvs diff | egrep '^diff' | awk '{print $3}'` for file in $changedfiles ; do echo "file changed: $file - not CVS committed" changes=`expr $changes + 1` done # Identify files removed from working directory removedfiles=`cvs status | egrep '^File:[ ]*no file' | awk '{print $4}'` # Determine whether each file has been cvs removed for file in $removedfiles ; do if cvs status $file | grep -s '^From:[ ]*-' ; then echo "file removed: $file - not CVS committed" else echo "file removed: $file - not CVS removed, not CVS committed" fi changes=`expr $changes + 1` done exit $changes usr/doc/cvs-1.3/contrib/cvscheck.man100644 2122 1750 2645 5171202664 16370 0ustar steinberert.\" cvscheck.man,v 1.1 1992/04/10 03:04:20 berliner Exp .\" Contributed by Lowell Skoog .TH CVSCHECK LOCAL "4 March 1991" FLUKE .SH NAME cvscheck \- identify files added, changed, or removed in a CVS working directory .SH SYNOPSIS .B cvscheck .SH DESCRIPTION This command is a housekeeping aid. It should be run in a working directory that has been checked out using CVS. It identifies files that have been added, changed, or removed in the working directory, but not CVS .BR commit ted. It also determines whether the files have been CVS .BR add ed or CVS .BR remove d. For directories, this command determines only whether they have been .BR add ed. It operates in the current directory only. .LP This command provides information that is available using CVS .B status and CVS .BR diff . The advantage of .B cvscheck is that its output is very concise. It saves you the strain (and potential error) of interpreting the output of CVS .B status and .BR diff . .LP See .BR cvs (local) or .BR cvshelp (local) for instructions on how to add or remove a file or directory in a CVS-controlled package. .SH DIAGNOSTICS The exit status is 0 if no files have been added, changed, or removed from the current directory. Otherwise, the command returns a count of the adds, changes, and deletes. .SH SEE ALSO .BR cvs (local), .BR cvshelp (local) .SH AUTHOR Lowell Skoog .br Software Technology Group .br Technical Computing usr/doc/cvs-1.3/contrib/cvshelp.man100644 2122 1750 33352 5171202665 16263 0ustar steinberert.\" cvshelp.man,v 1.1 1992/04/10 03:04:21 berliner Exp .\" Contributed by Lowell Skoog .\" Full space in nroff; half space in troff .de SP .if n .sp .if t .sp .5 .. .\" Start a command example .de XS .SP .in +.5i .ft B .nf .. .\" End a command example .de XE .fi .ft P .in -.5i .SP .. .TH CVSHELP LOCAL "17 March 1991" FLUKE .SH NAME cvshelp \- advice on using the Concurrent Versions System .SH DESCRIPTION This man page is based on experience using CVS. It is bound to change as we gain more experience. If you come up with better advice than is found here, contact the Software Technology Group and we will add it to this page. .SS "Getting Started" Use the following steps to prepare to use CVS: .TP \(bu Take a look at the CVS manual page to see what it can do for you, and if it fits your environment (or can possibly be made to fit your environment). .XS man cvs .XE If things look good, continue on... .TP \(bu Setup the master source repository. Choose a directory with ample disk space available for source files. This is where the RCS `,v' files will be stored. Say you choose .B /src/master as the root of your source repository. Make the .SB CVSROOT.adm directory in the root of the source repository: .XS mkdir /src/master/CVSROOT.adm .XE .TP \(bu Populate this directory with the .I loginfo and .I modules files from the .B "/usr/doc/local/cvs" directory. Edit these files to reflect your local source repository environment \- they may be quite small initially, but will grow as sources are added to your source repository. Turn these files into RCS controlled files: .XS cd /src/master/CVSROOT.adm ci \-m'Initial loginfo file' loginfo ci \-m'Initial modules file' modules .XE .TP \(bu Run the command: .XS mkmodules /src/master/CVSROOT.adm .XE This will build the .BR ndbm (3) file for the modules database. .TP \(bu Remember to edit the .I modules file manually when sources are checked in with .B checkin or CVS .BR add . A copy of the .I modules file for editing can be retrieved with the command: .XS cvs checkout CVSROOT.adm .XE .TP \(bu Have all users of the CVS system set the .SM CVSROOT environment variable appropriately to reflect the placement of your source repository. If the above example is used, the following commands can be placed in a .I .login or .I .profile file: .XS setenv CVSROOT /src/master .XE for csh users, and .XS CVSROOT=/src/master; export CVSROOT .XE for sh users. .SS "Placing Locally Written Sources Under CVS Control" Say you want to place the `whizbang' sources under CVS control. Say further that the sources have never been under revision control before. .TP \(bu Move the source hierarchy (lock, stock, and barrel) into the master source repository: .XS mv ~/whizbang $CVSROOT .XE .TP \(bu Clean out unwanted object files: .XS cd $CVSROOT/whizbang make clean .XE .TP \(bu Turn every file in the hierarchy into an RCS controlled file: .XS descend \-f 'ci \-t/dev/null \-m"Placed under CVS control" \-nV\fR\fIx\fR\fB_\fR\fIy\fR\fB *' .XE In this example, the initial release tag is \fBV\fIx\fB_\fIy\fR, representing version \fIx\fR.\fIy\fR. .LP You can use CVS on sources that are already under RCS control. The following example shows how. In this example, the source package is called `skunkworks'. .TP \(bu Move the source hierarchy into the master source repository: .XS mv ~/skunkworks $CVSROOT .XE .TP \(bu Clean out unwanted object files: .XS cd $CVSROOT/skunkworks make clean .XE .TP \(bu Clean out unwanted working files, leaving only the RCS `,v' files: .XS descend \-r rcsclean .XE Note: If any working files have been checked out and changed, .B rcsclean will fail. Check in the modified working files and run the command again. .TP \(bu Get rid of .SB RCS subdirectories. CVS does not use them. .XS descend \-r \-f 'mv RCS/*,v .' descend \-r \-f 'rmdir RCS' .XE .TP \(bu Delete any unwanted files that remain in the source hierarchy. Then make sure all files are under RCS control: .XS descend \-f 'ci \-t/dev/null \-m"Placed under CVS control" \-n\fR\fItag\fR\fB *' .XE .I tag is the latest symbolic revision tag that you applied to your package (if any). Note: This command will probably generate lots of error messages (for directories and existing RCS files) that you can ignore. .SS "Placing a Third-Party Source Distribution Under CVS Control" The .B checkin command checks third-party sources into CVS. The difference between third-party sources and locally written sources is that third-party sources must be checked into a separate branch (called the .IR "vendor branch" ) of the RCS tree. This makes it possible to merge local changes to the sources with later releases from the vendor. .TP \(bu Save the original distribution kit somewhere. For example, if the master source repository is .B /src/master the distribution kit could be saved in .BR /src/dist . Organize the distribution directory so that each release is clearly identifiable. .TP \(bu Unpack the package in a scratch directory, for example .BR ~/scratch . .TP \(bu Create a repository for the package. In this example, the package is called `Bugs-R-Us 4.3'. .XS mkdir $CVSROOT/bugs .XE .TP \(bu Check in the unpacked files: .XS cd ~/scratch checkin \-m 'Bugs-R-Us 4.3 distribution' bugs VENDOR V4_3 .XE There is nothing magic about the tag `VENDOR', which is applied to the vendor branch. You can use whatever tag you want. `VENDOR' is a useful convention. .TP \(bu Never modify vendor files before checking them in. Check in the files .I exactly as you unpacked them. If you check in locally modified files, future vendor releases may wipe out your local changes. .SS "Working With CVS-Controlled Sources" To use or edit the sources, you must check out a private copy. For the following examples, the master files are assumed to reside in .BR "$CVSROOT/behemoth" . The working directory is .BR "~/work" . See .BR cvs (local) for more details on the commands mentioned below. .TP .I "To Check Out Working Files Use CVS .BR checkout : .XS cd ~/work cvs checkout behemoth .XE There is nothing magic about the working directory. CVS will check out sources anywhere you like. Once you have a working copy of the sources, you can compile or edit them as desired. .TP .I "To Display Changes You Have Made" Use CVS .BR diff to display detailed changes, equivalent to .BR rcsdiff (local). You can also use .BR cvscheck (local) to list files added, changed, and removed in the directory, but not yet .BR commit ted. You must be in a directory containing working files. .TP .I "To Display Revision Information" Use CVS .BR log , which is equivalent to .BR rlog (local). You must be in a directory containing working files. .TP .I "To Update Working Files" Use CVS .BR update in a directory containing working files. This command brings your working files up to date with changes checked into the master repository since you last checked out or updated your files. .TP .I "To Check In Your Changes" Use CVS .BR commit in a directory containing working files. This command checks your changes into the master repository. You can specify files by name or use .XS cvs commit \-a .XE to .B commit all the files you have changed. .TP .I "To Add a File" Add the file to the working directory. Use CVS .B add to mark the file as added. Use CVS .B commit to add the file to the master repository. .TP .I "To Remove a File" Remove the file from the working directory. Use CVS .B remove to mark the file as removed. Use CVS .B commit to move the file from its current location in the master repository to the CVS .IR Attic directory. .TP .I "To Add a Directory" Add the directory to the working directory. Use CVS .B add to add the directory to the master repository. .TP .I "To Remove a Directory" .br You shouldn't remove directories under CVS. You should instead remove their contents and then prune them (using the .B \-f and .B \-p options) when you .B checkout or .B update your working files. .TP .I "To Tag a Release" Use CVS .B tag to apply a symbolic tag to the latest revision of each file in the master repository. For example: .XS cvs tag V2_1 behemoth .XE .TP .I "To Retrieve an Exact Copy of a Previous Release" During a CVS .B checkout or .BR update , use the .B \-r option to retrieve revisions associated with a symbolic tag. Use the .B \-f option to ignore all RCS files that do not contain the tag. Use the .B \-p option to prune directories that wind up empty because none of their files matched the tag. Example: .XS cd ~/work cvs checkout \-r V2_1 \-f \-p behemoth .XE .SS "Logging Changes" It is a good idea to keep a change log together with the sources. As a minimum, the change log should name and describe each tagged release. The change log should also be under CVS control and should be tagged along with the sources. .LP .BR cvslog (local) can help. This command logs changes reported during CVS .B commit operations. It automatically updates a change log file in your working directory. When you are finished making changes, you (optionally) edit the change log file and then commit it to the master repository. .LP Note: You must edit the change log to describe a new release and .B commit it to the master repository .I before .BR tag ging the release using CVS. Otherwise, the release description will not be included in the tagged package. .LP See .BR cvslog (local) for more information. .SS "Merging a Subsequent Third-Party Distribution" The initial steps in this process are identical to placing a third-party distribution under CVS for the first time: save the distribution kit and unpack the package in a scratch directory. From that point the steps diverge. The following example considers release 5.0 of the Bugs-R-Us package. .TP \(bu Check in the sources after unpacking them: .XS cd ~/scratch checkin \-m 'Bugs-R-Us 5.0 distribution' bugs VENDOR V5_0 \\ | tee ~/WARNINGS .XE It is important to save the output of .B checkin in a file because it lists the sources that have been locally modified. It is best to save the file in a different directory (for example, your home directory). Otherwise, .B checkin will try to check it into the master repository. .TP \(bu In your usual working directory, check out a fresh copy of the distribution that you just checked in. .XS cd ~/work cvs checkout \-r VENDOR bugs .XE The .B checkout command shown above retrieves the latest revision on the vendor branch. .TP \(bu See the `WARNINGS' file for a list of all locally modified sources. For each locally modified source, look at the differences between the new distribution and the latest local revision: .XS cvs diff \-r \fR\fILocalRev file\fR\fB .XE In this command, .I LocalRev is the latest numeric or symbolic revision on the RCS trunk of .IR file . You can use CVS .B log to get the revision history. .TP \(bu If your local modifications to a file have been incorporated into the vendor's distribution, then you should reset the default RCS branch for that file to the vendor branch. CVS doesn't provide a mechanism to do this. You have to do it by hand in the master repository: .XS rcs \-bVENDOR \fR\fIfile\fR\fB,v .XE .TP \(bu If your local modifications need to be merged with the new distribution, use CVS .B join to do it: .XS cvs join \-r VENDOR \fR\fIfile\fR\fB .XE The resulting file will be placed in your working directory. Edit it to resolve any overlaps. .TP \(bu Test the merged package. .TP \(bu Commit all modified files to the repository: .XS cvs commit \-a .XE .TP \(bu Tag the repository with a new local tag. .SS "Applying Patches to Third-Party Sources" Patches are handled in a manner very similar to complete third-party distributions. This example considers patches applied to Bugs-R-Us release 5.0. .TP \(bu Save the patch files together with the distribution kit to which they apply. The patch file names should clearly indicate the patch level. .TP \(bu In a scratch directory, check out the last `clean' vendor copy \- the highest revision on the vendor branch with .IR "no local changes" : .XS cd ~/scratch cvs checkout \-r VENDOR bugs .XE .TP \(bu Use .BR patch (local) to apply the patches. You should now have an image of the vendor's software just as though you had received a complete, new release. .TP \(bu Proceed with the steps described for merging a subsequent third-party distribution. .TP \(bu Note: When you get to the step that requires you to check out the new distribution after you have checked it into the vendor branch, you should move to a different directory. Do not attempt to .B checkout files in the directory in which you applied the patches. If you do, CVS will try to merge the changes that you made during patching with the version being checked out and things will get very confusing. Instead, go to a different directory (like your working directory) and check out the files there. .SS "Advice to Third-Party Source Hackers" As you can see from the preceding sections, merging local changes into third-party distributions remains difficult, and probably always will. This fact suggests some guidelines: .TP \(bu Minimize local changes. .I Never make stylistic changes. Change makefiles only as much as needed for installation. Avoid overhauling anything. Pray that the vendor does the same. .TP \(bu Avoid renaming files or moving them around. .TP \(bu Put independent, locally written files like help documents, local tools, or man pages in a sub-directory called `local-additions'. Locally written files that are linked into an existing executable should be added right in with the vendor's sources (not in a `local-additions' directory). If, in the future, the vendor distributes something equivalent to your locally written files you can CVS .B remove the files from the `local-additions' directory at that time. .SH SEE ALSO .BR cvs (local), .BR checkin (local), .BR cvslog (local), .BR cvscheck (local) .SH AUTHOR Lowell Skoog .br Software Technology Group .br Technical Computing usr/doc/cvs-1.3/contrib/descend100755 2122 1750 5025 5166765654 15451 0ustar steinberert#! /bin/sh # descend,v 1.1 1992/04/03 05:22:52 berliner Exp # # descend - walk down a directory tree and execute a command at each node fullname=$0 name=descend usage="Usage: $name [-afqrv] command [directory ...]\n \040\040-a\040\040All: descend into directories starting with '.'\n \040\040-f\040\040Force: ignore errors during descent\n \040\040-q\040\040Quiet: don't print directory names\n \040\040-r\040\040Restricted: don't descend into RCS, CVS.adm, SCCS directories\n \040\040-v\040\040Verbose: print command before executing it" # Scan for options while getopts afqrv option; do case $option in a) alldirs=$option options=$options" "-$option ;; f) force=$option options=$options" "-$option ;; q) verbose= quiet=$option options=$options" "-$option ;; r) restricted=$option options=$options" "-$option ;; v) verbose=$option quiet= options=$options" "-$option ;; \?) /usr/5bin/echo $usage 1>&2 exit 1 ;; esac done shift `expr $OPTIND - 1` # Get command to execute if [ $# -lt 1 ] ; then /usr/5bin/echo $usage 1>&2 exit 1 else command=$1 shift fi # If no directory specified, use '.' if [ $# -lt 1 ] ; then default_dir=. fi # For each directory specified for dir in $default_dir "$@" ; do # Spawn sub-shell so we return to starting directory afterward (cd $dir # Execute specified command if [ -z "$quiet" ] ; then echo In directory `hostname`:`pwd` fi if [ -n "$verbose" ] ; then echo $command fi eval "$command" || if [ -z "$force" ] ; then exit 1; fi # Collect dot file names if necessary if [ -n "$alldirs" ] ; then dotfiles=.* else dotfiles= fi # For each file in current directory for file in $dotfiles * ; do # Skip '.' and '..' if [ "$file" = "." -o "$file" = ".." ] ; then continue fi # If a directory but not a symbolic link if [ -d "$file" -a ! -h "$file" ] ; then # If not skipping this type of directory if [ \( "$file" != "RCS" -a \ "$file" != "SCCS" -a \ "$file" != "CVS" -a \ "$file" != "CVS.adm" \) \ -o -z "$restricted" ] ; then # Recursively descend into it $fullname $options "$command" "$file" \ || if [ -z "$force" ] ; then exit 1; fi fi # Else if a directory AND a symbolic link elif [ -d "$file" -a -h "$file" ] ; then if [ -z "$quiet" ] ; then echo In directory `hostname`:`pwd`/$file: symbolic link: skipping fi fi done ) || if [ -z "$force" ] ; then exit 1; fi done usr/doc/cvs-1.3/contrib/descend.man100644 2122 1750 4706 5166765655 16226 0ustar steinberert.\" descend.man,v 1.1 1992/04/03 05:22:53 berliner Exp .TH DESCEND 1 "31 March 1992" .SH NAME descend \- walk directory tree and execute a command at each node .SH SYNOPSIS .B descend [ .B \-afqrv ] .I command [ .I directory \&.\|.\|. ] .SH DESCRIPTION .B descend walks down a directory tree and executes a command at each node. It is not as versatile as .BR find (1), but it has a simpler syntax. If no .I directory is specified, .B descend starts at the current one. .LP Unlike .BR find , .B descend can be told to skip the special directories associated with RCS, CVS, and SCCS. This makes .B descend especially handy for use with these packages. It can be used with other commands too, of course. .LP .B descend is a poor man's way to make any command recursive. Note: .B descend does not follow symbolic links to directories unless they are specified on the command line. .SH OPTIONS .TP 15 .B \-a .I All. Descend into directories that begin with '.'. .TP .B \-f .I Force. Ignore errors during descent. Normally, .B descend quits when an error occurs. .TP .B \-q .I Quiet. Suppress the message `In directory .IR directory ' that is normally printed during the descent. .TP .B \-r .I Restricted. Don't descend into the special directories .SB RCS, .SB CVS, .SB CVS.adm, and .SB SCCS. .TP .B \-v .I Verbose. Print .I command before executing it. .SH EXAMPLES .TP 15 .B "descend ls" Cheap substitute for `ls -R'. .TP 15 .B "descend -f 'rm *' tree" Strip `tree' of its leaves. This command descends the `tree' directory, removing all regular files. Since .BR rm (1) does not remove directories, this command leaves the directory structure of `tree' intact, but denuded. The .B \-f option is required to keep .B descend from quitting. You could use `rm \-f' instead. .TP .B "descend -r 'co RCS/*'" /project/src/ Check out every RCS file under the directory .BR "/project/src" . .TP .B "descend -r 'cvs diff'" Perform CVS `diff' operation on every directory below (and including) the current one. .SH DIAGNOSTICS Returns 1 if errors occur (and the .B \-f option is not used). Otherwise returns 0. .SH SEE ALSO .BR find (1), .BR rcsintro (1), .BR cvs (1), .BR sccs (1) .SH AUTHOR Lowell Skoog .br Software Technology Group .br John Fluke Mfg. Co., Inc. .SH BUGS Shell metacharacters in .I command may have bizarre effects. In particular, compound commands (containing ';', '[', and ']' characters) will not work. It is best to enclose complicated commands in single quotes \(aa\ \(aa. usr/doc/cvs-1.3/contrib/dirfns100644 2122 1750 26206 5161053444 15330 0ustar steinberertecho 'directory.3': sed 's/^X//' >'directory.3' <<'!' X.TH DIRECTORY 3 imported X.DA 9 Oct 1985 X.SH NAME Xopendir, readdir, telldir, seekdir, rewinddir, closedir \- high-level directory operations X.SH SYNOPSIS X.B #include X.br X.B #include X.PP X.SM X.B DIR X.B *opendir(filename) X.br X.B char *filename; X.PP X.SM X.B struct direct X.B *readdir(dirp) X.br X.B DIR *dirp; X.PP X.SM X.B long X.B telldir(dirp) X.br X.B DIR *dirp; X.PP X.SM X.B seekdir(dirp, loc) X.br X.B DIR *dirp; X.br X.B long loc; X.PP X.SM X.B rewinddir(dirp) X.br X.B DIR *dirp; X.PP X.SM X.B closedir(dirp) X.br X.B DIR *dirp; X.SH DESCRIPTION XThis library provides high-level primitives for directory scanning, Xsimilar to those available for 4.2BSD's (very different) directory system. X.\"The purpose of this library is to simulate X.\"the new flexible length directory names of 4.2bsd UNIX X.\"on top of the old directory structure of v7. XIt incidentally provides easy portability to and from 4.2BSD (insofar Xas such portability is not compromised by other 4.2/VAX dependencies). X.\"It allows programs to be converted immediately X.\"to the new directory access interface, X.\"so that they need only be relinked X.\"when moved to 4.2bsd. X.\"It is obtained with the loader option X.\".BR \-lndir . X.PP X.I Opendir Xopens the directory named by X.I filename Xand associates a X.I directory stream Xwith it. X.I Opendir Xreturns a pointer to be used to identify the X.I directory stream Xin subsequent operations. XThe pointer X.SM X.B NULL Xis returned if X.I filename Xcannot be accessed or is not a directory. X.PP X.I Readdir Xreturns a pointer to the next directory entry. XIt returns X.B NULL Xupon reaching the end of the directory or detecting Xan invalid X.I seekdir Xoperation. X.PP X.I Telldir Xreturns the current location associated with the named X.I directory stream. X.PP X.I Seekdir Xsets the position of the next X.I readdir Xoperation on the X.I directory stream. XThe new position reverts to the one associated with the X.I directory stream Xwhen the X.I telldir Xoperation was performed. XValues returned by X.I telldir Xare good only for the lifetime of the DIR pointer from Xwhich they are derived. XIf the directory is closed and then reopened, Xthe X.I telldir Xvalue may be invalidated Xdue to undetected directory compaction in 4.2BSD. XIt is safe to use a previous X.I telldir Xvalue immediately after a call to X.I opendir Xand before any calls to X.I readdir. X.PP X.I Rewinddir Xresets the position of the named X.I directory stream Xto the beginning of the directory. X.PP X.I Closedir Xcauses the named X.I directory stream Xto be closed, Xand the structure associated with the DIR pointer to be freed. X.PP XA X.I direct Xstructure is as follows: X.PP X.RS X.nf Xstruct direct { X /* unsigned */ long d_ino; /* inode number of entry */ X unsigned short d_reclen; /* length of this record */ X unsigned short d_namlen; /* length of string in d_name */ X char d_name[MAXNAMLEN + 1]; /* name must be no longer than this */ X}; X.fi X.RE X.PP XThe X.I d_reclen Xfield is meaningless in non-4.2BSD systems and should be ignored. XThe use of a X.I long Xfor X.I d_ino Xis also a 4.2BSDism; X.I ino_t X(see X.IR types (5)) Xshould be used elsewhere. XThe macro X.I DIRSIZ(dp) Xgives the minimum memory size needed to hold the X.I direct Xvalue pointed to by X.IR dp , Xwith the minimum necessary allocation for X.IR d_name . X.PP XThe preferred way to search the current directory for entry ``name'' is: X.PP X.RS X.nf X len = strlen(name); X dirp = opendir("."); X if (dirp == NULL) { X fprintf(stderr, "%s: can't read directory .\\n", argv[0]); X return NOT_FOUND; X } X while ((dp = readdir(dirp)) != NULL) X if (dp->d_namlen == len && strcmp(dp->d_name, name) == 0) { X closedir(dirp); X return FOUND; X } X closedir(dirp); X return NOT_FOUND; X.RE X.\".SH LINKING X.\"This library is accessed by specifying ``-lndir'' as the X.\"last argument to the compile line, e.g.: X.\".PP X.\" cc -I/usr/include/ndir -o prog prog.c -lndir X.SH "SEE ALSO" Xopen(2), Xclose(2), Xread(2), Xlseek(2) X.SH HISTORY XWritten by XKirk McKusick at Berkeley (ucbvax!mckusick). XMiscellaneous bug fixes from elsewhere. XThe size of the data structure has been decreased to avoid excessive Xspace waste under V7 (where filenames are 14 characters at most). XFor obscure historical reasons, the include file is also available Xas X.IR . XThe Berkeley version lived in a separate library (\fI\-lndir\fR), Xwhereas ours is Xpart of the C library, although the separate library is retained to Xmaximize compatibility. X.PP XThis manual page has been substantially rewritten to be informative in Xthe absence of a 4.2BSD manual. X.SH BUGS XThe X.I DIRSIZ Xmacro actually wastes a bit of space due to some padding requirements Xthat are an artifact of 4.2BSD. X.PP XThe returned value of X.I readdir Xpoints to a static area that will be overwritten by subsequent calls. X.PP XThere are some unfortunate name conflicts with the \fIreal\fR V7 Xdirectory structure definitions. ! echo 'dir.h': sed 's/^X//' >'dir.h' <<'!' X/* dir.h 4.4 82/07/25 */ X X/* X * A directory consists of some number of blocks of DIRBLKSIZ X * bytes, where DIRBLKSIZ is chosen such that it can be transferred X * to disk in a single atomic operation (e.g. 512 bytes on most machines). X * X * Each DIRBLKSIZ byte block contains some number of directory entry X * structures, which are of variable length. Each directory entry has X * a struct direct at the front of it, containing its inode number, X * the length of the entry, and the length of the name contained in X * the entry. These are followed by the name padded to a 4 byte boundary X * with null bytes. All names are guaranteed null terminated. X * The maximum length of a name in a directory is MAXNAMLEN. X * X * The macro DIRSIZ(dp) gives the amount of space required to represent X * a directory entry. Free space in a directory is represented by X * entries which have dp->d_reclen >= DIRSIZ(dp). All DIRBLKSIZ bytes X * in a directory block are claimed by the directory entries. This X * usually results in the last entry in a directory having a large X * dp->d_reclen. When entries are deleted from a directory, the X * space is returned to the previous entry in the same directory X * block by increasing its dp->d_reclen. If the first entry of X * a directory block is free, then its dp->d_ino is set to 0. X * Entries other than the first in a directory do not normally have X * dp->d_ino set to 0. X */ X#define DIRBLKSIZ 512 X#ifdef VMUNIX X#define MAXNAMLEN 255 X#else X#define MAXNAMLEN 14 X#endif X Xstruct direct { X /* unsigned */ long d_ino; /* inode number of entry */ X unsigned short d_reclen; /* length of this record */ X unsigned short d_namlen; /* length of string in d_name */ X char d_name[MAXNAMLEN + 1]; /* name must be no longer than this */ X}; X X/* X * The DIRSIZ macro gives the minimum record length which will hold X * the directory entry. This requires the amount of space in struct direct X * without the d_name field, plus enough space for the name with a terminating X * null byte (dp->d_namlen+1), rounded up to a 4 byte boundary. X */ X#undef DIRSIZ X#define DIRSIZ(dp) \ X ((sizeof (struct direct) - (MAXNAMLEN+1)) + (((dp)->d_namlen+1 + 3) &~ 3)) X X#ifndef KERNEL X/* X * Definitions for library routines operating on directories. X */ Xtypedef struct _dirdesc { X int dd_fd; X long dd_loc; X long dd_size; X char dd_buf[DIRBLKSIZ]; X} DIR; X#ifndef NULL X#define NULL 0 X#endif Xextern DIR *opendir(); Xextern struct direct *readdir(); Xextern long telldir(); X#ifdef void Xextern void seekdir(); Xextern void closedir(); X#endif X#define rewinddir(dirp) seekdir((dirp), (long)0) X#endif KERNEL ! echo 'makefile': sed 's/^X//' >'makefile' <<'!' XDIR = closedir.o opendir.o readdir.o seekdir.o telldir.o XCFLAGS=-O -I. -Dvoid=int XDEST=.. X Xall: $(DIR) X Xmv: $(DIR) X mv $(DIR) $(DEST) X Xcpif: dir.h X cp dir.h /usr/include/ndir.h X Xclean: X rm -f *.o ! echo 'closedir.c': sed 's/^X//' >'closedir.c' <<'!' Xstatic char sccsid[] = "@(#)closedir.c 4.2 3/10/82"; X X#include X#include X X/* X * close a directory. X */ Xvoid Xclosedir(dirp) X register DIR *dirp; X{ X close(dirp->dd_fd); X dirp->dd_fd = -1; X dirp->dd_loc = 0; X free((char *)dirp); X} ! echo 'opendir.c': sed 's/^X//' >'opendir.c' <<'!' X/* Copyright (c) 1982 Regents of the University of California */ X Xstatic char sccsid[] = "@(#)opendir.c 4.4 11/12/82"; X X#include X#include X#include X X/* X * open a directory. X */ XDIR * Xopendir(name) X char *name; X{ X register DIR *dirp; X register int fd; X struct stat statbuf; X char *malloc(); X X if ((fd = open(name, 0)) == -1) X return NULL; X if (fstat(fd, &statbuf) == -1 || !(statbuf.st_mode & S_IFDIR)) { X close(fd); X return NULL; X } X if ((dirp = (DIR *)malloc(sizeof(DIR))) == NULL) { X close (fd); X return NULL; X } X dirp->dd_fd = fd; X dirp->dd_loc = 0; X dirp->dd_size = 0; /* so that telldir will work before readdir */ X return dirp; X} ! echo 'readdir.c': sed 's/^X//' >'readdir.c' <<'!' X/* Copyright (c) 1982 Regents of the University of California */ X Xstatic char sccsid[] = "@(#)readdir.c 4.3 8/8/82"; X X#include X#include X X/* X * read an old stlye directory entry and present it as a new one X */ X#define ODIRSIZ 14 X Xstruct olddirect { X ino_t od_ino; X char od_name[ODIRSIZ]; X}; X X/* X * get next entry in a directory. X */ Xstruct direct * Xreaddir(dirp) X register DIR *dirp; X{ X register struct olddirect *dp; X static struct direct dir; X X for (;;) { X if (dirp->dd_loc == 0) { X dirp->dd_size = read(dirp->dd_fd, dirp->dd_buf, X DIRBLKSIZ); X if (dirp->dd_size <= 0) { X dirp->dd_size = 0; X return NULL; X } X } X if (dirp->dd_loc >= dirp->dd_size) { X dirp->dd_loc = 0; X continue; X } X dp = (struct olddirect *)(dirp->dd_buf + dirp->dd_loc); X dirp->dd_loc += sizeof(struct olddirect); X if (dp->od_ino == 0) X continue; X dir.d_ino = dp->od_ino; X strncpy(dir.d_name, dp->od_name, ODIRSIZ); X dir.d_name[ODIRSIZ] = '\0'; /* insure null termination */ X dir.d_namlen = strlen(dir.d_name); X dir.d_reclen = DIRBLKSIZ; X return (&dir); X } X} ! echo 'seekdir.c': sed 's/^X//' >'seekdir.c' <<'!' Xstatic char sccsid[] = "@(#)seekdir.c 4.9 3/25/83"; X X#include X#include X X/* X * seek to an entry in a directory. X * Only values returned by "telldir" should be passed to seekdir. X */ Xvoid Xseekdir(dirp, loc) X register DIR *dirp; X long loc; X{ X long curloc, base, offset; X struct direct *dp; X extern long lseek(); X X curloc = telldir(dirp); X if (loc == curloc) X return; X base = loc & ~(DIRBLKSIZ - 1); X offset = loc & (DIRBLKSIZ - 1); X (void) lseek(dirp->dd_fd, base, 0); X dirp->dd_size = 0; X dirp->dd_loc = 0; X while (dirp->dd_loc < offset) { X dp = readdir(dirp); X if (dp == NULL) X return; X } X} ! echo 'telldir.c': sed 's/^X//' >'telldir.c' <<'!' Xstatic char sccsid[] = "@(#)telldir.c 4.1 2/21/82"; X X#include X#include X X/* X * return a pointer into a directory X */ Xlong Xtelldir(dirp) X DIR *dirp; X{ X long lseek(); X X return (lseek(dirp->dd_fd, 0L, 1) - dirp->dd_size + dirp->dd_loc); X} ! echo done usr/doc/cvs-1.3/contrib/log.pl100755 2122 1750 4263 5161053446 15222 0ustar steinberert#!/usr/bin/perl # Modified by berliner@Sun.COM to add support for CVS 1.3 2/27/92 # # Date: Tue, 6 Aug 91 13:27 EDT # From: samborn@sunrise.com (Kevin Samborn) # # I revised the perl script I sent you yesterday to use the info you # send in on stdin. (I am appending the newer script to the end) # # now the output looks like this: # # ************************************** # date: Tuesday, August 6, 1991 @ 13:17 # author: samborn # Update of /elmer/cvs/CVSROOT.adm # In directory astro:/home/samborn/CVSROOT.adm # # Modified Files: # test3 # # Added Files: # test6 # # Removed Files: # test4 # # Log Message: # wow, what a test # # RCS: 1.4 /elmer/cvs/CVSROOT.adm/test3,v # RCS: 1.1 /elmer/cvs/CVSROOT.adm/test6,v # RCS: 1.1 /elmer/cvs/CVSROOT.adm/Attic/test4,v # # # turn off setgid # $) = $(; # # parse command line arguments # @files = split(/ /,$ARGV[0]); $logfile = $ARGV[1]; $cvsroot = $ENV{'CVSROOT'}; # # Some date and time arrays # @mos = (January,February,March,April,May,June,July,August,September, October,November,December); @days = (Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday); ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime; # # get login name # $login = getlogin || (getpwuid($<))[0] || "nobody"; # # open log file for appending # if ((open(OUT, ">>" . $logfile)) != 1) { die "Could not open logfile " . $logfile . "\n"; } # # Header # print OUT "\n"; print OUT "**************************************\n"; print OUT "date: " . $days[$wday] . ", " . $mos[$mon] . " " . $mday . ", 19" . $year . " @ " . $hour . ":" . sprintf("%02d", $min) . "\n"; print OUT "author: " . $login . "\n"; # #print the stuff on stdin to the logfile # open(IN, "-"); while() { print OUT $_; } close(IN); print OUT "\n"; # # after log information, do an 'cvs -Qn status' on each file in the arguments. # for $file (@files[1..$#files]) { if ($file eq "-") { last; } open(RCS,"-|") || exec 'cvs', '-Qn', 'status', $file; while () { if (substr($_, 0, 7) eq " RCS") { print OUT; } } close (RCS); } close (OUT); usr/doc/cvs-1.3/contrib/log_accum.pl100644 2122 1750 21307 5171362562 16410 0ustar steinberert#!/usr/local/bin/perl -w # # Perl filter to handle the log messages from the checkin of files in # a directory. This script will group the lists of files by log # message, and mail a single consolidated log message at the end of # the commit. # # This file assumes a pre-commit checking program that leaves the # names of the first and last commit directories in a temporary file. # # Contributed by David Hampton # ############################################################ # # Configurable options # ############################################################ # # Do cisco Systems, Inc. specific nonsense. # $cisco_systems = 1; # # Recipient of all mail messages # $mailto = "sw-notification@cisco.com"; ############################################################ # # Constants # ############################################################ $STATE_NONE = 0; $STATE_CHANGED = 1; $STATE_ADDED = 2; $STATE_REMOVED = 3; $STATE_LOG = 4; $LAST_FILE = "/tmp/#cvs.lastdir"; $CHANGED_FILE = "/tmp/#cvs.files.changed"; $ADDED_FILE = "/tmp/#cvs.files.added"; $REMOVED_FILE = "/tmp/#cvs.files.removed"; $LOG_FILE = "/tmp/#cvs.files.log"; $FILE_PREFIX = "#cvs.files"; $VERSION_FILE = "version"; $TRUNKREV_FILE = "TrunkRev"; $CHANGES_FILE = "Changes"; $CHANGES_TEMP = "Changes.tmp"; ############################################################ # # Subroutines # ############################################################ sub format_names { local($dir, @files) = @_; local(@lines); $lines[0] = sprintf(" %-08s", $dir); foreach $file (@files) { if (length($lines[$#lines]) + length($file) > 60) { $lines[++$#lines] = sprintf(" %8s", " "); } $lines[$#lines] .= " ".$file; } @lines; } sub cleanup_tmpfiles { local($all) = @_; local($wd, @files); $wd = `pwd`; chdir("/tmp"); opendir(DIR, "."); if ($all == 1) { push(@files, grep(/$id$/, readdir(DIR))); } else { push(@files, grep(/^$FILE_PREFIX.*$id$/, readdir(DIR))); } closedir(DIR); foreach (@files) { unlink $_; } chdir($wd); } sub write_logfile { local($filename, @lines) = @_; open(FILE, ">$filename") || die ("Cannot open log file $filename.\n"); print(FILE join("\n", @lines), "\n"); close(FILE); } sub append_to_file { local($filename, $dir, @files) = @_; if (@files) { local(@lines) = &format_names($dir, @files); open(FILE, ">>$filename") || die ("Cannot open file $filename.\n"); print(FILE join("\n", @lines), "\n"); close(FILE); } } sub write_line { local($filename, $line) = @_; open(FILE, ">$filename") || die("Cannot open file $filename.\n"); print(FILE $line, "\n"); close(FILE); } sub read_line { local($line); local($filename) = @_; open(FILE, "<$filename") || die("Cannot open file $filename.\n"); $line = ; close(FILE); chop($line); $line; } sub read_file { local(@text); local($filename, $leader) = @_; open(FILE, "<$filename") || return (); while () { chop; push(@text, sprintf(" %-10s %s", $leader, $_)); $leader = ""; } close(FILE); @text; } sub read_logfile { local(@text); local($filename, $leader) = @_; open(FILE, "<$filename") || die ("Cannot open log file $filename.\n"); while () { chop; push(@text, $leader.$_); } close(FILE); @text; } sub bump_version { local($trunkrev, $editnum, $version); $trunkrev = &read_line("$ENV{'CVSROOT'}/$repository/$TRUNKREV_FILE"); $editnum = &read_line("$ENV{'CVSROOT'}/$repository/$VERSION_FILE"); &write_line("$ENV{'CVSROOT'}/$repository/$VERSION_FILE", $editnum+1); $version = $trunkrev . "(" . $editnum . ")"; } sub build_header { local($version) = @_; local($header); local($sec,$min,$hour,$mday,$mon,$year) = localtime(time); $header = sprintf("%-8s %s %02d/%02d/%02d %02d:%02d:%02d", $login, $version, $year%100, $mon+1, $mday, $hour, $min, $sec); } sub do_changes_file { local($changes, $tmpchanges); local(@text) = @_; $changes = "$ENV{'CVSROOT'}/$repository/$CHANGES_FILE"; $tmpchanges = "$ENV{'CVSROOT'}/$repository/$CHANGES_TEMP"; if (rename($changes, $tmpchanges) != 1) { die("Cannot rename $changes to $tmpchanges.\n"); } open(CHANGES, ">$changes") || die("Cannot open $changes.\n"); open(TMPCHANGES, "<$tmpchanges") || die("Cannot open $tmpchanges.\n"); print(CHANGES join("\n", @text), "\n\n"); print(CHANGES ); close(CHANGES); close(TMPCHANGES); unlink($tmpchanges); } sub mail_notification { local($name, @text) = @_; open(MAIL, "| mail -s \"Source Repository Modification\" $name"); print(MAIL join("\n", @text)); close(MAIL); } ############################################################# # # Main Body # ############################################################ # # Initialize basic variables # $id = getpgrp(); $state = $STATE_NONE; $login = getlogin || (getpwuid($<))[0] || die("Unknown user $<.\n"); @files = split(' ', $ARGV[0]); @path = split('/', $files[0]); $repository = @path[0]; if ($#path == 0) { $dir = "."; } else { $dir = join('/', @path[1..$#path]); } #print("ARGV - ", join(":", @ARGV), "\n"); #print("files - ", join(":", @files), "\n"); #print("path - ", join(":", @path), "\n"); #print("dir - ", $dir, "\n"); #print("id - ", $id, "\n"); # # Check for a new directory first. This will always appear as a # single item in the argument list, and an empty log message. # if ($ARGV[0] =~ /New directory/) { $version = &bump_version if ($cisco_systems != 0); $header = &build_header($version); @text = (); push(@text, $header); push(@text, ""); push(@text, " ".$ARGV[0]); &do_changes_file(@text) if ($cisco_systems != 0); &mail_notification($mailto, @text); exit 0; } # # Iterate over the body of the message collecting information. # while () { chop; # Drop the newline if (/^Modified Files/) { $state = $STATE_CHANGED; next; } if (/^Added Files/) { $state = $STATE_ADDED; next; } if (/^Removed Files/) { $state = $STATE_REMOVED; next; } if (/^Log Message/) { $state = $STATE_LOG; next; } s/^[ \t\n]+//; # delete leading space s/[ \t\n]+$//; # delete trailing space push (@changed_files, split) if ($state == $STATE_CHANGED); push (@added_files, split) if ($state == $STATE_ADDED); push (@removed_files, split) if ($state == $STATE_REMOVED); push (@log_lines, $_) if ($state == $STATE_LOG); } # # Strip leading and trailing blank lines from the log message. Also # compress multiple blank lines in the body of the message down to a # single blank line. # while ($#log_lines > -1) { last if ($log_lines[0] ne ""); shift(@log_lines); } while ($#log_lines > -1) { last if ($log_lines[$#log_lines] ne ""); pop(@log_lines); } for ($i = $#log_lines; $i > 0; $i--) { if (($log_lines[$i - 1] eq "") && ($log_lines[$i] eq "")) { splice(@log_lines, $i, 1); } } # # Find the log file that matches this log message # for ($i = 0; ; $i++) { last if (! -e "$LOG_FILE.$i.$id"); @text = &read_logfile("$LOG_FILE.$i.$id", ""); last if ($#text == -1); last if (join(" ", @log_lines) eq join(" ", @text)); } # # Spit out the information gathered in this pass. # &write_logfile("$LOG_FILE.$i.$id", @log_lines); &append_to_file("$ADDED_FILE.$i.$id", $dir, @added_files); &append_to_file("$CHANGED_FILE.$i.$id", $dir, @changed_files); &append_to_file("$REMOVED_FILE.$i.$id", $dir, @removed_files); # # Check whether this is the last directory. If not, quit. # $_ = &read_line("$LAST_FILE.$id"); exit 0 if (! grep(/$files[0]$/, $_)); # # This is it. The commits are all finished. Lump everything together # into a single message, fire a copy off to the mailing list, and drop # it on the end of the Changes file. # # Get the full version number # $version = &bump_version if ($cisco_systems != 0); $header = &build_header($version); # # Produce the final compilation of the log messages # @text = (); push(@text, $header); push(@text, ""); for ($i = 0; ; $i++) { last if (! -e "$LOG_FILE.$i.$id"); push(@text, &read_file("$CHANGED_FILE.$i.$id", "Modified:")); push(@text, &read_file("$ADDED_FILE.$i.$id", "Added:")); push(@text, &read_file("$REMOVED_FILE.$i.$id", "Removed:")); push(@text, " Log:"); push(@text, &read_logfile("$LOG_FILE.$i.$id", " ")); push(@text, ""); } if ($cisco_systems != 0) { @ddts = grep(/^CSCdi/, split(' ', join(" ", @text))); $text[0] .= " " . join(" ", @ddts); } # # Put the log message at the beginning of the Changes file and mail # out the notification. # &do_changes_file(@text) if ($cisco_systems != 0); &mail_notification($mailto, @text); &cleanup_tmpfiles(1); exit 0; usr/doc/cvs-1.3/contrib/mfpipe.pl100755 2122 1750 3603 5154301541 15710 0ustar steinberert#!/usr/bin/perl # # From: clyne@niwot.scd.ucar.EDU (John Clyne) # Date: Fri, 28 Feb 92 09:54:21 MST # # BTW, i wrote a perl script that is similar to 'nfpipe' except that in # addition to logging to a file it provides a command line option for mailing # change notices to a group of users. Obviously you probably wouldn't want # to mail every change. But there may be certain directories that are commonly # accessed by a group of users who would benefit from an email notice. # Especially if they regularly beat on the same directory. Anyway if you # think anyone would be interested here it is. # # mfpipe.pl,v 1.1 1992/03/02 01:22:41 berliner Exp # # # File: mfpipe # # Author: John Clyne # National Center for Atmospheric Research # PO 3000, Boulder, Colorado # # Date: Wed Feb 26 18:34:53 MST 1992 # # Description: Tee standard input to mail a list of users and to # a file. Used by CVS logging. # # Usage: mfpipe [-f file] [user@host...] # # Environment: CVSROOT # Path to CVS root. # # Files: # # # Options: -f file # Capture output to 'file' # $header = "Log Message:\n"; $mailcmd = "| mail -s 'CVS update notice'"; $whoami = `whoami`; chop $whoami; $date = `date`; chop $date; $cvsroot = $ENV{'CVSROOT'}; while (@ARGV) { $arg = shift @ARGV; if ($arg eq '-f') { $file = shift @ARGV; } else { $users = "$users $arg"; } } if ($users) { $mailcmd = "$mailcmd $users"; open(MAIL, $mailcmd) || die "Execing $mail: $!\n"; } if ($file) { $logfile = "$cvsroot/LOG/$file"; open(FILE, ">> $logfile") || die "Opening $logfile: $!\n"; } print FILE "$whoami $date--------BEGIN LOG ENTRY-------------\n" if ($logfile); while (<>) { print FILE $log if ($log && $logfile); print FILE $_ if ($logfile); print MAIL $_ if ($users); $log = "log: " if ($_ eq $header); } close FILE; die "Write failed" if $?; close MAIL; die "Mail failed" if $?; exit 0; usr/doc/cvs-1.3/contrib/rcs-to-cvs100755 2122 1750 13420 5171202671 16037 0ustar steinberert#!/bin/csh # # rcs-to-cvs,v 1.3 1992/04/10 03:04:25 berliner Exp # Contributed by Per Cederqvist . # # Copyright (c) 1989, Brian Berliner # # You may distribute under the terms of the GNU General Public License # as specified in the README file that comes with the CVS 1.0 kit. # ############################################################################# # # # This script is used to check in sources that previously was under RCS or # # no source control system. # # # # Usage: rcs-to-cvs repository # # # # The repository is the directory where the sources should # # be deposited. # # # checkin traverses the current directory, ensuring that an # # identical directory structure exists in the repository directory. It # # then checks the files in in the following manner: # # # # 1) If the file doesn't yet exist, check it in # # as revision 0.1 # # # # The script also is somewhat verbose in letting the user know what is # # going on. It prints a diagnostic when it creates a new file, or updates # # a file that has been modified on the trunk. # # # ############################################################################# set vbose = 0 set message = "" set cvsbin = /usr/gnu/bin set rcsbin = /usr/gnu/bin set grep = /bin/grep set message_file = /usr/tmp/checkin.$$ set got_one = 0 if ( $#argv < 1 ) then echo "Usage: rcs-to-cvs [-v] [-m message] [-f message_file] repository" exit 1 endif while ( $#argv ) switch ( $argv[1] ) case -v: set vbose = 1 breaksw case -m: shift echo $argv[1] > $message_file set got_one = 1 breaksw case -f: shift set message_file = $argv[1] set got_one = 2 breaksw default: break endsw shift end if ( $#argv < 1 ) then echo "Usage: rcs-to-cvs [-v] [-m message] [-f message_file] repository" exit 1 endif set repository = $argv[1] shift if ( ! $?CVSROOT ) then echo "Please set the environmental variable CVSROOT to the root" echo " of the tree you wish to update" exit 1 endif if ( $got_one == 0 ) then echo "Please Edit this file to contain the RCS log information" >$message_file echo "to be associated with this file (please remove these lines)">>$message_file if ( $?EDITOR ) then $EDITOR $message_file > /dev/tty else /usr/ucb/vi $message_file > /dev/tty endif set got_one = 1 endif umask 22 set update_dir = ${CVSROOT}/${repository} if ( -d SCCS ) then echo SCCS files detected! exit 1 endif if ( -d RCS ) then $rcsbin/co RCS/* >& /dev/null endif foreach name ( * .[a-zA-Z0-9]* ) echo $name if ( "$name" == SCCS ) then continue endif if ( "$name" == RCS ) then continue endif if ( $vbose ) then echo "Updating ${repository}/${name}" endif if ( -d "$name" ) then if ( ! -d "${update_dir}/${name}" ) then echo "WARNING: Creating new directory ${repository}/${name}" mkdir "${update_dir}/${name}" if ( $status ) then echo "ERROR: mkdir failed - aborting" exit 1 endif endif chdir "$name" if ( $status ) then echo "ERROR: Couldn\'t chdir to "$name" - aborting" exit 1 endif if ( $vbose ) then rcs-to-cvs -v -f $message_file "${repository}/${name}" else rcs-to-cvs -f $message_file "${repository}/${name}" endif if ( $status ) then exit 1 endif chdir .. else # if not directory if ( ! -f "$name" ) then echo "WARNING: "$name" is neither a regular file" echo " nor a directory - ignored" continue endif set file = "${update_dir}/${name},v" set new = 0 set comment = "" grep -s '\$Log.*\$' "${name}" if ( $status == 0 ) then # If $Log keyword set myext = ${name:e} set knownext = 0 foreach xx ( "c" "csh" "e" "f" "h" "l" "mac" "me" "mm" "ms" "p" "r" "red" "s" "sh" "sl" "cl" "ml" "el" "tex" "y" "ye" "yr" "" ) if ( "${myext}" == "${xx}" ) then set knownext = 1 break endif end if ( $knownext == 0 ) then echo For file ${file}: grep '\$Log.*\$' "${name}" echo -n "Please insert a comment leader for file ${name} > " set comment = $< endif endif if ( ! -f "$file" ) then # If not exists in repository if ( ! -f "${update_dir}/Attic/${name},v" ) then echo "WARNING: Creating new file ${repository}/${name}" if ( -f RCS/"${name}",v ) then echo "MSG: Copying old rcs file." cp RCS/"${name}",v "$file" else if ( "${comment}" != "" ) then $rcsbin/rcs -q -i -c"${comment}" -t${message_file} -m'.' "$file" endif $rcsbin/ci -q -u0.1 -t${message_file} -m'.' "$file" if ( $status ) then echo "ERROR: Initial check-in of $file failed - aborting" exit 1 endif set new = 1 endif else set file = "${update_dir}/Attic/${name},v" echo "WARNING: IGNORED: ${repository}/Attic/${name}" continue endif else # File existed echo ERROR: File exists: Ignored: "$file" continue # set headbranch = `sed -n '/^head/p; /^branch/p; 2q' $file` # if ( $#headbranch != 2 && $#headbranch != 4 ) then # echo "ERROR: corrupted RCS file $file - aborting" # endif # set head = "$headbranch[2]" # set branch = "" # if ( $#headbranch == 4 ) then # set branch = "$headbranch[4]" # endif # if ( "$head" == "1.1;" && "$branch" != "1.1.1;" ) then # ${rcsbin}/rcsdiff -q -r1.1 $file > /dev/null # if ( ! $status ) then # set new = 1 # endif # else # if ( "$branch" != "1.1.1;" ) then # echo -n "WARNING: Updating locally modified file " # echo "${repository}/${name}" # endif # endif endif endif end if ( $got_one == 1 ) rm $message_file usr/doc/cvs-1.3/contrib/rcslock.pl100755 2122 1750 14641 5165764124 16130 0ustar steinberert#!/usr/bin/perl # Author: John Rouillard (rouilj@cs.umb.edu) # Supported: Yeah right. (Well what do you expect for 2 hours work?) # Blame-to: rouilj@cs.umb.edu # Complaints to: Anybody except Brian Berliner, he's blameless for # this script. # Acknowlegements: The base code for this script has been acquired # from the log.pl script. # rcslock.pl - A program to prevent commits when a file to be ckecked # in is locked in the repository. # There are times when you need exclusive access to a file. This # often occurs when binaries are checked into the repository, since # cvs's (actually rcs's) text based merging mechanism won't work. This # script allows you to use the rcs lock mechanism (rcs -l) to make # sure that no changes to a repository are able to be committed if # those changes would result in a locked file being changed. # WARNING: # This script will work only if locking is set to strict. # # Setup: # Add the following line to the commitinfo file: # ALL /local/location/for/script/lockcheck [options] # Where ALL is replaced by any suitable regular expression. # Options are -v for verbose info, or -d for debugging info. # The %s will provide the repository directory name and the names of # all changed files. # Use: # When a developer needs exclusive access to a version of a file, s/he # should use "rcs -l" in the repository tree to lock the version they # are working on. CVS will automagically release the lock when the # commit is performed. # Method: # An "rlog -h" is exec'ed to give info on all about to be # committed files. This (header) information is parsed to determine # if any locks are outstanding and what versions of the file are # locked. This filename, version number info is used to index an # associative array. All of the files to be committed are checked to # see if any locks are outstanding. If locks are outstanding, the # version number of the current file (taken from the CVS/Entries # subdirectory) is used in the key to determine if that version is # locked. If the file being checked in is locked by the person doing # the checkin, the commit is allowed, but if the lock is held on that # version of a file by another person, the commit is not allowed. $ext = ",v"; # The extension on your rcs files. $\="\n"; # I hate having to put \n's at the end of my print statements $,=' '; # Spaces should occur between arguments to print when printed # turn off setgid # $) = $(; # # parse command line arguments # require 'getopts.pl'; &Getopts("vd"); # verbose or debugging # Verbose is useful when debugging $opt_v = $opt_d if defined $opt_d; # $files[0] is really the name of the subdirectory. # @files = split(/ /,$ARGV[0]); @files = @ARGV[0..$#ARGV]; $cvsroot = $ENV{'CVSROOT'}; # # get login name # $login = getlogin || (getpwuid($<))[0] || "nobody"; # # save the current directory since we have to return here to parse the # CVS/Entries file if a lock is found. # $pwd = `/bin/pwd`; chop $pwd; print "Starting directory is $pwd" if defined $opt_d ; # # cd to the repository directory and check on the files. # print "Checking directory ", $files[0] if defined $opt_v ; if ( $files[0] =~ /^\// ) { print "Directory path is $files[0]" if defined $opt_d ; chdir $files[0] || die "Can't change to repository directory $files[0]" ; } else { print "Directory path is $cvsroot/$files[0]" if defined $opt_d ; chdir ($cvsroot . "/" . $files[0]) || die "Can't change to repository directory $files[0] in $cvsroot" ; } # Open the rlog process and apss all of the file names to that one # process to cut down on exec overhead. This may backfire if there # are too many files for the system buffer to handle, but if there are # that many files, chances are that the cvs repository is not set up # cleanly. print "opening rlog -h @files[1..$#files] |" if defined $opt_d; open( RLOG, "rlog -h @files[1..$#files] |") || die "Can't run rlog command" ; # Create the locks associative array. The elements in the array are # of two types: # # The name of the RCS file with a value of the total number of locks found # for that file, # or # # The name of the rcs file concatenated with the version number of the lock. # The value of this element is the name of the locker. # The regular expressions used to split the rcs info may have to be changed. # The current ones work for rcs 5.6. $lock = 0; while () { chop; next if /^$/; # ditch blank lines if ( $_ =~ /^RCS file: (.*)$/ ) { $curfile = $1; next; } if ( $_ =~ /^locks: strict$/ ) { $lock = 1 ; next; } if ( $lock ) { # access list: is the line immediately following the list of locks. if ( /^access list:/ ) { # we are done getting lock info for this file. $lock = 0; } else { # We are accumulating lock info. # increment the lock count $locks{$curfile}++; # save the info on the version that is locked. $2 is the # version number $1 is the name of the locker. $locks{"$curfile" . "$2"} = $1 if /[ ]*([a-zA-Z._]*): ([0-9.]*)$/; print "lock by $1 found on $curfile version $2" if defined $opt_d; } } } # Lets go back to the starting directory and see if any locked files # are ones we are interested in. chdir $pwd; # fo all of the file names (remember $files[0] is the directory name foreach $i (@files[1..$#files]) { if ( defined $locks{$i . $ext} ) { # well the file has at least one lock outstanding # find the base version number of our file &parse_cvs_entry($i,*entry); # is our version of this file locked? if ( defined $locks{$i . $ext . $entry{"version"}} ) { # if so, it is by us? if ( $login ne ($by = $locks{$i . $ext . $entry{"version"}}) ) {# crud somebody else has it locked. $outstanding_lock++ ; print "$by has file $i locked for version " , $entry{"version"}; } else { # yeah I have it locked. print "You have a lock on file $i for version " , $entry{"version"} if defined $opt_v; } } } } exit $outstanding_lock; ### End of main program sub parse_cvs_entry { # a very simple minded hack at parsing an entries file. local ( $file, *entry ) = @_; local ( @pp ); open(ENTRIES, "< CVS/Entries") || die "Can't open entries file"; while () { if ( $_ =~ /^\/$file\// ) { @pp = split('/'); $entry{"name"} = $pp[1]; $entry{"version"} = $pp[2]; $entry{"dates"} = $pp[3]; $entry{"name"} = $pp[4]; $entry{"name"} = $pp[5]; $entry{"sticky"} = $pp[6]; return; } } } usr/doc/cvs-1.3/contrib/sccs2rcs100755 2122 1750 20007 5171202672 15564 0ustar steinberert#!/bin/csh -f # # Sccs2rcs is a script to convert an existing SCCS # history into an RCS history without losing any of # the information contained therein. # It has been tested under the following OS's: # SunOS 3.5, 4.0.3, 4.1 # Ultrix-32 2.0, 3.1 # # Things to note: # + It will NOT delete or alter your ./SCCS history under any circumstances. # # + Run in a directory where ./SCCS exists and where you can # create ./RCS # # + /usr/local/bin is put in front of the default path. # (SCCS under Ultrix is set-uid sccs, bad bad bad, so # /usr/local/bin/sccs here fixes that) # # + Date, time, author, comments, branches, are all preserved. # # + If a command fails somewhere in the middle, it bombs with # a message -- remove what it's done so far and try again. # "rm -rf RCS; sccs unedit `sccs tell`; sccs clean" # There is no recovery and exit is far from graceful. # If a particular module is hanging you up, consider # doing it separately; move it from the current area so that # the next run will have a better chance or working. # Also (for the brave only) you might consider hacking # the s-file for simpler problems: I've successfully changed # the date of a delta to be in sync, then run "sccs admin -z" # on the thing. # # + After everything finishes, ./SCCS will be moved to ./old-SCCS. # # This file may be copied, processed, hacked, mutilated, and # even destroyed as long as you don't tell anyone you wrote it. # # Ken Cox # Viewlogic Systems, Inc. # kenstir@viewlogic.com # ...!harvard!cg-atla!viewlog!kenstir # # Various hacks made by Brian Berliner before inclusion in CVS contrib area. # # sccs2rcs,v 1.1 1992/04/10 03:04:26 berliner Exp #we'll assume the user set up the path correctly # for the Pmax, /usr/ucb/sccs is suid sccs, what a pain # /usr/local/bin/sccs should override /usr/ucb/sccs there set path = (/usr/local/bin $path) ############################################################ # Error checking # if (! -w .) then echo "Error: ./ not writeable by you." exit 1 endif if (! -d SCCS) then echo "Error: ./SCCS directory not found." exit 1 endif set edits = (`sccs tell`) if ($#edits) then echo "Error: $#edits file(s) out for edit...clean up before converting." exit 1 endif if (-d RCS) then echo "Warning: RCS directory exists" if (`ls -a RCS | wc -l` > 2) then echo "Error: RCS directory not empty exit 1 endif else mkdir RCS endif sccs clean set logfile = /tmp/sccs2rcs_$$_log rm -f $logfile set tmpfile = /tmp/sccs2rcs_$$_tmp rm -f $tmpfile set emptyfile = /tmp/sccs2rcs_$$_empty echo -n "" > $emptyfile set initialfile = /tmp/sccs2rcs_$$_init echo "Initial revision" > $initialfile set sedfile = /tmp/sccs2rcs_$$_sed rm -f $sedfile set revfile = /tmp/sccs2rcs_$$_rev rm -f $revfile # the quotes surround the dollar signs to fool RCS when I check in this script set sccs_keywords = (\ '%W%[ ]*%G%'\ '%W%[ ]*%E%'\ '%W%'\ '%Z%%M%[ ]*%I%[ ]*%G%'\ '%Z%%M%[ ]*%I%[ ]*%E%'\ '%M%[ ]*%I%[ ]*%G%'\ '%M%[ ]*%I%[ ]*%E%'\ '%M%'\ '%I%'\ '%G%'\ '%E%'\ '%U%') set rcs_keywords = (\ '$'Id'$'\ '$'Id'$'\ '$'Id'$'\ '$'SunId'$'\ '$'SunId'$'\ '$'Id'$'\ '$'Id'$'\ '$'RCSfile'$'\ '$'Revision'$'\ '$'Date'$'\ '$'Date'$'\ '') ############################################################ # Get some answers from user # echo "" echo "Do you want to be prompted for a description of each" echo "file as it is checked in to RCS initially?" echo -n "(y=prompt for description, n=null description) [y] ?" set ans = $< if ((_$ans == _) || (_$ans == _y) || (_$ans == _Y)) then set nodesc = 0 else set nodesc = 1 endif echo "" echo "The default keyword substitutions are as follows and are" echo "applied in the order specified:" set i = 1 while ($i <= $#sccs_keywords) # echo ' '\"$sccs_keywords[$i]\"' ==> '\"$rcs_keywords[$i]\" echo " $sccs_keywords[$i] ==> $rcs_keywords[$i]" @ i = $i + 1 end echo "" echo -n "Do you want to change them [n] ?" set ans = $< if ((_$ans != _) && (_$ans != _n) && (_$ans != _N)) then echo "You can't always get what you want." echo "Edit this script file and change the variables:" echo ' $sccs_keywords' echo ' $rcs_keywords' else echo "good idea." endif # create the sed script set i = 1 while ($i <= $#sccs_keywords) echo "s,$sccs_keywords[$i],$rcs_keywords[$i],g" >> $sedfile @ i = $i + 1 end onintr ERROR ############################################################ # Loop over every s-file in SCCS dir # foreach sfile (SCCS/s.*) # get rid of the "s." at the beginning of the name set file = `echo $sfile:t | sed -e "s/^..//"` # work on each rev of that file in ascending order set firsttime = 1 sccs prs $file | grep "^D " | awk '{print $2}' | sed -e 's/\./ /g' | sort -n -u +0 +1 +2 +3 +4 +5 +6 +7 +8 | sed -e 's/ /./g' > $revfile foreach rev (`cat $revfile`) if ($status != 0) goto ERROR # get file into current dir and get stats set date = `sccs prs -r$rev $file | grep "^D " | awk '{printf("19%s %s", $3, $4); exit}'` set author = `sccs prs -r$rev $file | grep "^D " | awk '{print $5; exit}'` echo "" echo "==> file $file, rev=$rev, date=$date, author=$author" sccs edit -r$rev $file >>& $logfile if ($status != 0) goto ERROR echo checked out of SCCS # add RCS keywords in place of SCCS keywords sed -f $sedfile $file > $tmpfile if ($status != 0) goto ERROR echo performed keyword substitutions cp $tmpfile $file # check file into RCS if ($firsttime) then set firsttime = 0 if ($nodesc) then echo about to do ci echo ci -f -r$rev -d"$date" -w$author -t$emptyfile $file ci -f -r$rev -d"$date" -w$author -t$emptyfile $file < $initialfile >>& $logfile if ($status != 0) goto ERROR echo initial rev checked into RCS without description else echo "" echo Enter a brief description of the file $file \(end w/ Ctrl-D\): cat > $tmpfile ci -f -r$rev -d"$date" -w$author -t$tmpfile $file < $initialfile >>& $logfile if ($status != 0) goto ERROR echo initial rev checked into RCS endif else # get RCS lock set lckrev = `echo $rev | sed -e 's/\.[0-9]*$//'` if ("$lckrev" =~ [0-9]*.*) then # need to lock the brach -- it is OK if the lock fails rcs -l$lckrev $file >>& $logfile else # need to lock the trunk -- must succeed rcs -l $file >>& $logfile if ($status != 0) goto ERROR endif echo got lock sccs prs -r$rev $file | grep "." > $tmpfile # it's OK if grep fails here and gives status == 1 # put the delta message in $tmpfile ed $tmpfile >>& $logfile <>& $logfile if ($status != 0) goto ERROR echo checked into RCS endif sccs unedit $file >>& $logfile if ($status != 0) goto ERROR end rm -f $file end ############################################################ # Clean up # echo cleaning up... mv SCCS old-SCCS rm -f $tmpfile $emptyfile $initialfile $sedfile echo =================================================== echo " Conversion Completed Successfully" echo "" echo " SCCS history now in old-SCCS/" echo =================================================== set exitval = 0 goto cleanup ERROR: foreach f (`sccs tell`) sccs unedit $f end echo "" echo "" echo Danger\! Danger\! echo Some command exited with a non-zero exit status. echo Log file exists in $logfile. echo "" echo Incomplete history in ./RCS -- remove it echo Original unchanged history in ./SCCS set exitval = 1 cleanup: # leave log file rm -f $tmpfile $emptyfile $initialfile $sedfile $revfile exit $exitval usr/doc/cvs-1.3/contrib/Makefile100644 2122 1750 2662 5275727127 15554 0ustar steinberert# Generated automatically from Makefile.in by configure. # Makefile for GNU CVS contributed sources. # Do not use this makefile directly, but only from `../Makefile'. # Copyright (C) 1986, 1988-1990 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # @(#)Makefile.in 1.4 92/04/10 SHELL = /bin/sh srcdir = . DISTFILES = Makefile.in README cln_hist.pl commit_prep.pl cvs_acls.pl \ cvscheck cvscheck.man cvshelp.man descend descend.man dirfns log.pl \ mfpipe.pl rcs-to-cvs sccs2rcs all: .PHONY: all install: all .PHONY: install tags: .PHONY: tags TAGS: .PHONY: TAGS ls: @echo $(DISTFILES) .PHONY: ls clean: /bin/rm -f *.o core .PHONY: clean distclean: clean rm -f Makefile .PHONY: distclean realclean: distclean .PHONY: realclean dist: ln $(DISTFILES) ../`cat ../.fname`/contrib .PHONY: dist usr/doc/cvs-1.3/doc/ 42755 2122 1750 0 5333765667 13126 5ustar steinberertusr/doc/cvs-1.3/doc/.cvsignore100644 2122 1750 11 5107621760 15131 0ustar steinberertMakefile usr/doc/cvs-1.3/doc/Makefile.in100644 2122 1750 2365 5171360573 15257 0ustar steinberert# Makefile for GNU CVS documentation. # Do not use this makefile directly, but only from `../Makefile'. # Copyright (C) 1986, 1988-1990 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # @(#)Makefile.in 1.3 92/04/10 SHELL = /bin/sh srcdir = @srcdir@ @VPATH@ DISTFILES = Makefile.in cvs.ms cvs.ps all: .PHONY: all install: all .PHONY: install tags: .PHONY: tags TAGS: .PHONY: TAGS ls: @echo $(DISTFILES) .PHONY: ls clean: /bin/rm -f *.o core .PHONY: clean distclean: clean rm -f Makefile .PHONY: distclean realclean: distclean .PHONY: realclean dist: ln $(DISTFILES) ../`cat ../.fname`/doc .PHONY: dist usr/doc/cvs-1.3/doc/cvs.ms100644 2122 1750 111571 5141723031 14373 0ustar steinberert.\" soelim cvs.ms | pic | tbl | troff -ms .\" @(#)cvs.ms 1.2 92/01/30 .\" .\" troff source to the cvs USENIX article, Winter 1990, Washington, D.C. .\" Copyright (c) 1989, Brian Berliner .\" .\" This program is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation; either version 1, or (at your option) .\" any later version. .\" .\" This program is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public License .\" along with this program; if not, write to the Free Software .\" Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. .\" .\" The author can be reached at: berliner@prisma.com .\" .de SP .if n .sp .if t .sp .5 .. .de hl .br .in +0.5i \l'\\n(LLu-1i' .in -0.5i .sp .. .OH "" .nr PS 11 .nr PO 1.25i .pl -0.2i .TL .ps 14 .ft B .nf CVS II: Parallelizing Software Development .fi .ft .ps .AU .ps 12 .ft I Brian Berliner .ft .ps .AI .ps 12 .ft I Prisma, Inc. 5465 Mark Dabling Blvd. Colorado Springs, CO 80918 berliner@prisma.com .ft .ps .AB The program described in this paper fills a need in the UNIX community for a freely available tool to manage software revision and release control in a multi-developer, multi-directory, multi-group environment. This tool also addresses the increasing need for tracking third-party vendor source distributions while trying to maintain local modifications to earlier releases. .AE .NH Background .PP In large software development projects, it is usually necessary for more than one software developer to be modifying (usually different) modules of the code at the same time. Some of these code modifications are done in an experimental sense, at least until the code functions correctly, and some testing of the entire program is usually necessary. Then, the modifications are returned to a master source repository so that others in the project can enjoy the new bug-fix or functionality. In order to manage such a project, some sort of revision control system is necessary. .PP Specifically, UNIX\** .FS UNIX is a registered trademark of AT&T. .FE kernel development is an excellent example of the problems that an adequate revision control system must address. The SunOS\** .FS SunOS is a trademark of Sun Microsystems, Inc. .FE kernel is composed of over a thousand files spread across a hierarchy of dozens of directories.\** .FS Yes, the SunOS 4.0 kernel is composed of over a \fIthousand\fP files! .FE Pieces of the kernel must be edited by many software developers within an organization. While undesirable in theory, it is not uncommon to have two or more people making modifications to the same file within the kernel sources in order to facilitate a desired change. Existing revision control systems like .SM RCS .LG [Tichy] or .SM SCCS .LG [Bell] serialize file modifications by allowing only one developer to have a writable copy of a particular file at any one point in time. That developer is said to have \*Qlocked\*U the file for his exclusive use, and no other developer is allowed to check out a writable copy of the file until the locking developer has finished impeding others' productivity. Development pressures of productivity and deadlines often force organizations to require that multiple developers be able to simultaneously edit copies of the same revision controlled file. .PP The necessity for multiple developers to modify the same file concurrently questions the value of serialization-based policies in traditional revision control. This paper discusses the approach that Prisma took in adapting a standard revision control system, .SM RCS\c .LG , along with an existing public-domain collection of shell scripts that sits atop .SM RCS .LG and provides the basic conflict-resolution algorithms. The resulting program, \fBcvs\fP, addresses not only the issue of conflict-resolution in a multi-developer open-editing environment, but also the issues of software release control and vendor source support and integration. .NH The CVS Program .PP \fBcvs\fP (Concurrent Versions System) is a front end to the .SM RCS .LG revision control system which extends the notion of revision control from a collection of files in a single directory to a hierarchical collection of directories each containing revision controlled files. Directories and files in the \fBcvs\fP system can be combined together in many ways to form a software release. \fBcvs\fP provides the functions necessary to manage these software releases and to control the concurrent editing of source files among multiple software developers. .PP The six major features of \fBcvs\fP are listed below, and will be described in more detail in the following sections: .RS .IP 1. Concurrent access and conflict-resolution algorithms to guarantee that source changes are not \*Qlost.\*U .IP 2. Support for tracking third-party vendor source distributions while maintaining the local modifications made to those sources. .IP 3. A flexible module database that provides a symbolic mapping of names to components of a larger software distribution. This symbolic mapping provides for location independence within the software release and, for example, allows one to check out a copy of the \*Qdiff\*U program without ever knowing that the sources to \*Qdiff\*U actually reside in the \*Qbin/diff\*U directory. .IP 4. Configurable logging support allows all \*Qcommitted\*U source file changes to be logged using an arbitrary program to save the log messages in a file, notesfile, or news database. .IP 5. A software release can be symbolically tagged and checked out at any time based on that tag. An exact copy of a previous software release can be checked out at any time, \fIregardless\fP of whether files or directories have been added/removed from the \*Qcurrent\*U software release. As well, a \*Qdate\*U can be used to check out the \fIexact\fP version of the software release as of the specified date. .IP 6. A \*Qpatch\*U format file [Wall] can be produced between two software releases, even if the releases span multiple directories. .RE .PP The sources maintained by \fBcvs\fP are kept within a single directory hierarchy known as the \*Qsource repository.\*U This \*Qsource repository\*U holds the actual .SM RCS .LG \*Q,v\*U files directly, as well as a special per-repository directory (\c .SM CVSROOT.adm\c .LG ) which contains a small number of administrative files that describe the repository and how it can be accessed. See Figure 1 for a picture of the \fBcvs\fP tree. .KF .hl .DS B .PS line from 4.112,9.200 to 5.550,8.887 line from 5.447,8.884 to 5.550,8.887 to 5.458,8.933 line from 4.112,9.200 to 4.550,8.950 line from 4.451,8.978 to 4.550,8.950 to 4.476,9.021 line from 4.112,9.200 to 3.737,8.887 line from 3.798,8.971 to 3.737,8.887 to 3.830,8.932 line from 3.612,8.762 to 4.737,8.137 line from 4.638,8.164 to 4.737,8.137 to 4.662,8.208 line from 3.612,8.762 to 3.737,8.137 line from 3.693,8.231 to 3.737,8.137 to 3.742,8.240 line from 3.612,8.762 to 2.612,8.200 line from 2.687,8.271 to 2.612,8.200 to 2.712,8.227 line from 2.362,9.262 to 2.737,8.950 line from 2.645,8.995 to 2.737,8.950 to 2.677,9.033 line from 2.362,9.262 to 1.925,8.950 line from 1.992,9.028 to 1.925,8.950 to 2.021,8.988 line from 3.362,9.762 to 4.050,9.387 line from 3.950,9.413 to 4.050,9.387 to 3.974,9.457 line from 3.362,9.762 to 2.487,9.387 line from 2.570,9.450 to 2.487,9.387 to 2.589,9.404 .ps 11 "newfs.c,v" at 4.487,8.043 ljust .ps 11 "mkfs.c,v" at 3.487,8.043 ljust .ps 11 "Makefile,v" at 2.237,8.043 ljust .ps 11 "newfs" at 3.487,8.793 ljust .ps 11 "halt.c,v" at 5.487,8.793 ljust .ps 11 "Makefile,v" at 4.237,8.793 ljust .ps 11 "modules,v" at 2.487,8.793 ljust .ps 11 "loginfo,v" at 1.488,8.793 ljust .ps 11 "etc" at 3.987,9.293 ljust .ps 11 "CVSROOT.adm" at 1.988,9.293 ljust .ps 11 "/src/master" at 2.987,9.793 ljust .PE .DE .hl .ce 100 .LG \fBFigure 1.\fP .SM \fBcvs\fP Source Repository .ce 0 .sp .KE .NH 2 Software Conflict Resolution\** .FS The basic conflict-resolution algorithms used in the \fBcvs\fP program find their roots in the original work done by Dick Grune at Vrije Universiteit in Amsterdam and posted to \fBcomp.sources.unix\fP in the volume 6 release sometime in 1986. This original version of \fBcvs\fP was a collection of shell scripts that combined to form a front end to the .SM RCS .LG programs. .FE .PP \fBcvs\fP allows several software developers to edit personal copies of a revision controlled file concurrently. The revision number of each checked out file is maintained independently for each user, and \fBcvs\fP forces the checked out file to be current with the \*Qhead\*U revision before it can be \*Qcommitted\*U as a permanent change. A checked out file is brought up-to-date with the \*Qhead\*U revision using the \*Qupdate\*U command of \fBcvs\fP. This command compares the \*Qhead\*U revision number with that of the user's file and performs an .SM RCS .LG merge operation if they are not the same. The result of the merge is a file that contains the user's modifications and those modifications that were \*Qcommitted\*U after the user checked out his version of the file (as well as a backup copy of the user's original file). \fBcvs\fP points out any conflicts during the merge. It is the user's responsibility to resolve these conflicts and to \*Qcommit\*U his/her changes when ready. .PP Although the \fBcvs\fP conflict-resolution algorithm was defined in 1986, it is remarkably similar to the \*QCopy-Modify-Merge\*U scenario included with NSE\** .FS NSE is the Network Software Environment, a product of Sun Microsystems, Inc. .FE and described in [Honda] and [Courington]. The following explanation from [Honda] also applies to \fBcvs\fP: .QP Simply stated, a developer copies an object without locking it, modifies the copy, and then merges the modified copy with the original. This paradigm allows developers to work in isolation from one another since changes are made to copies of objects. Because locks are not used, development is not serialized and can proceed in parallel. Developers, however, must merge objects after the changes have been made. In particular, a developer must resolve conflicts when the same object has been modified by someone else. .PP In practice, Prisma has found that conflicts that occur when the same object has been modified by someone else are quite rare. When they do happen, the changes made by the other developer are usually easily resolved. This practical use has shown that the \*QCopy-Modify-Merge\*U paradigm is a correct and useful one. .NH 2 Tracking Third-Party Source Distributions .PP Currently, a large amount of software is based on source distributions from a third-party distributor. It is often the case that local modifications are to be made to this distribution, \fIand\fP that the vendor's future releases should be tracked. Rolling your local modifications forward into the new vendor release is a time-consuming task, but \fBcvs\fP can ease this burden somewhat. The \fBcheckin\fP program of \fBcvs\fP initially sets up a source repository by integrating the source modules directly from the vendor's release, preserving the directory hierarchy of the vendor's distribution. The branch support of .SM RCS .LG is used to build this vendor release as a branch of the main .SM RCS .LG trunk. Figure 2 shows how the \*Qhead\*U tracks a sample vendor branch when no local modifications have been made to the file. .KF .hl .DS B .PS ellipse at 3.237,6.763 wid 1.000 ht 0.500 dashwid = 0.050i line dashed from 3.237,7.513 to 3.737,7.513 to 3.737,9.762 to 4.237,9.762 line from 4.138,9.737 to 4.237,9.762 to 4.138,9.787 line dashed from 2.237,8.262 to 3.237,8.262 to 3.237,7.013 line from 3.212,7.112 to 3.237,7.013 to 3.262,7.112 line from 3.737,6.763 to 4.237,6.763 line from 4.138,6.737 to 4.237,6.763 to 4.138,6.788 line from 2.237,6.763 to 2.737,6.763 line from 2.637,6.737 to 2.737,6.763 to 2.637,6.788 line from 1.738,6.013 to 1.738,6.513 line from 1.762,6.413 to 1.738,6.513 to 1.713,6.413 line from 1.238,7.013 to 2.237,7.013 to 2.237,6.513 to 1.238,6.513 to 1.238,7.013 line from 4.237,9.012 to 5.237,9.012 to 5.237,8.512 to 4.237,8.512 to 4.237,9.012 line from 4.237,8.012 to 5.237,8.012 to 5.237,7.513 to 4.237,7.513 to 4.237,8.012 line from 4.237,7.013 to 5.237,7.013 to 5.237,6.513 to 4.237,6.513 to 4.237,7.013 line from 4.737,7.013 to 4.737,7.513 line from 4.763,7.413 to 4.737,7.513 to 4.712,7.413 line from 4.737,8.012 to 4.737,8.512 line from 4.763,8.412 to 4.737,8.512 to 4.712,8.412 line from 4.237,10.012 to 5.237,10.012 to 5.237,9.512 to 4.237,9.512 to 4.237,10.012 line from 4.737,9.012 to 4.737,9.512 line from 4.763,9.412 to 4.737,9.512 to 4.712,9.412 line from 5.987,5.013 to 5.987,6.013 to 0.988,6.013 to 0.988,5.013 to 5.987,5.013 .ps 11 "\"HEAD\"" at 1.550,8.231 ljust .ps 11 "'SunOS'" at 2.987,6.293 ljust .ps 11 "1.1.1" at 3.050,6.793 ljust .ps 11 "1.1" at 1.613,6.793 ljust .ps 11 "1.1.1.1" at 4.487,6.793 ljust .ps 11 "1.1.1.2" at 4.487,7.793 ljust .ps 11 "1.1.1.3" at 4.487,8.793 ljust .ps 11 "1.1.1.4" at 4.487,9.793 ljust .ps 11 "'SunOS_4_0'" at 5.487,6.793 ljust .ps 11 "'SunOS_4_0_1'" at 5.487,7.793 ljust .ps 11 "'YAPT_5_5C'" at 5.487,8.793 ljust .ps 11 "'SunOS_4_0_3'" at 5.487,9.793 ljust .ps 11 "rcsfile.c,v" at 2.987,5.543 ljust .PE .DE .hl .ce 100 .LG \fBFigure 2.\fP .SM \fBcvs\fP Vendor Branch Example .ce 0 .sp .3 .KE Once this is done, developers can check out files and make local changes to the vendor's source distribution. These local changes form a new branch to the tree which is then used as the source for future check outs. Figure 3 shows how the \*Qhead\*U moves to the main .SM RCS .LG trunk when a local modification is made. .KF .hl .DS B .PS ellipse at 3.237,6.763 wid 1.000 ht 0.500 dashwid = 0.050i line dashed from 2.800,9.075 to 1.738,9.075 to 1.738,8.012 line from 1.713,8.112 to 1.738,8.012 to 1.762,8.112 line from 1.738,7.013 to 1.738,7.513 line from 1.762,7.413 to 1.738,7.513 to 1.713,7.413 line from 1.238,8.012 to 2.237,8.012 to 2.237,7.513 to 1.238,7.513 to 1.238,8.012 line from 3.737,6.763 to 4.237,6.763 line from 4.138,6.737 to 4.237,6.763 to 4.138,6.788 line from 2.237,6.763 to 2.737,6.763 line from 2.637,6.737 to 2.737,6.763 to 2.637,6.788 line from 1.738,6.013 to 1.738,6.513 line from 1.762,6.413 to 1.738,6.513 to 1.713,6.413 line from 1.238,7.013 to 2.237,7.013 to 2.237,6.513 to 1.238,6.513 to 1.238,7.013 line from 4.237,9.012 to 5.237,9.012 to 5.237,8.512 to 4.237,8.512 to 4.237,9.012 line from 4.237,8.012 to 5.237,8.012 to 5.237,7.513 to 4.237,7.513 to 4.237,8.012 line from 4.237,7.013 to 5.237,7.013 to 5.237,6.513 to 4.237,6.513 to 4.237,7.013 line from 4.737,7.013 to 4.737,7.513 line from 4.763,7.413 to 4.737,7.513 to 4.712,7.413 line from 4.737,8.012 to 4.737,8.512 line from 4.763,8.412 to 4.737,8.512 to 4.712,8.412 line from 4.237,10.012 to 5.237,10.012 to 5.237,9.512 to 4.237,9.512 to 4.237,10.012 line from 4.737,9.012 to 4.737,9.512 line from 4.763,9.412 to 4.737,9.512 to 4.712,9.412 line from 5.987,5.013 to 5.987,6.013 to 0.988,6.013 to 0.988,5.013 to 5.987,5.013 .ps 11 "1.2" at 1.613,7.793 ljust .ps 11 "\"HEAD\"" at 2.862,9.043 ljust .ps 11 "'SunOS'" at 2.987,6.293 ljust .ps 11 "1.1.1" at 3.050,6.793 ljust .ps 11 "1.1" at 1.613,6.793 ljust .ps 11 "1.1.1.1" at 4.487,6.793 ljust .ps 11 "1.1.1.2" at 4.487,7.793 ljust .ps 11 "1.1.1.3" at 4.487,8.793 ljust .ps 11 "1.1.1.4" at 4.487,9.793 ljust .ps 11 "'SunOS_4_0'" at 5.487,6.793 ljust .ps 11 "'SunOS_4_0_1'" at 5.487,7.793 ljust .ps 11 "'YAPT_5_5C'" at 5.487,8.793 ljust .ps 11 "'SunOS_4_0_3'" at 5.487,9.793 ljust .ps 11 "rcsfile.c,v" at 2.987,5.543 ljust .PE .DE .hl .ce 100 .LG \fBFigure 3.\fP .SM \fBcvs\fP Local Modification to Vendor Branch .ce 0 .sp .KE .PP When a new version of the vendor's source distribution arrives, the \fBcheckin\fP program adds the new and changed vendor's files to the already existing source repository. For files that have not been changed locally, the new file from the vendor becomes the current \*Qhead\*U revision. For files that have been modified locally, \fBcheckin\fP warns that the file must be merged with the new vendor release. The \fBcvs\fP \*Qjoin\*U command is a useful tool that aids this process by performing the necessary .SM RCS .LG merge, as is done above when performing an \*Qupdate.\*U .PP There is also limited support for \*Qdual\*U derivations for source files. See Figure 4 for a sample dual-derived file. .KF .hl .DS B .PS ellipse at 2.337,8.575 wid 0.700 ht 0.375 ellipse at 2.312,9.137 wid 0.700 ht 0.375 line from 1.225,9.012 to 1.225,9.363 line from 1.250,9.263 to 1.225,9.363 to 1.200,9.263 line from 0.875,9.725 to 1.600,9.725 to 1.600,9.363 to 0.875,9.363 to 0.875,9.725 line from 0.875,9.012 to 1.600,9.012 to 1.600,8.650 to 0.875,8.650 to 0.875,9.012 line from 4.050,10.200 to 4.775,10.200 to 4.775,9.850 to 4.050,9.850 to 4.050,10.200 line from 4.050,9.475 to 4.775,9.475 to 4.775,9.113 to 4.050,9.113 to 4.050,9.475 line from 4.050,8.762 to 4.775,8.762 to 4.775,8.400 to 4.050,8.400 to 4.050,8.762 line from 4.425,8.762 to 4.425,9.113 line from 4.450,9.013 to 4.425,9.113 to 4.400,9.013 line from 4.425,9.475 to 4.425,9.850 line from 4.450,9.750 to 4.425,9.850 to 4.400,9.750 line from 3.050,10.000 to 3.775,10.000 to 3.775,9.637 to 3.050,9.637 to 3.050,10.000 line from 3.050,9.312 to 3.775,9.312 to 3.775,8.950 to 3.050,8.950 to 3.050,9.312 line from 0.713,7.325 to 0.713,8.075 to 4.925,8.075 to 4.925,7.325 to 0.713,7.325 line from 1.238,8.075 to 1.238,8.637 line from 1.262,8.537 to 1.238,8.637 to 1.213,8.537 line from 1.613,8.825 to 1.975,8.575 line from 1.878,8.611 to 1.975,8.575 to 1.907,8.652 line from 2.675,8.575 to 4.050,8.575 line from 3.950,8.550 to 4.050,8.575 to 3.950,8.600 line from 2.675,9.137 to 3.050,9.137 line from 2.950,9.112 to 3.050,9.137 to 2.950,9.162 line from 3.425,9.325 to 3.425,9.637 line from 3.450,9.537 to 3.425,9.637 to 3.400,9.537 line from 1.613,8.825 to 1.925,9.137 line from 1.872,9.049 to 1.925,9.137 to 1.837,9.084 .ps 11 "'BSD'" at 2.138,9.481 ljust .ps 11 "1.2" at 1.113,9.543 ljust .ps 11 "1.1" at 1.125,8.831 ljust .ps 11 "1.1.1.1" at 4.175,8.543 ljust .ps 11 "1.1.1.2" at 4.175,9.281 ljust .ps 11 "1.1.1.3" at 4.175,9.993 ljust .ps 11 "1.1.2.2" at 3.175,9.793 ljust .ps 11 "1.1.2.1" at 3.175,9.106 ljust .ps 11 "rcsfile.c,v" at 2.425,7.706 ljust .ps 11 "1.1.1" at 2.175,8.568 ljust .ps 11 "'SunOS'" at 2.125,8.243 ljust .ps 11 "1.1.2" at 2.163,9.131 ljust .PE .DE .hl .ce 100 .LG \fBFigure 4.\fP .SM \fBcvs\fP Support For \*QDual\*U Derivations .ce 0 .sp .KE This example tracks the SunOS distribution but includes major changes from Berkeley. These BSD files are saved directly in the .SM RCS .LG file off a new branch. .NH 2 Location Independent Module Database .PP \fBcvs\fP contains support for a simple, yet powerful, \*Qmodule\*U database. For reasons of efficiency, this database is stored in \fBndbm\fP\|(3) format. The module database is used to apply names to collections of directories and files as a matter of convenience for checking out pieces of a large software distribution. The database records the physical location of the sources as a form of information hiding, allowing one to check out whole directory hierarchies or individual files without regard for their actual location within the global source distribution. .PP Consider the following small sample of a module database, which must be tailored manually to each specific source repository environment: .DS \f(CW #key [-option argument] directory [files...] diff bin/diff libc lib/libc sys -o sys/tools/make_links sys modules -i mkmodules CVSROOT.adm modules kernel -a sys lang/adb ps bin Makefile ps.c\fP .DE .PP The \*Qdiff\*U and \*Qlibc\*U modules refer to whole directory hierarchies that are extracted on check out. The \*Qsys\*U module extracts the \*Qsys\*U hierarchy, and runs the \*Qmake_links\*U program at the end of the check out process (the \fI-o\fP option specifies a program to run on check\fIo\fPut). The \*Qmodules\*U module allows one to edit the module database file and runs the \*Qmkmodules\*U program on check\fIi\fPn to regenerate the \fBndbm\fP database that \fBcvs\fP uses. The \*Qkernel\*U module is an alias (as the \fI-a\fP option specifies) which causes the remaining arguments after the \fI-a\fP to be interpreted exactly as if they had been specified on the command line. This is useful for objects that require shared pieces of code from far away places to be compiled (as is the case with the kernel debugger, \fBkadb\fP, which shares code with the standard \fBadb\fP debugger). The \*Qps\*U module shows that the source for \*Qps\*U lives in the \*Qbin\*U directory, but only \fIMakefile\fP and \fIps.c\fP are required to build the object. .PP The module database at Prisma is now populated for the entire UNIX distribution and thereby allows us to issue the following convenient commands to check out components of the UNIX distribution without regard for their actual location within the master source repository: .DS \f(CW example% cvs checkout diff example% cvs checkout libc ps example% cd diff; make\fP .DE .PP In building the module database file, it is quite possible to have name conflicts within a global software distribution. For example, SunOS provides two \fBcat\fP programs: one for the standard environment, \fI/bin/cat\fP, and one for the System V environment, \fI/usr/5bin/cat\fP. We resolved this conflict by naming the standard \fBcat\fP module \*Qcat\*U, and the System V \fBcat\fP module \*Q5cat\*U. Similar name modifications must be applied to other conflicting names, as might be found between a utility program and a library function, though Prisma chose not to include individual library functions within the module database at this time. .NH 2 Configurable Logging Support .PP The \fBcvs\fP \*Qcommit\*U command is used to make a permanent change to the master source repository (where the .SM RCS .LG \*Q,v\*U files live). Whenever a \*Qcommit\*U is done, the log message for the change is carefully logged by an arbitrary program (in a file, notesfile, news database, or mail). For example, a collection of these updates can be used to produce release notices. \fBcvs\fP can be configured to send log updates through one or more filter programs, based on a regular expression match on the directory that is being changed. This allows multiple related or unrelated projects to exist within a single \fBcvs\fP source repository tree, with each different project sending its \*Qcommit\*U reports to a unique log device. .PP A sample logging configuration file might look as follows: .DS \f(CW #regex filter-program DEFAULT /usr/local/bin/nfpipe -t %s utils.updates ^diag /usr/local/bin/nfpipe -t %s diag.updates ^local /usr/local/bin/nfpipe -t %s local.updates ^perf /usr/local/bin/nfpipe -t %s perf.updates ^sys /usr/local/bin/nfpipe -t %s kernel.updates\fP .DE .PP This sample allows the diagnostics and performance groups to share the same source repository with the kernel and utilities groups. Changes that they make are sent directly to their own notesfile [Essick] through the \*Qnfpipe\*U program. A sufficiently simple title is substituted for the \*Q%s\*U argument before the filter program is executed. This logging configuration file is tailored manually to each specific source repository environment. .NH 2 Tagged Releases and Dates .PP Any release can be given a symbolic tag name that is stored directly in the .SM RCS .LG files. This tag can be used at any time to get an exact copy of any previous release. With equal ease, one can also extract an exact copy of the source files as of any arbitrary date in the past as well. Thus, all that's required to tag the current kernel, and to tag the kernel as of the Fourth of July is: .DS \f(CW example% cvs tag TEST_KERNEL kernel example% cvs tag -D 'July 4' PATRIOTIC_KERNEL kernel\fP .DE The following command would retrieve an exact copy of the test kernel at some later date: .DS \f(CW example% cvs checkout -fp -rTEST_KERNEL kernel\fP .DE The \fI-f\fP option causes only files that match the specified tag to be extracted, while the \fI-p\fP option automatically prunes empty directories. Consequently, directories added to the kernel after the test kernel was tagged are not included in the newly extracted copy of the test kernel. .PP The \fBcvs\fP date support has exactly the same interface as that provided with .SM RCS\c .LG , however \fBcvs\fP must process the \*Q,v\*U files directly due to the special handling required by the vendor branch support. The standard .SM RCS .LG date handling only processes one branch (or the main trunk) when checking out based on a date specification. \fBcvs\fP must instead process the current \*Qhead\*U branch and, if a match is not found, proceed to look for a match on the vendor branch. This, combined with reasons of performance, is why \fBcvs\fP processes revision (symbolic and numeric) and date specifications directly from the \*Q,v\*U files. .NH 2 Building \*Qpatch\*U Source Distributions .PP \fBcvs\fP can produce a \*Qpatch\*U format [Wall] output file which can be used to bring a previously released software distribution current with the newest release. This patch file supports an entire directory hierarchy within a single patch, as well as being able to add whole new files to the previous release. One can combine symbolic revisions and dates together to display changes in a very generic way: .DS \f(CW example% cvs patch -D 'December 1, 1988' \e -D 'January 1, 1989' sys\fP .DE This example displays the kernel changes made in the month of December, 1988. To release a patch file, for example, to take the \fBcvs\fP distribution from version 1.0 to version 1.4 might be done as follows: .DS \f(CW example% cvs patch -rCVS_1_0 -rCVS_1_4 cvs\fP .DE .NH CVS Experience .NH 2 Statistics .PP A quick summary of the scale that \fBcvs\fP is addressing today can be found in Table 1. .KF .TS box center tab(:); c s c s c | c l | n . \fB\s+2Revision Control Statistics at Prisma as of 11/11/89\fP\s-2 _ How Many...:Total = Files:17243 Directories:1005 Lines of code:3927255 Removed files:131 Software developers:14 Software groups:6 Megabytes of source:128 .TE .ce 100 .LG \fBTable 1.\fP .SM \fBcvs\fP Statistics .ce 0 .sp .3 .KE Table 2 shows the history of files changed or added and the number of source lines affected by the change at Prisma. Only changes made to the kernel sources are included. .KF .TS box center tab(:); c s s s s c s s s s c || c | c || c | c c || c | c || c | c l || n | n || n | n. \fB\s+2Prisma Kernel Source File Changes By Month, 1988-1989\fP\s-2 _ Month:# Changed:# Lines:# Added:# Lines \^:Files:Changed:Files:Added = Dec:87:3619:68:9266 Jan:39:4324:0:0 Feb:73:1578:5:3550 Mar:99:5301:18:11461 Apr:112:7333:11:5759 May:138:5371:17:13986 Jun:65:2261:27:12875 Jul:34:2000:1:58 Aug:65:6378:8:4724 Sep:266:23410:113:39965 Oct:22:621:1:155 Total:1000:62196:269:101799 .TE .ce 100 .LG \fBTable 2.\fP .SM \fBcvs\fP Usage History for the Kernel .ce 0 .sp .KE The large number of source file changes made in September are the result of merging the SunOS 4.0.3 sources into the kernel. This merge process is described in section 3.3. .NH 2 Performance .PP The performance of \fBcvs\fP is currently quite reasonable. Little effort has been expended on tuning \fBcvs\fP, although performance related decisions were made during the \fBcvs\fP design. For example, \fBcvs\fP parses the .SM RCS .LG \*Q,v\*U files directly instead of running an .SM RCS .LG process. This includes following branches as well as integrating with the vendor source branches and the main trunk when checking out files based on a date. .PP Checking out the entire kernel source tree (1223 files/59 directories) currently takes 16 wall clock minutes on a Sun-4/280. However, bringing the tree up-to-date with the current kernel sources, once it has been checked out, takes only 1.5 wall clock minutes. Updating the \fIcomplete\fP 128 MByte source tree under \fBcvs\fP control (17243 files/1005 directories) takes roughly 28 wall clock minutes and utilizes one-third of the machine. For now this is entirely acceptable; improvements on these numbers will possibly be made in the future. .NH 2 The SunOS 4.0.3 Merge .PP The true test of the \fBcvs\fP vendor branch support came with the arrival of the SunOS 4.0.3 source upgrade tape. As described above, the \fBcheckin\fP program was used to install the new sources and the resulting output file listed the files that had been locally modified, needing to be merged manually. For the kernel, there were 94 files in conflict. The \fBcvs\fP \*Qjoin\*U command was used on each of the 94 conflicting files, and the remaining conflicts were resolved. .PP The \*Qjoin\*U command performs an \fBrcsmerge\fP operation. This in turn uses \fI/usr/lib/diff3\fP to produce a three-way diff file. As it happens, the \fBdiff3\fP program has a hard-coded limit of 200 source-file changes maximum. This proved to be too small for a few of the kernel files that needed merging by hand, due to the large number of local changes that Prisma had made. The \fBdiff3\fP problem was solved by increasing the hard-coded limit by an order of magnitude. .PP The SunOS 4.0.3 kernel source upgrade distribution contained 346 files, 233 of which were modifications to previously released files, and 113 of which were newly added files. \fBcheckin\fP added the 113 new files to the source repository without intervention. Of the 233 modified files, 139 dropped in cleanly by \fBcheckin\fP, since Prisma had not made any local changes to them, and 94 required manual merging due to local modifications. The 233 modified files consisted of 20,766 lines of differences. It took one developer two days to manually merge the 94 files using the \*Qjoin\*U command and resolving conflicts manually. An additional day was required for kernel debugging. The entire process of merging over 20,000 lines of differences was completed in less than a week. This one time-savings alone was justification enough for the \fBcvs\fP development effort; we expect to gain even more when tracking future SunOS releases. .NH Future Enhancements and Current Bugs .PP Since \fBcvs\fP was designed to be incomplete, for reasons of design simplicity, there are naturally a good number of enhancements that can be made to make it more useful. As well, some nuisances exist in the current implementation. .RS .IP \(bu 3 \fBcvs\fP does not currently \*Qremember\*U who has a checked out a copy of a module. As a result, it is impossible to know who might be working on the same module that you are. A simple-minded database that is updated nightly would likely suffice. .IP \(bu 3 Signal processing, keyboard interrupt handling in particular, is currently somewhat weak. This is due to the heavy use of the \fBsystem\fP\|(3) library function to execute .SM RCS .LG programs like \fBco\fP and \fBci\fP. It sometimes takes multiple interrupts to make \fBcvs\fP quit. This can be fixed by using a home-grown \fBsystem\fP\|() replacement. .IP \(bu 3 Security of the source repository is currently not dealt with directly. The usual UNIX approach of user-group-other security permissions through the file system is utilized, but nothing else. \fBcvs\fP could likely be a set-group-id executable that checks a protected database to verify user access permissions for particular objects before allowing any operations to affect those objects. .IP \(bu 3 With every checked-out directory, \fBcvs\fP maintains some administrative files that record the current revision numbers of the checked-out files as well as the location of the respective source repository. \fBcvs\fP does not recover nicely at all if these administrative files are removed. .IP \(bu 3 The source code for \fBcvs\fP has been tested extensively on Sun-3 and Sun-4 systems, all running SunOS 4.0 or later versions of the operating system. Since the code has not yet been compiled under other platforms, the overall portability of the code is still questionable. .IP \(bu 3 As witnessed in the previous section, the \fBcvs\fP method for tracking third party vendor source distributions can work quite nicely. However, if the vendor changes the directory structure or the file names within the source distribution, \fBcvs\fP has no way of matching the old release with the new one. It is currently unclear as to how to solve this, though it is certain to happen in practice. .RE .NH Availability .PP The \fBcvs\fP program sources can be found in a recent posting to the \fBcomp.sources.unix\fP newsgroup. It is also currently available via anonymous ftp from \*Qprisma.com\*U. Copying rights for \fBcvs\fP will be covered by the GNU General Public License. .NH Summary .PP Prisma has used \fBcvs\fP since December, 1988. It has evolved to meet our specific needs of revision and release control. We will make our code freely available so that others can benefit from our work, and can enhance \fBcvs\fP to meet broader needs yet. .PP Many of the other software release and revision control systems, like the one described in [Glew], appear to use a collection of tools that are geared toward specific environments \(em one set of tools for the kernel, one set for \*Qgeneric\*U software, one set for utilities, and one set for kernel and utilities. Each of these tool sets apparently handle some specific aspect of the problem uniquely. \fBcvs\fP took a somewhat different approach. File sharing through symbolic or hard links is not addressed; instead, the disk space is simply burned since it is \*Qcheap.\*U Support for producing objects for multiple architectures is not addressed; instead, a parallel checked-out source tree must be used for each architecture, again wasting disk space to simplify complexity and ease of use \(em punting on this issue allowed \fIMakefile\fPs to remain unchanged, unlike the approach taken in [Mahler], thereby maintaining closer compatibility with the third-party vendor sources. \fBcvs\fP is essentially a source-file server, making no assumptions or special handling of the sources that it controls. To \fBcvs\fP: .QP A source is a source, of course, of course, unless of course the source is Mr. Ed.\** .FS \fBcvs\fP, of course, does not really discriminate against Mr. Ed.\** .FE .FS Yet. .FE .LP Sources are maintained, saved, and retrievable at any time based on symbolic or numeric revision or date in the past. It is entirely up to \fBcvs\fP wrapper programs to provide for release environments and such. .PP The major advantage of \fBcvs\fP over the many other similar systems that have already been designed is the simplicity of \fBcvs\fP. \fBcvs\fP contains only three programs that do all the work of release and revision control, and two manually-maintained administrative files for each source repository. Of course, the deciding factor of any tool is whether people use it, and if they even \fIlike\fP to use it. At Prisma, \fBcvs\fP prevented members of the kernel group from killing each other. .NH Acknowledgements .PP Many thanks to Dick Grune at Vrije Universiteit in Amsterdam for his work on the original version of \fBcvs\fP and for making it available to the world. Thanks to Jeff Polk of Prisma for helping with the design of the module database, vendor branch support, and for writing the \fBcheckin\fP shell script. Thanks also to the entire software group at Prisma for taking the time to review the paper and correct my grammar. .NH References .IP [Bell] 12 Bell Telephone Laboratories. \*QSource Code Control System User's Guide.\*U \fIUNIX System III Programmer's Manual\fP, October 1981. .IP [Courington] 12 Courington, W. \fIThe Network Software Environment\fP, Sun Technical Report FE197-0, Sun Microsystems Inc, February 1989. .IP [Essick] 12 Essick, Raymond B. and Robert Bruce Kolstad. \fINotesfile Reference Manual\fP, Department of Computer Science Technical Report #1081, University of Illinois at Urbana-Champaign, Urbana, Illinois, 1982, p. 26. .IP [Glew] 12 Glew, Andy. \*QBoxes, Links, and Parallel Trees: Elements of a Configuration Management System.\*U \fIWorkshop Proceedings of the Software Management Conference\fP, USENIX, New Orleans, April 1989. .IP [Grune] 12 Grune, Dick. Distributed the original shell script version of \fBcvs\fP in the \fBcomp.sources.unix\fP volume 6 release in 1986. .IP [Honda] 12 Honda, Masahiro and Terrence Miller. \*QSoftware Management Using a CASE Environment.\*U \fIWorkshop Proceedings of the Software Management Conference\fP, USENIX, New Orleans, April 1989. .IP [Mahler] 12 Mahler, Alex and Andreas Lampen. \*QAn Integrated Toolset for Engineering Software Configurations.\*U \fIProceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments\fP, ACM, Boston, November 1988. Described is the \fBshape\fP toolkit posted to the \fBcomp.sources.unix\fP newsgroup in the volume 19 release. .IP [Tichy] 12 Tichy, Walter F. \*QDesign, Implementation, and Evaluation of a Revision Control System.\*U \fIProceedings of the 6th International Conference on Software Engineering\fP, IEEE, Tokyo, September 1982. .IP [Wall] 12 Wall, Larry. The \fBpatch\fP program is an indispensable tool for applying a diff file to an original. Can be found on uunet.uu.net in ~ftp/pub/patch.tar. usr/doc/cvs-1.3/doc/Makefile100644 2122 1750 2440 5275727126 14652 0ustar steinberert# Generated automatically from Makefile.in by configure. # Makefile for GNU CVS documentation. # Do not use this makefile directly, but only from `../Makefile'. # Copyright (C) 1986, 1988-1990 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # @(#)Makefile.in 1.3 92/04/10 SHELL = /bin/sh srcdir = . DISTFILES = Makefile.in cvs.ms cvs.ps all: .PHONY: all install: all .PHONY: install tags: .PHONY: tags TAGS: .PHONY: TAGS ls: @echo $(DISTFILES) .PHONY: ls clean: /bin/rm -f *.o core .PHONY: clean distclean: clean rm -f Makefile .PHONY: distclean realclean: distclean .PHONY: realclean dist: ln $(DISTFILES) ../`cat ../.fname`/doc .PHONY: dist usr/doc/cvs-1.3/doc/cvs.ps100644 2122 1750 254376 5333745462 14430 0ustar steinberert%!PS-Adobe-3.0 %%Creator: groff version 1.06 %%DocumentNeededResources: font Times-Bold %%+ font Times-Italic %%+ font Times-Roman %%+ font Courier %%DocumentSuppliedResources: procset grops 1.06 0 %%Pages: 12 %%PageOrder: Ascend %%Orientation: Portrait %%EndComments %%BeginProlog %%BeginResource: procset grops 1.06 0 %!PS-Adobe-3.0 Resource-ProcSet /setpacking where { pop currentpacking true setpacking } if /grops 120 dict dup begin % The ASCII code of the space character. /SC 32 def /A /show load def /B { 0 SC 3 -1 roll widthshow } bind def /C { 0 exch ashow } bind def /D { 0 exch 0 SC 5 2 roll awidthshow } bind def /E { 0 rmoveto show } bind def /F { 0 rmoveto 0 SC 3 -1 roll widthshow } bind def /G { 0 rmoveto 0 exch ashow } bind def /H { 0 rmoveto 0 exch 0 SC 5 2 roll awidthshow } bind def /I { 0 exch rmoveto show } bind def /J { 0 exch rmoveto 0 SC 3 -1 roll widthshow } bind def /K { 0 exch rmoveto 0 exch ashow } bind def /L { 0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow } bind def /M { rmoveto show } bind def /N { rmoveto 0 SC 3 -1 roll widthshow } bind def /O { rmoveto 0 exch ashow } bind def /P { rmoveto 0 exch 0 SC 5 2 roll awidthshow } bind def /Q { moveto show } bind def /R { moveto 0 SC 3 -1 roll widthshow } bind def /S { moveto 0 exch ashow } bind def /T { moveto 0 exch 0 SC 5 2 roll awidthshow } bind def % name size font SF - /SF { findfont exch [ exch dup 0 exch 0 exch neg 0 0 ] makefont dup setfont [ exch /setfont cvx ] cvx bind def } bind def % name a c d font MF - /MF { findfont [ 5 2 roll 0 3 1 roll % b neg 0 0 ] makefont dup setfont [ exch /setfont cvx ] cvx bind def } bind def /level0 0 def /RES 0 def /PL 0 def /LS 0 def % Guess the page length. % This assumes that the imageable area is vertically centered on the page. % PLG - length /PLG { gsave newpath clippath pathbbox grestore exch pop add exch pop } bind def % BP - /BP { /level0 save def 1 setlinecap 1 setlinejoin 72 RES div dup scale LS { 90 rotate } { 0 PL translate } ifelse 1 -1 scale } bind def /EP { level0 restore showpage } bind def % centerx centery radius startangle endangle DA - /DA { newpath arcn stroke } bind def % x y SN - x' y' % round a position to nearest (pixel + (.25,.25)) /SN { transform .25 sub exch .25 sub exch round .25 add exch round .25 add exch itransform } bind def % endx endy startx starty DL - % we round the endpoints of the line, so that parallel horizontal % and vertical lines will appear even /DL { SN moveto SN lineto stroke } bind def % centerx centery radius DC - /DC { newpath 0 360 arc closepath } bind def /TM matrix def % width height centerx centery DE - /DE { TM currentmatrix pop translate scale newpath 0 0 .5 0 360 arc closepath TM setmatrix } bind def % these are for splines /RC /rcurveto load def /RL /rlineto load def /ST /stroke load def /MT /moveto load def /CL /closepath load def % fill the last path % amount FL - /FL { currentgray exch setgray fill setgray } bind def % fill with the ``current color'' /BL /fill load def /LW /setlinewidth load def % new_font_name encoding_vector old_font_name RE - /RE { findfont dup maxlength dict begin { 1 index /FID ne { def } { pop pop } ifelse } forall /Encoding exch def dup /FontName exch def currentdict end definefont pop } bind def /DEFS 0 def % hpos vpos EBEGIN - /EBEGIN { moveto DEFS begin } bind def /EEND /end load def /CNT 0 def /level1 0 def % llx lly newwid wid newht ht newllx newlly PBEGIN - /PBEGIN { /level1 save def translate div 3 1 roll div exch scale neg exch neg exch translate % set the graphics state to default values 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash /setstrokeadjust where { pop false setstrokeadjust } if /setoverprint where { pop false setoverprint } if newpath /CNT countdictstack def userdict begin /showpage {} def } bind def /PEND { clear countdictstack CNT sub { end } repeat level1 restore } bind def end def /setpacking where { pop setpacking } if %%EndResource %%EndProlog %%BeginSetup %%IncludeResource: font Times-Bold %%IncludeResource: font Times-Italic %%IncludeResource: font Times-Roman %%IncludeResource: font Courier grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 def/PL 841.89 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron/scaron /zcaron/Ydieresis/trademark/quotesingle/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/space /exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft /parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four /five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C /D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash /bracketright/circumflex/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q /r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase /guillemotleft/guillemotright/bullet/florin/fraction/perthousand/dagger /daggerdbl/endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut /dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash /quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen/brokenbar /section/dieresis/copyright/ordfeminine/guilsinglleft/logicalnot/minus /registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu /paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guilsinglright /onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde /Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute /Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls /agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve /oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex /udieresis/yacute/thorn/ydieresis]def/Courier@0 ENC0/Courier RE/Times-Roman@0 ENC0/Times-Roman RE/Times-Italic@0 ENC0/Times-Italic RE/Times-Bold@0 ENC0 /Times-Bold RE %%EndSetup %%Page: 1 1 %%BeginPageSetup BP %%EndPageSetup /F0 14/Times-Bold@0 SF(CVS II:)282.473 127 Q -.14(Pa)199.054 143 S (rallelizing Softwar).14 E 3.5(eD)-.252 G -3.22 -.21(ev e)344.864 143 T (lopment).21 E/F1 12/Times-Italic@0 SF(Brian Berliner)270.834 169 Q (Prisma, Inc.)276.504 188.5 Q(5465 Mark Dabling Blvd.)244.338 201.5 Q(Color) 233.916 214.5 Q(ado Springs, CO)-.18 E(80918)6 E(berliner@prisma.com)252.984 227.5 Q/F2 11/Times-Italic@0 SF(ABSTRA)280.188 266.5 Q(CT)-.33 E/F3 11 /Times-Roman@0 SF 1.027 (The program described in this paper \214lls a need in the UNIX community)153.5 296.4 R 1.371(for a freely a)126 309.4 R -.275(va)-.22 G 1.372 (ilable tool to manage softw).275 F 1.372(are re)-.11 F 1.372 (vision and release control in a)-.275 F(multi-de)126 322.4 Q -.165(ve)-.275 G (loper).165 E 8.601(,m)-.44 G(ulti-directory)215.297 322.4 Q 8.601(,m)-.715 G 5.851(ulti-group en)292.538 322.4 R 8.601(vironment. This)-.44 F 5.85 (tool also)8.6 F .43(addresses the increasing need for tracking third-party v) 126 335.4 R .431(endor source distrib)-.165 F(utions)-.22 E (while trying to maintain local modi\214cations to earlier releases.)126 348.4 Q/F4 11/Times-Bold@0 SF 2.75(1. Backgr)90 387.4 R(ound)-.198 E F3 .774(In lar) 117.5 404.3 R .774(ge softw)-.198 F .774(are de)-.11 F -.165(ve)-.275 G .774 (lopment projects, it is usually necessary for more than one softw).165 F(are) -.11 E(de)90 417.3 Q -.165(ve)-.275 G 1.494 (loper to be modifying \(usually dif).165 F 1.494 (ferent\) modules of the code at the same time.)-.275 F 1.495(Some of)6.995 F .598(these code modi\214cations are done in an e)90 430.3 R .597 (xperimental sense, at least until the code functions cor)-.165 F(-)-.22 E (rectly)90 443.3 Q 3.769(,a)-.715 G 1.02 (nd some testing of the entire program is usually necessary)125.735 443.3 R 6.52(.T)-.715 G 1.02(hen, the modi\214cations are)405.288 443.3 R .882 (returned to a master source repository so that others in the project can enjo) 90 456.3 R 3.631(yt)-.11 G .881(he ne)441.95 456.3 R 3.631(wb)-.275 G .881 (ug-\214x or)482.927 456.3 R(functionality)90 469.3 Q 6.503(.I)-.715 G 3.753 (no)158.422 469.3 S 1.004(rder to manage such a project, some sort of re) 173.175 469.3 R 1.004(vision control system is neces-)-.275 F(sary)90 482.3 Q (.)-.715 E(Speci\214cally)117.5 499.2 Q 4.219(,U)-.715 G(NIX)183.638 499.2 Q/F5 7.7/Times-Roman@0 SF(1)203.185 494.69 Q F3 -.11(ke)211.254 499.2 S 1.469 (rnel de).11 F -.165(ve)-.275 G 1.468(lopment is an e).165 F 1.468(xcellent e) -.165 F 1.468(xample of the problems that an)-.165 F .692(adequate re)90 512.2 R .692(vision control system must address.)-.275 F .693(The SunOS)6.193 F F5(2) 358.243 507.69 Q F3 -.11(ke)365.536 512.2 S .693(rnel is composed of o).11 F -.165(ve)-.165 G 3.443(rat).165 G(hou-)501.837 512.2 Q .518 (sand \214les spread across a hierarch)90 525.2 R 3.268(yo)-.055 G 3.268(fd) 256.172 525.2 S .518(ozens of directories.)268.603 525.2 R F5(3)358.529 520.69 Q F3 .517(Pieces of the k)365.646 525.2 R .517(ernel must be edited)-.11 F 2.573(by man)90 538.2 R 5.323(ys)-.165 G(oftw)140.202 538.2 Q 2.573(are de)-.11 F -.165(ve)-.275 G 2.574(lopers within an or).165 F -.055(ga)-.198 G 5.324 (nization. While).055 F 2.574(undesirable in theory)5.324 F 5.324(,i)-.715 G 5.324(ti)486.899 538.2 S 5.324(sn)498.339 538.2 S(ot)513.442 538.2 Q .956 (uncommon to ha)90 551.2 R 1.286 -.165(ve t)-.22 H 1.176 -.11(wo o).165 H 3.706 (rm).11 G .955 (ore people making modi\214cations to the same \214le within the k)221.082 551.2 R(ernel)-.11 E .372(sources in order to f)90 564.2 R .372 (acilitate a desired change.)-.11 F .372(Existing re)5.872 F .373 (vision control systems lik)-.275 F(e)-.11 E/F6 9/Times-Roman@0 SF(RCS)3.123 E F3([T)2.623 E(ich)-.385 E(y])-.055 E(or)90 577.2 Q F6(SCCS)3.088 E F3 .337 ([Bell] serialize \214le modi\214cations by allo)2.588 F .337(wing only one de) -.275 F -.165(ve)-.275 G .337(loper to ha).165 F .667 -.165(ve a w)-.22 H .337 (ritable cop).165 F(y)-.11 E .086(of a particular \214le at an)90 590.2 R 2.836 (yo)-.165 G .086(ne point in time.)206.434 590.2 R .086(That de)5.586 F -.165 (ve)-.275 G .086(loper is said to ha).165 F .416 -.165(ve \231)-.22 H(lock).165 E .087(ed\232 the \214le for his)-.11 F -.165(ex)90 603.2 S(clusi).165 E .835 -.165(ve u)-.275 H .505(se, and no other de).165 F -.165(ve)-.275 G .505 (loper is allo).165 F .505(wed to check out a writable cop)-.275 F 3.254(yo) -.11 G 3.254(ft)444.205 603.2 S .504(he \214le until the)454.18 603.2 R .554 (locking de)90 616.2 R -.165(ve)-.275 G .554 (loper has \214nished impeding others' producti).165 F(vity)-.275 E 6.054(.D) -.715 G -2.365 -.275(ev e)376.897 616.2 T .554(lopment pressures of produc-) .275 F(ti)90 629.2 Q .244(vity and deadlines often force or)-.275 F -.055(ga) -.198 G .244(nizations to require that multiple de).055 F -.165(ve)-.275 G .244 (lopers be able to simul-).165 F(taneously edit copies of the same re)90 642.2 Q(vision controlled \214le.)-.275 E .36 LW 162 666.75 90 666.75 DL/F7 6.3 /Times-Roman@0 SF(1)101 676.01 Q F6(UNIX is a re)2.25 3.69 M (gistered trademark of A)-.135 E(T&T)-.999 E(.)-.666 E F7(2)101 688.96 Q F6 (SunOS is a trademark of Sun Microsystems, Inc.)2.25 3.69 M F7(3)101 701.91 Q F6 -.9(Ye)2.25 3.69 O(s, the SunOS 4.0 k).9 E(ernel is composed of o)-.09 E -.135(ve)-.135 G 2.25(ra).135 G/F8 9/Times-Italic@0 SF(thousand)A F6(\214les!) 2.25 E EP %%Page: 2 2 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF(-2-)299.587 49 Q 1.36(The necessity for multiple de) 117.5 85 R -.165(ve)-.275 G 1.36 (lopers to modify the same \214le concurrently questions the).165 F -.275(va)90 98 S 2.578(lue of serialization-based policies in traditional re).275 F 2.578 (vision control.)-.275 F 2.577(This paper discusses the)8.078 F 1.728 (approach that Prisma took in adapting a standard re)90 111 R 1.728 (vision control system,)-.275 F/F1 9/Times-Roman@0 SF(RCS)4.478 E F0 4.478(,a)C 1.728(long with an)463.543 111 R -.165(ex)90 124 S 1.2 (isting public-domain collection of shell scripts that sits atop).165 F F1(RCS) 3.95 E F0 1.199(and pro)3.449 F 1.199(vides the basic con-)-.165 F .965 (\215ict-resolution algorithms.)90 137 R .966(The resulting program,)6.466 F/F2 11/Times-Bold@0 SF(cvs)3.716 E F0 3.716(,a)C .966 (ddresses not only the issue of con\215ict-)347.552 137 R .789 (resolution in a multi-de)90 150 R -.165(ve)-.275 G .789(loper open-editing en) .165 F .789(vironment, b)-.44 F .789(ut also the issues of softw)-.22 F .789 (are release)-.11 F(control and v)90 163 Q(endor source support and inte)-.165 E(gration.)-.165 E F2 2.75(2. The)90 189 R(CVS Pr)2.75 E(ogram)-.198 E(cvs) 117.5 205.9 Q F0 .89(\(Concurrent V)3.64 F .891 (ersions System\) is a front end to the)-1.221 F F1(RCS)3.641 E F0(re)3.141 E .891(vision control system which)-.275 F -.165(ex)90 218.9 S .117 (tends the notion of re).165 F .116(vision control from a collection of \214le\ s in a single directory to a hierarchi-)-.275 F .703 (cal collection of directories each containing re)90 231.9 R .704 (vision controlled \214les.)-.275 F .704(Directories and \214les in the)6.204 F F2(cvs)90 244.9 Q F0 .495(system can be combined together in man)3.245 F 3.245 (yw)-.165 G .495(ays to form a softw)306.931 244.9 R .495(are release.)-.11 F F2(cvs)5.994 E F0(pro)3.244 E .494(vides the)-.165 F 1.446 (functions necessary to manage these softw)90 257.9 R 1.446 (are releases and to control the concurrent editing of)-.11 F (source \214les among multiple softw)90 270.9 Q(are de)-.11 E -.165(ve)-.275 G (lopers.).165 E .85(The six major features of)117.5 287.8 R F2(cvs)3.6 E F0 .85 (are listed belo)3.6 F 2.28 -.715(w, a)-.275 H .85 (nd will be described in more detail in the).715 F(follo)90 300.8 Q (wing sections:)-.275 E 16.5(1. Concurrent)117.5 317.7 R 4.661 (access and con\215ict-resolution algorithms to guarantee that source)7.41 F (changes are not \231lost.)145 330.7 Q<9a>-.77 E 16.5(2. Support)117.5 347.6 R 1.908(for tracking third-party v)4.658 F 1.908(endor source distrib)-.165 F 1.907(utions while maintaining the)-.22 F (local modi\214cations made to those sources.)145 360.6 Q 16.5(3. A)117.5 377.5 R<8d65>3.998 E 1.248(xible module database that pro)-.165 F 1.248 (vides a symbolic mapping of names to compo-)-.165 F .534(nents of a lar)145 390.5 R .534(ger softw)-.198 F .534(are distrib)-.11 F 3.284(ution. This)-.22 F .534(symbolic mapping pro)3.284 F .533(vides for location)-.165 F .163 (independence within the softw)145 403.5 R .163(are release and, for e)-.11 F .163(xample, allo)-.165 F .163(ws one to check out a)-.275 F(cop)145 416.5 Q 3.728(yo)-.11 G 3.727(ft)175.502 416.5 S .977(he \231dif)185.95 416.5 R .977 (f\232 program without e)-.275 F -.165(ve)-.275 G 3.727(rk).165 G(no)335.221 416.5 Q .977(wing that the sources to \231dif)-.275 F .977(f\232 actually)-.275 F(reside in the \231bin/dif)145 429.5 Q(f\232 directory)-.275 E(.)-.715 E 16.5 (4. Con\214gurable)117.5 446.4 R 3.203(logging support allo)5.952 F 3.203 (ws all \231committed\232 source \214le changes to be)-.275 F 1.642 (logged using an arbitrary program to sa)145 459.4 R 1.972 -.165(ve t)-.22 H 1.642(he log messages in a \214le, notes\214le, or).165 F(ne)145 472.4 Q (ws database.)-.275 E 16.5(5. A)117.5 489.3 R(softw)3.129 E .379 (are release can be symbolically tagged and check)-.11 F .379(ed out at an)-.11 F 3.13(yt)-.165 G .38(ime based on)463.193 489.3 R 1.553(that tag.)145 502.3 R 1.553(An e)7.053 F 1.553(xact cop)-.165 F 4.303(yo)-.11 G 4.303(fap)265.218 502.3 S(re)287.871 502.3 Q 1.553(vious softw)-.275 F 1.553 (are release can be check)-.11 F 1.553(ed out at an)-.11 F(y)-.165 E(time,)145 515.3 Q/F3 11/Times-Italic@0 SF -.407(re)4.319 G(gar)-.033 E(dless)-.407 E F0 1.57(of whether \214les or directories ha)4.319 F 1.9 -.165(ve b)-.22 H 1.57 (een added/remo).165 F -.165(ve)-.165 G 4.32(df).165 G 1.57(rom the)486.517 515.3 R .42(\231current\232 softw)145 528.3 R .42(are release.)-.11 F .42 (As well, a \231date\232 can be used to check out the)5.92 F F3 -.22(ex)3.17 G (act).22 E F0 -.165(ve)3.17 G -.22(r-).165 G(sion of the softw)145 541.3 Q (are release as of the speci\214ed date.)-.11 E 16.5(6. A)117.5 558.2 R .5 (\231patch\232 format \214le [W)3.249 F .5(all] can be produced between tw)-.88 F 3.25(os)-.11 G(oftw)414.152 558.2 Q .5(are releases, e)-.11 F -.165(ve)-.275 G 3.25(ni).165 G(f)518.337 558.2 Q(the releases span multiple directories.)145 571.2 Q 1.169(The sources maintained by)117.5 588.1 R F2(cvs)3.918 E F0 1.168 (are k)3.918 F 1.168(ept within a single directory hierarch)-.11 F 3.918(yk) -.055 G(no)467.392 588.1 Q 1.168(wn as the)-.275 F .453(\231source repository) 90 601.1 R 4.743 -.77(.\232 T)-.715 H .454 (his \231source repository\232 holds the actual).77 F F1(RCS)3.204 E F0 .454 (\231,v\232 \214les directly)2.704 F 3.204(,a)-.715 G 3.204(sw)475.12 601.1 S .454(ell as a)490.545 601.1 R .892(special per)90 614.1 R .892 (-repository directory \()-.22 F F1(CVSR)A(OO)-.36 E -.666(T.)-.36 G(adm).666 E F0 3.642(\)w)C .892(hich contains a small number of administrati)310.553 614.1 R -.165(ve)-.275 G .225(\214les that describe the repository and ho)90 627.1 R 2.975(wi)-.275 G 2.976(tc)277.97 627.1 S .226(an be accessed.)288.888 627.1 R .226(See Figure 1 for a picture of the)5.726 F F2(cvs)2.976 E F0(tree.)90 640.1 Q F2 2.75(2.1. Softwar)90 666.1 R 2.75(eC)-.198 G(on\215ict Resolution)164.646 666.1 Q/F4 7.7/Times-Bold@0 SF(4)246.849 661.59 Q .36 LW 162 674.1 90 674.1 DL /F5 6.3/Times-Roman@0 SF(4)101 683.36 Q F1 .259 (The basic con\215ict-resolution algorithms used in the)2.25 3.69 N/F6 9 /Times-Bold@0 SF(cvs)2.509 E F1 .259 (program \214nd their roots in the original)2.509 F -.09(wo)90 698.05 S .439 (rk done by Dick Grune at Vrije Uni).09 F -.135(ve)-.225 G .439 (rsiteit in Amsterdam and posted to).135 F F6(comp.sour)2.689 E(ces.unix)-.162 E F1(in)2.69 E 1.528(the v)90 709.05 R 1.528(olume 6 release sometime in 1986.) -.18 F 1.528(This original v)6.028 F 1.528(ersion of)-.135 F F6(cvs)3.778 E F1 -.09(wa)3.778 G 3.777(sac).09 G 1.527(ollection of shell)386.448 709.05 R EP %%Page: 3 3 %%BeginPageSetup BP %%EndPageSetup .44 LW 131.5 85 126 85 DL 134 85 128.5 85 DL 139.5 85 134 85 DL 145 85 139.5 85 DL 150.5 85 145 85 DL 156 85 150.5 85 DL 161.5 85 156 85 DL 167 85 161.5 85 DL 172.5 85 167 85 DL 178 85 172.5 85 DL 183.5 85 178 85 DL 189 85 183.5 85 DL 194.5 85 189 85 DL 200 85 194.5 85 DL 205.5 85 200 85 DL 211 85 205.5 85 DL 216.5 85 211 85 DL 222 85 216.5 85 DL 227.5 85 222 85 DL 233 85 227.5 85 DL 238.5 85 233 85 DL 244 85 238.5 85 DL 249.5 85 244 85 DL 255 85 249.5 85 DL 260.5 85 255 85 DL 266 85 260.5 85 DL 271.5 85 266 85 DL 277 85 271.5 85 DL 282.5 85 277 85 DL 288 85 282.5 85 DL 293.5 85 288 85 DL 299 85 293.5 85 DL 304.5 85 299 85 DL 310 85 304.5 85 DL 315.5 85 310 85 DL 321 85 315.5 85 DL 326.5 85 321 85 DL 332 85 326.5 85 DL 337.5 85 332 85 DL 343 85 337.5 85 DL 348.5 85 343 85 DL 354 85 348.5 85 DL 359.5 85 354 85 DL 365 85 359.5 85 DL 370.5 85 365 85 DL 376 85 370.5 85 DL 381.5 85 376 85 DL 387 85 381.5 85 DL 392.5 85 387 85 DL 398 85 392.5 85 DL 403.5 85 398 85 DL 409 85 403.5 85 DL 414.5 85 409 85 DL 420 85 414.5 85 DL 425.5 85 420 85 DL 431 85 425.5 85 DL 436.5 85 431 85 DL 442 85 436.5 85 DL 447.5 85 442 85 DL 453 85 447.5 85 DL 458.5 85 453 85 DL 464 85 458.5 85 DL 469.5 85 464 85 DL 475 85 469.5 85 DL 480.5 85 475 85 DL 486 85 480.5 85 DL 473.192 189.232 369.656 166.696 DL 473.192 189.232 465.776 189.448 DL 466.568 185.92 473.192 189.232 DL 401.192 184.696 369.656 166.696 DL 401.192 184.696 394.064 182.68 DL 395.864 179.584 401.192 184.696 DL 342.656 189.232 369.656 166.696 DL 342.656 189.232 347.048 183.184 DL 349.352 185.992 342.656 189.232 DL 414.656 243.232 333.656 198.232 DL 414.656 243.232 407.528 241.288 DL 409.256 238.12 414.656 243.232 DL 342.656 243.232 333.656 198.232 DL 342.656 243.232 339.488 236.464 DL 343.016 235.816 342.656 243.232 DL 261.656 238.696 333.656 198.232 DL 261.656 238.696 267.056 233.584 DL 268.856 236.752 261.656 238.696 DL 270.656 184.696 243.656 162.232 DL 270.656 184.696 264.032 181.456 DL 266.336 178.72 270.656 184.696 DL 212.192 184.696 243.656 162.232 DL 212.192 184.696 217.016 179.08 DL 219.104 181.96 212.192 184.696 DL 365.192 153.232 315.656 126.232 DL 365.192 153.232 357.992 151.36 DL 359.72 148.192 365.192 153.232 DL 252.656 153.232 315.656 126.232 DL 252.656 153.232 258.632 148.696 DL 260 152.008 252.656 153.232 DL/F0 11 /Times-Roman@0 SF(ne)396.656 252.42 Q(wfs.c,v)-.275 E(mkfs.c,v)324.656 252.42 Q (Mak)234.656 252.42 Q(e\214le,v)-.11 E(ne)324.656 198.42 Q(wfs)-.275 E (halt.c,v)468.656 198.42 Q(Mak)378.656 198.42 Q(e\214le,v)-.11 E(modules,v) 252.656 198.42 Q(loginfo,v)180.728 198.42 Q(etc)360.656 162.42 Q(CVSR)216.728 162.42 Q(OO)-.44 E -.814(T.)-.44 G(adm).814 E(/src/master)288.656 126.42 Q 131.5 281.5 126 281.5 DL 134 281.5 128.5 281.5 DL 139.5 281.5 134 281.5 DL 145 281.5 139.5 281.5 DL 150.5 281.5 145 281.5 DL 156 281.5 150.5 281.5 DL 161.5 281.5 156 281.5 DL 167 281.5 161.5 281.5 DL 172.5 281.5 167 281.5 DL 178 281.5 172.5 281.5 DL 183.5 281.5 178 281.5 DL 189 281.5 183.5 281.5 DL 194.5 281.5 189 281.5 DL 200 281.5 194.5 281.5 DL 205.5 281.5 200 281.5 DL 211 281.5 205.5 281.5 DL 216.5 281.5 211 281.5 DL 222 281.5 216.5 281.5 DL 227.5 281.5 222 281.5 DL 233 281.5 227.5 281.5 DL 238.5 281.5 233 281.5 DL 244 281.5 238.5 281.5 DL 249.5 281.5 244 281.5 DL 255 281.5 249.5 281.5 DL 260.5 281.5 255 281.5 DL 266 281.5 260.5 281.5 DL 271.5 281.5 266 281.5 DL 277 281.5 271.5 281.5 DL 282.5 281.5 277 281.5 DL 288 281.5 282.5 281.5 DL 293.5 281.5 288 281.5 DL 299 281.5 293.5 281.5 DL 304.5 281.5 299 281.5 DL 310 281.5 304.5 281.5 DL 315.5 281.5 310 281.5 DL 321 281.5 315.5 281.5 DL 326.5 281.5 321 281.5 DL 332 281.5 326.5 281.5 DL 337.5 281.5 332 281.5 DL 343 281.5 337.5 281.5 DL 348.5 281.5 343 281.5 DL 354 281.5 348.5 281.5 DL 359.5 281.5 354 281.5 DL 365 281.5 359.5 281.5 DL 370.5 281.5 365 281.5 DL 376 281.5 370.5 281.5 DL 381.5 281.5 376 281.5 DL 387 281.5 381.5 281.5 DL 392.5 281.5 387 281.5 DL 398 281.5 392.5 281.5 DL 403.5 281.5 398 281.5 DL 409 281.5 403.5 281.5 DL 414.5 281.5 409 281.5 DL 420 281.5 414.5 281.5 DL 425.5 281.5 420 281.5 DL 431 281.5 425.5 281.5 DL 436.5 281.5 431 281.5 DL 442 281.5 436.5 281.5 DL 447.5 281.5 442 281.5 DL 453 281.5 447.5 281.5 DL 458.5 281.5 453 281.5 DL 464 281.5 458.5 281.5 DL 469.5 281.5 464 281.5 DL 475 281.5 469.5 281.5 DL 480.5 281.5 475 281.5 DL 486 281.5 480.5 281.5 DL/F1 13/Times-Bold@0 SF(Figur)281.202 307.5 Q 3.25(e1)-.234 G(.)327.547 307.5 Q/F2 11/Times-Bold@0 SF(cvs)256.505 320.5 Q F0(Source Repository)2.75 E F2(cvs)117.5 346.5 Q F0 (allo)3.645 E .895(ws se)-.275 F -.165(ve)-.275 G .896(ral softw).165 F .896 (are de)-.11 F -.165(ve)-.275 G .896(lopers to edit personal copies of a re) .165 F .896(vision controlled \214le)-.275 F(concurrently)90 359.5 Q 5.894(.T) -.715 G .394(he re)160.244 359.5 R .393(vision number of each check)-.275 F .393(ed out \214le is maintained independently for each)-.11 F(user)90 372.5 Q 3.766(,a)-.44 G(nd)119.286 372.5 Q F2(cvs)3.766 E F0 1.016(forces the check) 3.766 F 1.017(ed out \214le to be current with the \231head\232 re)-.11 F 1.017 (vision before it can be)-.275 F 1.233 (\231committed\232 as a permanent change.)90 385.5 R 3.983(Ac)6.733 G(heck) 280.68 385.5 Q 1.232(ed out \214le is brought up-to-date with the \231head\232) -.11 F(re)90 398.5 Q .349(vision using the \231update\232 command of)-.275 F F2 (cvs)3.099 E F0 5.849(.T)C .349(his command compares the \231head\232 re) 302.664 398.5 R .35(vision num-)-.275 F .23(ber with that of the user')90 411.5 R 2.979<738c>-.605 G .229(le and performs an)212.366 411.5 R/F3 9/Times-Roman@0 SF(RCS)2.979 E F0(mer)2.479 E .229(ge operation if the)-.198 F 2.979(ya)-.165 G .229(re not the same.)428.827 411.5 R(The)5.729 E 1.498(result of the mer)90 424.5 R 1.498(ge is a \214le that contains the user')-.198 F 4.248(sm)-.605 G 1.498(odi\214cations and those modi\214cations that)338.171 424.5 R .704 (were \231committed\232 after the user check)90 437.5 R .703(ed out his v)-.11 F .703(ersion of the \214le \(as well as a backup cop)-.165 F 3.453(yo)-.11 G (f)518.337 437.5 Q .173(the user')90 450.5 R 2.923(so)-.605 G .173 (riginal \214le\).)140.451 450.5 R F2(cvs)5.673 E F0 .174(points out an)2.924 F 2.924(yc)-.165 G .174(on\215icts during the mer)286.154 450.5 R 2.924(ge. It) -.198 F .174(is the user')2.924 F 2.924(sr)-.605 G(esponsibil-)473.721 450.5 Q (ity to resolv)90 463.5 Q 2.75(et)-.165 G (hese con\215icts and to \231commit\232 his/her changes when ready)153.085 463.5 Q(.)-.715 E .134(Although the)117.5 480.4 R F2(cvs)2.884 E F0 .134 (con\215ict-resolution algorithm w)2.884 F .133 (as de\214ned in 1986, it is remarkably similar)-.11 F .642(to the \231Cop)90 493.4 R(y-Modify-Mer)-.11 E .642(ge\232 scenario included with NSE)-.198 F/F4 7.7/Times-Roman@0 SF(5)349.558 488.89 Q F0 .643 (and described in [Honda] and [Cour)356.8 493.4 R(-)-.22 E 2.75(ington]. The)90 506.4 R(follo)2.75 E(wing e)-.275 E(xplanation from [Honda] also applies to) -.165 E F2(cvs)2.75 E F0(:)A .142(Simply stated, a de)117.5 523.3 R -.165(ve) -.275 G .142(loper copies an object without locking it, modi\214es the cop).165 F 1.571 -.715(y, a)-.11 H(nd).715 E .134(then mer)117.5 536.3 R .134 (ges the modi\214ed cop)-.198 F 2.884(yw)-.11 G .134(ith the original.)264.206 536.3 R .135(This paradigm allo)5.635 F .135(ws de)-.275 F -.165(ve)-.275 G .135(lopers to).165 F -.11(wo)117.5 549.3 S 2.078 (rk in isolation from one another since changes are made to copies of objects.) .11 F .06(Because locks are not used, de)117.5 562.3 R -.165(ve)-.275 G .06 (lopment is not serialized and can proceed in parallel.).165 F(De)117.5 575.3 Q -.165(ve)-.275 G .511(lopers, ho).165 F(we)-.275 E -.165(ve)-.275 G 1.391 -.44 (r, m).165 H .511(ust mer).44 F .51(ge objects after the changes ha)-.198 F .84 -.165(ve b)-.22 H .51(een made.).165 F .51(In par)6.01 F(-)-.22 E(ticular)117.5 588.3 Q 2.783(,ad)-.44 G -2.365 -.275(ev e)163.865 588.3 T .033 (loper must resolv).275 F 2.783(ec)-.165 G .034 (on\215icts when the same object has been modi\214ed by)267.529 588.3 R (someone else.)117.5 601.3 Q .164(In practice, Prisma has found that con\215ic\ ts that occur when the same object has been modi-)117.5 618.2 R .362 (\214ed by someone else are quite rare.)90 631.2 R .362(When the)5.862 F 3.112 (yd)-.165 G 3.112(oh)310.288 631.2 S .362 (appen, the changes made by the other de)324.4 631.2 R -.165(ve)-.275 G(l-).165 E 1.542(oper are usually easily resolv)90 644.2 R 4.292(ed. This)-.165 F 1.541 (practical use has sho)4.292 F 1.541(wn that the \231Cop)-.275 F(y-Modify-Mer) -.11 E(ge\232)-.198 E(paradigm is a correct and useful one.)90 657.2 Q .36 LW 162 681.65 90 681.65 DL F3(scripts that combined to form a front end to the)90 692.65 Q/F5 7/Times-Roman@0 SF(RCS)2.25 E F3(programs.)1.75 E/F6 6.3 /Times-Roman@0 SF(5)101 701.91 Q F3(NSE is the Netw)2.25 3.69 M(ork Softw)-.09 E(are En)-.09 E(vironment, a product of Sun Microsystems, Inc.)-.36 E EP %%Page: 4 4 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF(-4-)299.587 49 Q/F1 11/Times-Bold@0 SF 2.75(2.2. T)90 85 R(racking Third-P)-.814 E(arty Sour)-.11 E(ce Distrib)-.198 E(utions)-.22 E F0(Currently)117.5 101.9 Q 4.115(,al)-.715 G(ar)177.87 101.9 Q 1.365 (ge amount of softw)-.198 F 1.366(are is based on source distrib)-.11 F 1.366 (utions from a third-party)-.22 F(distrib)90 114.9 Q(utor)-.22 E 5.56(.I)-.605 G 2.81(ti)146.985 114.9 S 2.81(so)155.911 114.9 S .059 (ften the case that local modi\214cations are to be made to this distrib)168.5 114.9 R(ution,)-.22 E/F2 11/Times-Italic@0 SF(and)2.809 E F0(that)2.809 E .523 (the v)90 127.9 R(endor')-.165 E 3.273(sf)-.605 G .523 (uture releases should be track)151.37 127.9 R 3.274(ed. Rolling)-.11 F .524 (your local modi\214cations forw)3.274 F .524(ard into the)-.11 F(ne)90 140.9 Q 5.213(wv)-.275 G 2.463(endor release is a time-consuming task, b)118.599 140.9 R(ut)-.22 E F1(cvs)5.213 E F0 2.463(can ease this b)5.213 F 2.463(urden some) -.22 F 5.213(what. The)-.275 F F1(checkin)90 153.9 Q F0 1.32(program of)4.07 F F1(cvs)4.07 E F0 1.321(initially sets up a source repository by inte)4.07 F 1.321(grating the source modules)-.165 F .41(directly from the v)90 166.9 R (endor')-.165 E 3.16(sr)-.605 G .41(elease, preserving the directory hierarch) 212.453 166.9 R 3.159(yo)-.055 G 3.159(ft)404.437 166.9 S .409(he v)414.317 166.9 R(endor')-.165 E 3.159(sd)-.605 G(istrib)474.238 166.9 Q(ution.)-.22 E .405(The branch support of)90 179.9 R/F3 9/Times-Roman@0 SF(RCS)3.155 E F0 .406 (is used to b)2.656 F .406(uild this v)-.22 F .406 (endor release as a branch of the main)-.165 F F3(RCS)3.156 E F0(trunk.)2.656 E .503(Figure 2 sho)90 192.9 R .503(ws ho)-.275 F 3.253(wt)-.275 G .503 (he \231head\232 tracks a sample v)186.183 192.9 R .503 (endor branch when no local modi\214cations ha)-.165 F -.165(ve)-.22 G (been made to the \214le.)90 205.9 Q .44 LW 131.5 218.9 126 218.9 DL 134 218.9 128.5 218.9 DL 139.5 218.9 134 218.9 DL 145 218.9 139.5 218.9 DL 150.5 218.9 145 218.9 DL 156 218.9 150.5 218.9 DL 161.5 218.9 156 218.9 DL 167 218.9 161.5 218.9 DL 172.5 218.9 167 218.9 DL 178 218.9 172.5 218.9 DL 183.5 218.9 178 218.9 DL 189 218.9 183.5 218.9 DL 194.5 218.9 189 218.9 DL 200 218.9 194.5 218.9 DL 205.5 218.9 200 218.9 DL 211 218.9 205.5 218.9 DL 216.5 218.9 211 218.9 DL 222 218.9 216.5 218.9 DL 227.5 218.9 222 218.9 DL 233 218.9 227.5 218.9 DL 238.5 218.9 233 218.9 DL 244 218.9 238.5 218.9 DL 249.5 218.9 244 218.9 DL 255 218.9 249.5 218.9 DL 260.5 218.9 255 218.9 DL 266 218.9 260.5 218.9 DL 271.5 218.9 266 218.9 DL 277 218.9 271.5 218.9 DL 282.5 218.9 277 218.9 DL 288 218.9 282.5 218.9 DL 293.5 218.9 288 218.9 DL 299 218.9 293.5 218.9 DL 304.5 218.9 299 218.9 DL 310 218.9 304.5 218.9 DL 315.5 218.9 310 218.9 DL 321 218.9 315.5 218.9 DL 326.5 218.9 321 218.9 DL 332 218.9 326.5 218.9 DL 337.5 218.9 332 218.9 DL 343 218.9 337.5 218.9 DL 348.5 218.9 343 218.9 DL 354 218.9 348.5 218.9 DL 359.5 218.9 354 218.9 DL 365 218.9 359.5 218.9 DL 370.5 218.9 365 218.9 DL 376 218.9 370.5 218.9 DL 381.5 218.9 376 218.9 DL 387 218.9 381.5 218.9 DL 392.5 218.9 387 218.9 DL 398 218.9 392.5 218.9 DL 403.5 218.9 398 218.9 DL 409 218.9 403.5 218.9 DL 414.5 218.9 409 218.9 DL 420 218.9 414.5 218.9 DL 425.5 218.9 420 218.9 DL 431 218.9 425.5 218.9 DL 436.5 218.9 431 218.9 DL 442 218.9 436.5 218.9 DL 447.5 218.9 442 218.9 DL 453 218.9 447.5 218.9 DL 458.5 218.9 453 218.9 DL 464 218.9 458.5 218.9 DL 469.5 218.9 464 218.9 DL 475 218.9 469.5 218.9 DL 480.5 218.9 475 218.9 DL 486 218.9 480.5 218.9 DL 72 36 288.232 491.828 DE ST 291.832 437.828 288.232 437.828 DL 298.312 437.828 294.712 437.828 DL 304.792 437.828 301.192 437.828 DL 311.272 437.828 307.672 437.828 DL 317.752 437.828 314.152 437.828 DL 324.232 437.828 320.632 437.828 DL 324.232 434.228 324.232 437.828 DL 324.232 427.028 324.232 430.628 DL 324.232 419.828 324.232 423.428 DL 324.232 412.628 324.232 416.228 DL 324.232 405.428 324.232 409.028 DL 324.232 398.228 324.232 401.828 DL 324.232 391.028 324.232 394.628 DL 324.232 383.828 324.232 387.428 DL 324.232 376.628 324.232 380.228 DL 324.232 369.428 324.232 373.028 DL 324.232 362.228 324.232 365.828 DL 324.232 355.028 324.232 358.628 DL 324.232 347.9 324.232 351.5 DL 324.232 340.7 324.232 344.3 DL 324.232 333.5 324.232 337.1 DL 324.232 326.3 324.232 329.9 DL 324.232 319.1 324.232 322.7 DL 324.232 311.9 324.232 315.5 DL 324.232 304.7 324.232 308.3 DL 324.232 297.5 324.232 301.1 DL 324.232 290.3 324.232 293.9 DL 324.232 283.1 324.232 286.7 DL 324.232 275.9 324.232 279.5 DL 327.832 275.9 324.232 275.9 DL 334.312 275.9 330.712 275.9 DL 340.792 275.9 337.192 275.9 DL 347.272 275.9 343.672 275.9 DL 353.752 275.9 350.152 275.9 DL 360.232 275.9 356.632 275.9 DL 360.232 275.9 353.104 277.7 DL 353.104 274.1 360.232 275.9 DL 219.832 383.9 216.232 383.9 DL 227.464 383.9 223.864 383.9 DL 235.024 383.9 231.424 383.9 DL 242.656 383.9 239.056 383.9 DL 250.216 383.9 246.616 383.9 DL 257.848 383.9 254.248 383.9 DL 265.408 383.9 261.808 383.9 DL 273.04 383.9 269.44 383.9 DL 280.6 383.9 277 383.9 DL 288.232 383.9 284.632 383.9 DL 288.232 387.5 288.232 383.9 DL 288.232 394.7 288.232 391.1 DL 288.232 401.9 288.232 398.3 DL 288.232 409.1 288.232 405.5 DL 288.232 416.3 288.232 412.7 DL 288.232 423.5 288.232 419.9 DL 288.232 430.7 288.232 427.1 DL 288.232 437.828 288.232 434.228 DL 288.232 445.028 288.232 441.428 DL 288.232 452.228 288.232 448.628 DL 288.232 459.428 288.232 455.828 DL 288.232 466.628 288.232 463.028 DL 288.232 473.828 288.232 470.228 DL 288.232 473.828 286.432 466.7 DL 290.032 466.7 288.232 473.828 DL 360.232 491.828 324.232 491.828 DL 360.232 491.828 353.104 493.7 DL 353.104 490.028 360.232 491.828 DL 252.232 491.828 216.232 491.828 DL 252.232 491.828 245.032 493.7 DL 245.032 490.028 252.232 491.828 DL 180.304 509.828 180.304 545.828 DL 180.304 509.828 182.032 517.028 DL 178.504 517.028 180.304 509.828 DL 216.232 473.828 144.304 473.828 DL 216.232 509.828 216.232 473.828 DL 144.304 509.828 216.232 509.828 DL 144.304 473.828 144.304 509.828 DL 432.232 329.9 360.232 329.9 DL 432.232 365.9 432.232 329.9 DL 360.232 365.9 432.232 365.9 DL 360.232 329.9 360.232 365.9 DL 432.232 401.9 360.232 401.9 DL 432.232 437.828 432.232 401.9 DL 360.232 437.828 432.232 437.828 DL 360.232 401.9 360.232 437.828 DL 432.232 473.828 360.232 473.828 DL 432.232 509.828 432.232 473.828 DL 360.232 509.828 432.232 509.828 DL 360.232 473.828 360.232 509.828 DL 396.232 437.828 396.232 473.828 DL 396.232 437.828 398.104 445.028 DL 394.432 445.028 396.232 437.828 DL 396.232 365.9 396.232 401.9 DL 396.232 365.9 398.104 373.1 DL 394.432 373.1 396.232 365.9 DL 432.232 257.9 360.232 257.9 DL 432.232 293.9 432.232 257.9 DL 360.232 293.9 432.232 293.9 DL 360.232 257.9 360.232 293.9 DL 396.232 293.9 396.232 329.9 DL 396.232 293.9 398.104 301.1 DL 394.432 301.1 396.232 293.9 DL 486.232 545.828 486.232 617.828 DL 126.304 545.828 486.232 545.828 DL 126.304 617.828 126.304 545.828 DL 486.232 617.828 126.304 617.828 DL("HEAD")166.768 388.552 Q('SunOS')270.232 528.088 Q(1.1.1)274.768 492.088 Q (1.1)171.304 492.088 Q(1.1.1.1)378.232 492.088 Q(1.1.1.2)378.232 420.088 Q (1.1.1.3)378.232 348.088 Q(1.1.1.4)378.232 276.088 Q('SunOS_4_0')450.232 492.088 Q('SunOS_4_0_1')450.232 420.088 Q('Y)450.232 348.088 Q(APT_5_5C')-1.32 E('SunOS_4_0_3')450.232 276.088 Q(rcs\214le.c,v)270.232 582.088 Q 131.5 649.328 126 649.328 DL 134 649.328 128.5 649.328 DL 139.5 649.328 134 649.328 DL 145 649.328 139.5 649.328 DL 150.5 649.328 145 649.328 DL 156 649.328 150.5 649.328 DL 161.5 649.328 156 649.328 DL 167 649.328 161.5 649.328 DL 172.5 649.328 167 649.328 DL 178 649.328 172.5 649.328 DL 183.5 649.328 178 649.328 DL 189 649.328 183.5 649.328 DL 194.5 649.328 189 649.328 DL 200 649.328 194.5 649.328 DL 205.5 649.328 200 649.328 DL 211 649.328 205.5 649.328 DL 216.5 649.328 211 649.328 DL 222 649.328 216.5 649.328 DL 227.5 649.328 222 649.328 DL 233 649.328 227.5 649.328 DL 238.5 649.328 233 649.328 DL 244 649.328 238.5 649.328 DL 249.5 649.328 244 649.328 DL 255 649.328 249.5 649.328 DL 260.5 649.328 255 649.328 DL 266 649.328 260.5 649.328 DL 271.5 649.328 266 649.328 DL 277 649.328 271.5 649.328 DL 282.5 649.328 277 649.328 DL 288 649.328 282.5 649.328 DL 293.5 649.328 288 649.328 DL 299 649.328 293.5 649.328 DL 304.5 649.328 299 649.328 DL 310 649.328 304.5 649.328 DL 315.5 649.328 310 649.328 DL 321 649.328 315.5 649.328 DL 326.5 649.328 321 649.328 DL 332 649.328 326.5 649.328 DL 337.5 649.328 332 649.328 DL 343 649.328 337.5 649.328 DL 348.5 649.328 343 649.328 DL 354 649.328 348.5 649.328 DL 359.5 649.328 354 649.328 DL 365 649.328 359.5 649.328 DL 370.5 649.328 365 649.328 DL 376 649.328 370.5 649.328 DL 381.5 649.328 376 649.328 DL 387 649.328 381.5 649.328 DL 392.5 649.328 387 649.328 DL 398 649.328 392.5 649.328 DL 403.5 649.328 398 649.328 DL 409 649.328 403.5 649.328 DL 414.5 649.328 409 649.328 DL 420 649.328 414.5 649.328 DL 425.5 649.328 420 649.328 DL 431 649.328 425.5 649.328 DL 436.5 649.328 431 649.328 DL 442 649.328 436.5 649.328 DL 447.5 649.328 442 649.328 DL 453 649.328 447.5 649.328 DL 458.5 649.328 453 649.328 DL 464 649.328 458.5 649.328 DL 469.5 649.328 464 649.328 DL 475 649.328 469.5 649.328 DL 480.5 649.328 475 649.328 DL 486 649.328 480.5 649.328 DL/F4 13/Times-Bold@0 SF(Figur)281.202 675.328 Q 3.25(e2)-.234 G(.)327.547 675.328 Q F1(cvs)243.223 688.328 Q F0 -1.221(Ve)2.75 G(ndor Branch Example)1.221 E .753(Once this is done, de)90 705.228 R -.165(ve)-.275 G .753(lopers can check out \214les and mak).165 F 3.503(el)-.11 G .754(ocal changes to the v)362.294 705.228 R(endor')-.165 E 3.504(ss)-.605 G(ource)497.569 705.228 Q(distrib)90 718.228 Q 3.267 (ution. These)-.22 F .516(local changes form a ne)3.267 F 3.266(wb)-.275 G .516 (ranch to the tree which is then used as the source)301.779 718.228 R EP %%Page: 5 5 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF .422(for future check outs.)90 85 R .423(Figure 3 sho) 5.922 F .423(ws ho)-.275 F 3.173(wt)-.275 G .423(he \231head\232 mo)287.134 85 R -.165(ve)-.165 G 3.173(st).165 G 3.173(ot)369.022 85 S .423(he main)380.753 85 R/F1 9/Times-Roman@0 SF(RCS)3.173 E F0 .423(trunk when a local)2.673 F (modi\214cation is made.)90 98 Q .44 LW 131.5 111 126 111 DL 134 111 128.5 111 DL 139.5 111 134 111 DL 145 111 139.5 111 DL 150.5 111 145 111 DL 156 111 150.5 111 DL 161.5 111 156 111 DL 167 111 161.5 111 DL 172.5 111 167 111 DL 178 111 172.5 111 DL 183.5 111 178 111 DL 189 111 183.5 111 DL 194.5 111 189 111 DL 200 111 194.5 111 DL 205.5 111 200 111 DL 211 111 205.5 111 DL 216.5 111 211 111 DL 222 111 216.5 111 DL 227.5 111 222 111 DL 233 111 227.5 111 DL 238.5 111 233 111 DL 244 111 238.5 111 DL 249.5 111 244 111 DL 255 111 249.5 111 DL 260.5 111 255 111 DL 266 111 260.5 111 DL 271.5 111 266 111 DL 277 111 271.5 111 DL 282.5 111 277 111 DL 288 111 282.5 111 DL 293.5 111 288 111 DL 299 111 293.5 111 DL 304.5 111 299 111 DL 310 111 304.5 111 DL 315.5 111 310 111 DL 321 111 315.5 111 DL 326.5 111 321 111 DL 332 111 326.5 111 DL 337.5 111 332 111 DL 343 111 337.5 111 DL 348.5 111 343 111 DL 354 111 348.5 111 DL 359.5 111 354 111 DL 365 111 359.5 111 DL 370.5 111 365 111 DL 376 111 370.5 111 DL 381.5 111 376 111 DL 387 111 381.5 111 DL 392.5 111 387 111 DL 398 111 392.5 111 DL 403.5 111 398 111 DL 409 111 403.5 111 DL 414.5 111 409 111 DL 420 111 414.5 111 DL 425.5 111 420 111 DL 431 111 425.5 111 DL 436.5 111 431 111 DL 442 111 436.5 111 DL 447.5 111 442 111 DL 453 111 447.5 111 DL 458.5 111 453 111 DL 464 111 458.5 111 DL 469.5 111 464 111 DL 475 111 469.5 111 DL 480.5 111 475 111 DL 486 111 480.5 111 DL 72 36 288.232 383.928 DE ST 253.168 217.464 256.768 217.464 DL 245.896 217.464 249.496 217.464 DL 238.624 217.464 242.224 217.464 DL 231.28 217.464 234.88 217.464 DL 224.008 217.464 227.608 217.464 DL 216.736 217.464 220.336 217.464 DL 209.464 217.464 213.064 217.464 DL 202.192 217.464 205.792 217.464 DL 194.848 217.464 198.448 217.464 DL 187.576 217.464 191.176 217.464 DL 180.304 217.464 183.904 217.464 DL 180.304 221.064 180.304 217.464 DL 180.304 228.336 180.304 224.736 DL 180.304 235.68 180.304 232.08 DL 180.304 242.952 180.304 239.352 DL 180.304 250.224 180.304 246.624 DL 180.304 257.568 180.304 253.968 DL 180.304 264.84 180.304 261.24 DL 180.304 272.112 180.304 268.512 DL 180.304 279.384 180.304 275.784 DL 180.304 286.728 180.304 283.128 DL 180.304 294 180.304 290.4 DL 180.304 294 178.504 286.8 DL 182.032 286.8 180.304 294 DL 180.304 329.928 180.304 365.928 DL 180.304 329.928 182.032 337.128 DL 178.504 337.128 180.304 329.928 DL 216.232 294 144.304 294 DL 216.232 329.928 216.232 294 DL 144.304 329.928 216.232 329.928 DL 144.304 294 144.304 329.928 DL 360.232 383.928 324.232 383.928 DL 360.232 383.928 353.104 385.8 DL 353.104 382.128 360.232 383.928 DL 252.232 383.928 216.232 383.928 DL 252.232 383.928 245.032 385.8 DL 245.032 382.128 252.232 383.928 DL 180.304 401.928 180.304 437.928 DL 180.304 401.928 182.032 409.128 DL 178.504 409.128 180.304 401.928 DL 216.232 365.928 144.304 365.928 DL 216.232 401.928 216.232 365.928 DL 144.304 401.928 216.232 401.928 DL 144.304 365.928 144.304 401.928 DL 432.232 222 360.232 222 DL 432.232 258 432.232 222 DL 360.232 258 432.232 258 DL 360.232 222 360.232 258 DL 432.232 294 360.232 294 DL 432.232 329.928 432.232 294 DL 360.232 329.928 432.232 329.928 DL 360.232 294 360.232 329.928 DL 432.232 365.928 360.232 365.928 DL 432.232 401.928 432.232 365.928 DL 360.232 401.928 432.232 401.928 DL 360.232 365.928 360.232 401.928 DL 396.232 329.928 396.232 365.928 DL 396.232 329.928 398.104 337.128 DL 394.432 337.128 396.232 329.928 DL 396.232 258 396.232 294 DL 396.232 258 398.104 265.2 DL 394.432 265.2 396.232 258 DL 432.232 150 360.232 150 DL 432.232 186 432.232 150 DL 360.232 186 432.232 186 DL 360.232 150 360.232 186 DL 396.232 186 396.232 222 DL 396.232 186 398.104 193.2 DL 394.432 193.2 396.232 186 DL 486.232 437.928 486.232 509.928 DL 126.304 437.928 486.232 437.928 DL 126.304 509.928 126.304 437.928 DL 486.232 509.928 126.304 509.928 DL(1.2)171.304 312.188 Q("HEAD") 261.232 222.188 Q('SunOS')270.232 420.188 Q(1.1.1)274.768 384.188 Q(1.1)171.304 384.188 Q(1.1.1.1)378.232 384.188 Q(1.1.1.2)378.232 312.188 Q(1.1.1.3)378.232 240.188 Q(1.1.1.4)378.232 168.188 Q('SunOS_4_0')450.232 384.188 Q ('SunOS_4_0_1')450.232 312.188 Q('Y)450.232 240.188 Q(APT_5_5C')-1.32 E ('SunOS_4_0_3')450.232 168.188 Q(rcs\214le.c,v)270.232 474.188 Q 131.5 541.428 126 541.428 DL 134 541.428 128.5 541.428 DL 139.5 541.428 134 541.428 DL 145 541.428 139.5 541.428 DL 150.5 541.428 145 541.428 DL 156 541.428 150.5 541.428 DL 161.5 541.428 156 541.428 DL 167 541.428 161.5 541.428 DL 172.5 541.428 167 541.428 DL 178 541.428 172.5 541.428 DL 183.5 541.428 178 541.428 DL 189 541.428 183.5 541.428 DL 194.5 541.428 189 541.428 DL 200 541.428 194.5 541.428 DL 205.5 541.428 200 541.428 DL 211 541.428 205.5 541.428 DL 216.5 541.428 211 541.428 DL 222 541.428 216.5 541.428 DL 227.5 541.428 222 541.428 DL 233 541.428 227.5 541.428 DL 238.5 541.428 233 541.428 DL 244 541.428 238.5 541.428 DL 249.5 541.428 244 541.428 DL 255 541.428 249.5 541.428 DL 260.5 541.428 255 541.428 DL 266 541.428 260.5 541.428 DL 271.5 541.428 266 541.428 DL 277 541.428 271.5 541.428 DL 282.5 541.428 277 541.428 DL 288 541.428 282.5 541.428 DL 293.5 541.428 288 541.428 DL 299 541.428 293.5 541.428 DL 304.5 541.428 299 541.428 DL 310 541.428 304.5 541.428 DL 315.5 541.428 310 541.428 DL 321 541.428 315.5 541.428 DL 326.5 541.428 321 541.428 DL 332 541.428 326.5 541.428 DL 337.5 541.428 332 541.428 DL 343 541.428 337.5 541.428 DL 348.5 541.428 343 541.428 DL 354 541.428 348.5 541.428 DL 359.5 541.428 354 541.428 DL 365 541.428 359.5 541.428 DL 370.5 541.428 365 541.428 DL 376 541.428 370.5 541.428 DL 381.5 541.428 376 541.428 DL 387 541.428 381.5 541.428 DL 392.5 541.428 387 541.428 DL 398 541.428 392.5 541.428 DL 403.5 541.428 398 541.428 DL 409 541.428 403.5 541.428 DL 414.5 541.428 409 541.428 DL 420 541.428 414.5 541.428 DL 425.5 541.428 420 541.428 DL 431 541.428 425.5 541.428 DL 436.5 541.428 431 541.428 DL 442 541.428 436.5 541.428 DL 447.5 541.428 442 541.428 DL 453 541.428 447.5 541.428 DL 458.5 541.428 453 541.428 DL 464 541.428 458.5 541.428 DL 469.5 541.428 464 541.428 DL 475 541.428 469.5 541.428 DL 480.5 541.428 475 541.428 DL 486 541.428 480.5 541.428 DL/F2 13/Times-Bold@0 SF(Figur)281.202 567.428 Q 3.25(e3)-.234 G(.)327.547 567.428 Q/F3 11/Times-Bold@0 SF(cvs)214.804 580.428 Q F0(Local Modi\214cation to V)2.75 E(endor Branch)-1.221 E .663 (When a ne)117.5 610.328 R 3.413(wv)-.275 G .662(ersion of the v)182.277 610.328 R(endor')-.165 E 3.412(ss)-.605 G .662(ource distrib)287.413 610.328 R .662(ution arri)-.22 F -.165(ve)-.275 G .662(s, the).165 F F3(checkin)3.412 E F0 .662(program adds)3.412 F .879(the ne)90 623.328 R 3.629(wa)-.275 G .879 (nd changed v)133.635 623.328 R(endor')-.165 E 3.629<738c>-.605 G .879 (les to the already e)236.009 623.328 R .879(xisting source repository)-.165 F 6.379(.F)-.715 G .879(or \214les that ha)446.729 623.328 R -.165(ve)-.22 G .476 (not been changed locally)90 636.328 R 3.226(,t)-.715 G .476(he ne)209.417 636.328 R 3.226<778c>-.275 G .476(le from the v)250.42 636.328 R .475 (endor becomes the current \231head\232 re)-.165 F 3.225(vision. F)-.275 F(or) -.165 E 1.192(\214les that ha)90 649.328 R 1.522 -.165(ve b)-.22 H 1.192 (een modi\214ed locally).165 F(,)-.715 E F3(checkin)3.942 E F0 -.11(wa)3.943 G 1.193(rns that the \214le must be mer).11 F 1.193(ged with the ne)-.198 F(w) -.275 E -.165(ve)90 662.328 S .394(ndor release.).165 F(The)5.893 E F3(cvs) 3.143 E F0 .393(\231join\232 command is a useful tool that aids this process b\ y performing the)3.143 F(necessary)90 675.328 Q F1(RCS)2.75 E F0(mer)2.25 E (ge, as is done abo)-.198 E .33 -.165(ve w)-.165 H (hen performing an \231update.).165 E<9a>-.77 E .073 (There is also limited support for \231dual\232 deri)117.5 692.228 R -.275(va) -.275 G .073(tions for source \214les.).275 F .074(See Figure 4 for a sam-) 5.574 F 1.767(ple dual-deri)90 705.228 R -.165(ve)-.275 G 4.517<648c>.165 G 4.516(le. This)173.746 705.228 R -.165(ex)4.516 G 1.766 (ample tracks the SunOS distrib).165 F 1.766(ution b)-.22 F 1.766 (ut includes major changes)-.22 F(from Berk)90 718.228 Q(ele)-.11 E 4.18 -.715 (y. T)-.165 H(hese BSD \214les are sa).715 E -.165(ve)-.22 G 2.75(dd).165 G (irectly in the)284.447 718.228 Q F1(RCS)2.75 E F0(\214le of)2.25 E 2.75(fan) -.275 G .55 -.275(ew b)407.305 718.228 T(ranch.).275 E EP %%Page: 6 6 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF(-6-)299.587 49 Q .44 LW 131.5 85 126 85 DL 134 85 128.5 85 DL 139.5 85 134 85 DL 145 85 139.5 85 DL 150.5 85 145 85 DL 156 85 150.5 85 DL 161.5 85 156 85 DL 167 85 161.5 85 DL 172.5 85 167 85 DL 178 85 172.5 85 DL 183.5 85 178 85 DL 189 85 183.5 85 DL 194.5 85 189 85 DL 200 85 194.5 85 DL 205.5 85 200 85 DL 211 85 205.5 85 DL 216.5 85 211 85 DL 222 85 216.5 85 DL 227.5 85 222 85 DL 233 85 227.5 85 DL 238.5 85 233 85 DL 244 85 238.5 85 DL 249.5 85 244 85 DL 255 85 249.5 85 DL 260.5 85 255 85 DL 266 85 260.5 85 DL 271.5 85 266 85 DL 277 85 271.5 85 DL 282.5 85 277 85 DL 288 85 282.5 85 DL 293.5 85 288 85 DL 299 85 293.5 85 DL 304.5 85 299 85 DL 310 85 304.5 85 DL 315.5 85 310 85 DL 321 85 315.5 85 DL 326.5 85 321 85 DL 332 85 326.5 85 DL 337.5 85 332 85 DL 343 85 337.5 85 DL 348.5 85 343 85 DL 354 85 348.5 85 DL 359.5 85 354 85 DL 365 85 359.5 85 DL 370.5 85 365 85 DL 376 85 370.5 85 DL 381.5 85 376 85 DL 387 85 381.5 85 DL 392.5 85 387 85 DL 398 85 392.5 85 DL 403.5 85 398 85 DL 409 85 403.5 85 DL 414.5 85 409 85 DL 420 85 414.5 85 DL 425.5 85 420 85 DL 431 85 425.5 85 DL 436.5 85 431 85 DL 442 85 436.5 85 DL 447.5 85 442 85 DL 453 85 447.5 85 DL 458.5 85 453 85 DL 464 85 458.5 85 DL 469.5 85 464 85 DL 475 85 469.5 85 DL 480.5 85 475 85 DL 486 85 480.5 85 DL 50.4 27 303.48 241 DE ST 50.4 27 301.68 200.536 DE ST 223.416 184.264 223.416 209.536 DL 223.416 184.264 225.216 191.464 DL 221.616 191.464 223.416 184.264 DL 250.416 158.2 198.216 158.2 DL 250.416 184.264 250.416 158.2 DL 198.216 184.264 250.416 184.264 DL 198.216 158.2 198.216 184.264 DL 250.416 209.536 198.216 209.536 DL 250.416 235.6 250.416 209.536 DL 198.216 235.6 250.416 235.6 DL 198.216 209.536 198.216 235.6 DL 479.016 124 426.816 124 DL 479.016 149.2 479.016 124 DL 426.816 149.2 479.016 149.2 DL 426.816 124 426.816 149.2 DL 479.016 176.2 426.816 176.2 DL 479.016 202.264 479.016 176.2 DL 426.816 202.264 479.016 202.264 DL 426.816 176.2 426.816 202.264 DL 479.016 227.536 426.816 227.536 DL 479.016 253.6 479.016 227.536 DL 426.816 253.6 479.016 253.6 DL 426.816 227.536 426.816 253.6 DL 453.816 202.264 453.816 227.536 DL 453.816 202.264 455.616 209.464 DL 452.016 209.464 453.816 202.264 DL 453.816 149.2 453.816 176.2 DL 453.816 149.2 455.616 156.4 DL 452.016 156.4 453.816 149.2 DL 407.016 138.4 354.816 138.4 DL 407.016 164.536 407.016 138.4 DL 354.816 164.536 407.016 164.536 DL 354.816 138.4 354.816 164.536 DL 407.016 187.936 354.816 187.936 DL 407.016 214 407.016 187.936 DL 354.816 214 407.016 214 DL 354.816 187.936 354.816 214 DL 186.552 277 186.552 331 DL 489.816 277 186.552 277 DL 489.816 331 489.816 277 DL 186.552 331 489.816 331 DL 224.352 236.536 224.352 277 DL 224.352 236.536 226.08 243.736 DL 222.552 243.736 224.352 236.536 DL 277.416 241 251.352 223 DL 277.416 241 270.432 238.408 DL 272.52 235.456 277.416 241 DL 426.816 241 327.816 241 DL 426.816 241 419.616 242.8 DL 419.616 239.2 426.816 241 DL 354.816 200.536 327.816 200.536 DL 354.816 200.536 347.616 202.336 DL 347.616 198.736 354.816 200.536 DL 381.816 164.536 381.816 187 DL 381.816 164.536 383.616 171.736 DL 380.016 171.736 381.816 164.536 DL 273.816 200.536 251.352 223 DL 273.816 200.536 270 206.872 DL 267.48 204.352 273.816 200.536 DL('BSD')289.152 178.188 Q(1.2)215.352 173.724 Q(1.1)216.216 224.988 Q (1.1.1.1)435.816 245.724 Q(1.1.1.2)435.816 192.588 Q(1.1.1.3)435.816 141.324 Q (1.1.2.2)363.816 155.724 Q(1.1.2.1)363.816 205.188 Q(rcs\214le.c,v)309.816 305.988 Q(1.1.1)291.816 243.924 Q('SunOS')288.216 267.324 Q(1.1.2)290.952 203.388 Q 131.5 362.5 126 362.5 DL 134 362.5 128.5 362.5 DL 139.5 362.5 134 362.5 DL 145 362.5 139.5 362.5 DL 150.5 362.5 145 362.5 DL 156 362.5 150.5 362.5 DL 161.5 362.5 156 362.5 DL 167 362.5 161.5 362.5 DL 172.5 362.5 167 362.5 DL 178 362.5 172.5 362.5 DL 183.5 362.5 178 362.5 DL 189 362.5 183.5 362.5 DL 194.5 362.5 189 362.5 DL 200 362.5 194.5 362.5 DL 205.5 362.5 200 362.5 DL 211 362.5 205.5 362.5 DL 216.5 362.5 211 362.5 DL 222 362.5 216.5 362.5 DL 227.5 362.5 222 362.5 DL 233 362.5 227.5 362.5 DL 238.5 362.5 233 362.5 DL 244 362.5 238.5 362.5 DL 249.5 362.5 244 362.5 DL 255 362.5 249.5 362.5 DL 260.5 362.5 255 362.5 DL 266 362.5 260.5 362.5 DL 271.5 362.5 266 362.5 DL 277 362.5 271.5 362.5 DL 282.5 362.5 277 362.5 DL 288 362.5 282.5 362.5 DL 293.5 362.5 288 362.5 DL 299 362.5 293.5 362.5 DL 304.5 362.5 299 362.5 DL 310 362.5 304.5 362.5 DL 315.5 362.5 310 362.5 DL 321 362.5 315.5 362.5 DL 326.5 362.5 321 362.5 DL 332 362.5 326.5 362.5 DL 337.5 362.5 332 362.5 DL 343 362.5 337.5 362.5 DL 348.5 362.5 343 362.5 DL 354 362.5 348.5 362.5 DL 359.5 362.5 354 362.5 DL 365 362.5 359.5 362.5 DL 370.5 362.5 365 362.5 DL 376 362.5 370.5 362.5 DL 381.5 362.5 376 362.5 DL 387 362.5 381.5 362.5 DL 392.5 362.5 387 362.5 DL 398 362.5 392.5 362.5 DL 403.5 362.5 398 362.5 DL 409 362.5 403.5 362.5 DL 414.5 362.5 409 362.5 DL 420 362.5 414.5 362.5 DL 425.5 362.5 420 362.5 DL 431 362.5 425.5 362.5 DL 436.5 362.5 431 362.5 DL 442 362.5 436.5 362.5 DL 447.5 362.5 442 362.5 DL 453 362.5 447.5 362.5 DL 458.5 362.5 453 362.5 DL 464 362.5 458.5 362.5 DL 469.5 362.5 464 362.5 DL 475 362.5 469.5 362.5 DL 480.5 362.5 475 362.5 DL 486 362.5 480.5 362.5 DL/F1 13/Times-Bold@0 SF(Figur)281.202 388.5 Q 3.25(e4)-.234 G(.)327.547 388.5 Q/F2 11/Times-Bold@0 SF(cvs)227.229 401.5 Q F0(Support F)2.75 E (or \231Dual\232 Deri)-.165 E -.275(va)-.275 G(tions).275 E F2 2.75 (2.3. Location)90 427.5 R(Independent Module Database)2.75 E(cvs)117.5 444.4 Q F0 1.349(contains support for a simple, yet po)4.099 F 1.349 (werful, \231module\232 database.)-.275 F -.165(Fo)6.85 G 4.1(rr).165 G 1.35 (easons of ef)457.26 444.4 R<8c2d>-.275 E(cienc)90 457.4 Q 2.1 -.715(y, t)-.165 H .67(his database is stored in).715 F F2(ndbm)3.42 E F0 .67(\(3\) format.) 1.833 F .669(The module database is used to apply names)6.17 F .212 (to collections of directories and \214les as a matter of con)90 470.4 R -.165 (ve)-.44 G .212(nience for checking out pieces of a lar).165 F(ge)-.198 E (softw)90 483.4 Q 1.907(are distrib)-.11 F 4.657(ution. The)-.22 F 1.907 (database records the ph)4.657 F 1.907 (ysical location of the sources as a form of)-.055 F .088 (information hiding, allo)90 496.4 R .089 (wing one to check out whole directory hierarchies or indi)-.275 F .089 (vidual \214les with-)-.275 F(out re)90 509.4 Q -.055(ga)-.165 G (rd for their actual location within the global source distrib).055 E(ution.) -.22 E .773(Consider the follo)117.5 526.3 R .772 (wing small sample of a module database, which must be tailored manu-)-.275 F (ally to each speci\214c source repository en)90 539.3 Q(vironment:)-.44 E/F3 11/Courier@0 SF 33(#key [-option)181 558.8 R(argument] directory [files...])6.6 E 33(diff bin/diff)181 571.8 R 33(libc lib/libc)181 584.8 R 39.6(sys -o)181 597.8 R(sys/tools/make_links sys)6.6 E 13.2(modules -i)181 610.8 R (mkmodules CVSROOT.adm modules)6.6 E 19.8(kernel -a)181 623.8 R(sys lang/adb) 6.6 E 46.2(ps bin)181 636.8 R(Makefile ps.c)6.6 E F0 1.66(The \231dif)117.5 660.2 R 1.661(f\232 and \231libc\232 modules refer to whole directory hierarch\ ies that are e)-.275 F 1.661(xtracted on)-.165 F .406(check out.)90 673.2 R .405(The \231sys\232 module e)5.906 F .405(xtracts the \231sys\232 hierarch) -.165 F 1.835 -.715(y, a)-.055 H .405(nd runs the \231mak).715 F .405 (e_links\232 program at)-.11 F 1.529(the end of the check out process \(the)90 686.2 R/F4 11/Times-Italic@0 SF(-o)4.279 E F0 1.53 (option speci\214es a program to run on check)4.279 F F4(o)A F0 4.28(ut\). The) B 1.286(\231modules\232 module allo)90 699.2 R 1.285 (ws one to edit the module database \214le and runs the \231mkmodules\232 pro-) -.275 F .401(gram on check)90 712.2 R F4(i)A F0 3.151(nt)C 3.151(or)170.326 712.2 S -.165(eg)182.64 712.2 S .401(enerate the).165 F F2(ndbm)3.151 E F0 .401 (database that)3.151 F F2(cvs)3.151 E F0 3.151(uses. The)3.151 F<996b>3.152 E .402(ernel\232 module is an alias)-.11 F EP %%Page: 7 7 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF 1.136(\(as the)90 85 R/F1 11/Times-Italic@0 SF(-a)3.886 E F0 1.136(option speci\214es\) which causes the remaining ar)3.886 F 1.136 (guments after the)-.198 F F1(-a)3.885 E F0 1.135(to be interpreted)3.885 F -.165(ex)90 98 S .469(actly as if the).165 F 3.219(yh)-.165 G .469 (ad been speci\214ed on the command line.)174.64 98 R .47 (This is useful for objects that require)5.97 F .519 (shared pieces of code from f)90 111 R .519(ar a)-.11 F -.11(wa)-.165 G 3.269 (yp).11 G .519(laces to be compiled \(as is the case with the k)260.932 111 R .518(ernel deb)-.11 F(ug-)-.22 E(ger)90 124 Q(,)-.44 E/F2 11/Times-Bold@0 SF (kadb)3.28 E F0 3.28(,w)C .531(hich shares code with the standard)147.457 124 R F2(adb)3.281 E F0(deb)3.281 E 3.281(ugger\). The)-.22 F .531 (\231ps\232 module sho)3.281 F .531(ws that the)-.275 F 1.019 (source for \231ps\232 li)90 137 R -.165(ve)-.275 G 3.769(si).165 G 3.769(nt) 189.556 137 S 1.019(he \231bin\232 directory)201.883 137 R 3.769(,b)-.715 G 1.019(ut only)294.425 137 R F1(Mak)3.769 E(e\214le)-.11 E F0(and)3.769 E F1 (ps.c)3.769 E F0 1.019(are required to b)3.769 F 1.018(uild the)-.22 F(object.) 90 150 Q 2.129(The module database at Prisma is no)117.5 166.9 R 4.88(wp)-.275 G 2.13(opulated for the entire UNIX distrib)309.636 166.9 R 2.13(ution and)-.22 F 1.173(thereby allo)90 179.9 R 1.173(ws us to issue the follo)-.275 F 1.173 (wing con)-.275 F -.165(ve)-.44 G 1.173 (nient commands to check out components of the).165 F(UNIX distrib)90 192.9 Q (ution without re)-.22 E -.055(ga)-.165 G (rd for their actual location within the master source repository:).055 E/F3 11 /Courier@0 SF(example% cvs checkout diff)181 212.4 Q (example% cvs checkout libc ps)181 225.4 Q(example% cd diff; make)181 238.4 Q F0 1.463(In b)117.5 261.8 R 1.463 (uilding the module database \214le, it is quite possible to ha)-.22 F 1.794 -.165(ve n)-.22 H 1.464(ame con\215icts within a).165 F .965(global softw)90 274.8 R .965(are distrib)-.11 F 3.715(ution. F)-.22 F .965(or e)-.165 F .965 (xample, SunOS pro)-.165 F .964(vides tw)-.165 F(o)-.11 E F2(cat)3.714 E F0 .964(programs: one for the stan-)3.714 F 1.305(dard en)90 287.8 R(vironment,) -.44 E F1(/bin/cat)4.055 E F0 4.055(,a)C 1.305(nd one for the System V en) 220.877 287.8 R(vironment,)-.44 E F1(/usr/5bin/cat)4.055 E F0 6.805(.W)C 4.056 (er)475.957 287.8 S(esolv)488.56 287.8 Q(ed)-.165 E .019 (this con\215ict by naming the standard)90 300.8 R F2(cat)2.769 E F0 .019 (module \231cat\232, and the System V)2.769 F F2(cat)2.769 E F0 .019 (module \2315cat\232.)2.769 F(Sim-)5.519 E .447(ilar name modi\214cations must\ be applied to other con\215icting names, as might be found between a)90 313.8 R .171(utility program and a library function, though Prisma chose not to incl\ ude indi)90 326.8 R .171(vidual library func-)-.275 F (tions within the module database at this time.)90 339.8 Q F2 2.75 (2.4. Con\214gurable)90 365.8 R(Logging Support)2.75 E F0(The)117.5 382.7 Q F2 (cvs)4.549 E F0 1.799(\231commit\232 command is used to mak)4.549 F 4.549(eap) -.11 G 1.799(ermanent change to the master source)347.135 382.7 R .363 (repository \(where the)90 395.7 R/F4 9/Times-Roman@0 SF(RCS)3.113 E F0 .362 (\231,v\232 \214les li)2.612 F -.165(ve)-.275 G 3.112(\). Whene).165 F -.165 (ve)-.275 G 3.112(ra\231).165 G .362 (commit\232 is done, the log message for the)339.209 395.7 R .978(change is ca\ refully logged by an arbitrary program \(in a \214le, notes\214le, ne)90 408.7 R .978(ws database, or mail\).)-.275 F -.165(Fo)90 421.7 S 4.13(re).165 G 1.38 (xample, a collection of these updates can be used to produce release notices.) 113.963 421.7 R F2(cvs)6.879 E F0 1.379(can be)4.129 F .105(con\214gured to se\ nd log updates through one or more \214lter programs, based on a re)90 434.7 R .105(gular e)-.165 F(xpression)-.165 E .08 (match on the directory that is being changed.)90 447.7 R .08(This allo)5.58 F .079(ws multiple related or unrelated projects to)-.275 F -.165(ex)90 460.7 S .752(ist within a single).165 F F2(cvs)3.502 E F0 .753 (source repository tree, with each dif)3.502 F .753 (ferent project sending its \231commit\232)-.275 F(reports to a unique log de) 90 473.7 Q(vice.)-.275 E 2.75(As)117.5 490.6 S (ample logging con\214guration \214le might look as follo)132.471 490.6 Q(ws:) -.275 E F3 33(#regex filter-program)153.5 510.1 R 26.4 (DEFAULT /usr/local/bin/nfpipe)153.5 523.1 R(-t %s utils.updates)6.6 E 39.6 (^diag /usr/local/bin/nfpipe)153.5 536.1 R(-t %s diag.updates)6.6 E 33 (^local /usr/local/bin/nfpipe)153.5 549.1 R(-t %s local.updates)6.6 E 39.6 (^perf /usr/local/bin/nfpipe)153.5 562.1 R(-t %s perf.updates)6.6 E 46.2 (^sys /usr/local/bin/nfpipe)153.5 575.1 R(-t %s kernel.updates)6.6 E F0 .094 (This sample allo)117.5 598.5 R .094 (ws the diagnostics and performance groups to share the same source repos-) -.275 F .842(itory with the k)90 611.5 R .842(ernel and utilities groups.)-.11 F .843(Changes that the)6.343 F 3.593(ym)-.165 G(ak)373.139 611.5 Q 3.593(ea) -.11 G .843(re sent directly to their o)396.774 611.5 R(wn)-.275 E .748 (notes\214le [Essick] through the \231nfpipe\232 program.)90 624.5 R 3.498(As) 6.248 G(uf)328.337 624.5 Q .748 (\214ciently simple title is substituted for the)-.275 F 1.051(\231%s\232 ar)90 637.5 R 1.051(gument before the \214lter program is e)-.198 F -.165(xe)-.165 G 3.802(cuted. This).165 F 1.052(logging con\214guration \214le is tailored)3.802 F(manually to each speci\214c source repository en)90 650.5 Q(vironment.)-.44 E F2 2.75(2.5. T)90 676.5 R(agged Releases and Dates)-1.012 E F0(An)117.5 693.4 Q 3.342(yr)-.165 G .592(elease can be gi)143.282 693.4 R -.165(ve)-.275 G 3.342 (nas).165 G .592(ymbolic tag name that is stored directly in the)245.682 693.4 R F4(RCS)3.342 E F0 3.341(\214les. This)2.842 F .053(tag can be used at an)90 706.4 R 2.804(yt)-.165 G .054(ime to get an e)192.795 706.4 R .054(xact cop) -.165 F 2.804(yo)-.11 G 2.804(fa)308.322 706.4 S .384 -.165(ny p)319.673 706.4 T(re).165 E .054(vious release.)-.275 F -.44(Wi)5.554 G .054 (th equal ease, one can).44 F EP %%Page: 8 8 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF(-8-)299.587 49 Q .292(also e)90 85 R .292(xtract an e) -.165 F .292(xact cop)-.165 F 3.042(yo)-.11 G 3.042(ft)212.9 85 S .292 (he source \214les as of an)222.663 85 R 3.042(ya)-.165 G .292 (rbitrary date in the past as well.)337.275 85 R .291(Thus, all)5.791 F(that') 90 98 Q 2.75(sr)-.605 G(equired to tag the current k)120.25 98 Q (ernel, and to tag the k)-.11 E(ernel as of the F)-.11 E(ourth of July is:) -.165 E/F1 11/Courier@0 SF(example% cvs tag TEST_KERNEL kernel)153.5 117.5 Q (example% cvs tag -D 'July 4' PATRIOTIC_KERNEL kernel)153.5 130.5 Q F0 (The follo)90 150 Q(wing command w)-.275 E(ould retrie)-.11 E .33 -.165(ve a) -.275 H 2.75(ne).165 G(xact cop)285.14 150 Q 2.75(yo)-.11 G 2.75(ft)335.74 150 S(he test k)345.211 150 Q(ernel at some later date:)-.11 E F1 (example% cvs checkout -fp -rTEST_KERNEL kernel)153.5 169.5 Q F0(The)90 189 Q /F2 11/Times-Italic@0 SF(-f)3.945 E F0 1.196 (option causes only \214les that match the speci\214ed tag to be e)3.945 F 1.196(xtracted, while the)-.165 F F2(-p)3.946 E F0(option)3.946 E 1.355 (automatically prunes empty directories.)90 202 R(Consequently)6.855 E 4.105 (,d)-.715 G 1.355(irectories added to the k)347.201 202 R 1.354 (ernel after the)-.11 F(test k)90 215 Q(ernel w)-.11 E (as tagged are not included in the ne)-.11 E(wly e)-.275 E(xtracted cop)-.165 E 2.75(yo)-.11 G 2.75(ft)392.885 215 S(he test k)402.356 215 Q(ernel.)-.11 E(The) 117.5 231.9 Q/F3 11/Times-Bold@0 SF(cvs)2.998 E F0 .249(date support has e) 2.998 F .249(xactly the same interf)-.165 F .249(ace as that pro)-.11 F .249 (vided with)-.165 F/F4 9/Times-Roman@0 SF(RCS)2.999 E F0 2.999(,h)C -.275(ow) 472.68 231.9 S -2.365 -.275(ev e).275 H(r).275 E F3(cvs)2.999 E F0 .183(must p\ rocess the \231,v\232 \214les directly due to the special handling required by\ the v)90 244.9 R .183(endor branch sup-)-.165 F 3.016(port. The)90 257.9 R (standard)3.016 E F4(RCS)3.016 E F0 .267 (date handling only processes one branch \(or the main trunk\) when check-) 2.517 F .075(ing out based on a date speci\214cation.)90 270.9 R F3(cvs)5.574 E F0 .074(must instead process the current \231head\232 branch and, if a)2.824 F .496(match is not found, proceed to look for a match on the v)90 283.9 R .496 (endor branch.)-.165 F .497(This, combined with rea-)5.996 F 1.157 (sons of performance, is wh)90 296.9 R(y)-.055 E F3(cvs)3.907 E F0 1.156 (processes re)3.907 F 1.156 (vision \(symbolic and numeric\) and date speci\214ca-)-.275 F (tions directly from the \231,v\232 \214les.)90 309.9 Q F3 2.75(2.6. Building) 90 335.9 R(\231patch\232 Sour)2.75 E(ce Distrib)-.198 E(utions)-.22 E(cvs)117.5 352.8 Q F0 .112(can produce a \231patch\232 format [W)2.862 F .113 (all] output \214le which can be used to bring a pre)-.88 F(viously)-.275 E .872(released softw)90 365.8 R .872(are distrib)-.11 F .872 (ution current with the ne)-.22 F .871(west release.)-.275 F .871 (This patch \214le supports an entire)6.371 F .444(directory hierarch)90 378.8 R 3.194(yw)-.055 G .444 (ithin a single patch, as well as being able to add whole ne)185.521 378.8 R 3.194<778c>-.275 G .445(les to the pre-)460.485 378.8 R 1.33(vious release.)90 391.8 R 1.33(One can combine symbolic re)6.83 F 1.33 (visions and dates together to display changes in a)-.275 F -.165(ve)90 404.8 S (ry generic w).165 E(ay:)-.11 E F1(example% cvs patch -D 'December 1, 1988' \\) 153.5 424.3 Q(-D 'January 1, 1989' sys)278.9 437.3 Q F0 1.126(This e)90 456.8 R 1.127(xample displays the k)-.165 F 1.127 (ernel changes made in the month of December)-.11 F 3.877(,1)-.44 G 3.877 (988. T)441.608 456.8 R 3.877(or)-.88 G 1.127(elease a)486.366 456.8 R .425 (patch \214le, for e)90 469.8 R .425(xample, to tak)-.165 F 3.175(et)-.11 G(he) 232.195 469.8 Q F3(cvs)3.175 E F0(distrib)3.175 E .425(ution from v)-.22 F .425 (ersion 1.0 to v)-.165 F .425(ersion 1.4 might be done)-.165 F(as follo)90 482.8 Q(ws:)-.275 E F1(example% cvs patch -rCVS_1_0 -rCVS_1_4 cvs)153.5 502.3 Q F3 2.75(3. CVS)90 534.8 R(Experience)2.75 E 2.75(3.1. Statistics)90 560.8 R F0 2.882(Aq)117.5 577.7 S .132(uick summary of the scale that)133.824 577.7 R F3 (cvs)2.882 E F0 .133(is addressing today can be found in T)2.882 F .133 (able 1.)-.88 F -.88(Ta)5.633 G .133(ble 2).88 F(sho)90 590.7 Q .125 (ws the history of \214les changed or added and the number of source lines af) -.275 F .124(fected by the change)-.275 F 1.062(at Prisma.)90 603.7 R 1.062 (Only changes made to the k)6.562 F 1.062(ernel sources are included.)-.11 F 1.063(The lar)6.563 F 1.063(ge number of source)-.198 F .116 (\214le changes made in September are the result of mer)90 616.7 R .115 (ging the SunOS 4.0.3 sources into the k)-.198 F(ernel.)-.11 E(This mer)90 629.7 Q(ge process is described in section 3.3.)-.198 E F3 2.75(3.2. P)90 655.7 R(erf)-.22 E(ormance)-.275 E F0 1.095(The performance of)117.5 672.6 R F3(cvs) 3.845 E F0 1.095(is currently quite reasonable.)3.845 F 1.096(Little ef)6.596 F 1.096(fort has been e)-.275 F 1.096(xpended on)-.165 F(tuning)90 685.6 Q F3 (cvs)3.295 E F0 3.295(,a)C .545 (lthough performance related decisions were made during the)147.003 685.6 R F3 (cvs)3.294 E F0 3.294(design. F)3.294 F .544(or e)-.165 F(xam-)-.165 E(ple,)90 698.6 Q F3(cvs)2.842 E F0 .092(parses the)2.842 F F4(RCS)2.842 E F0 .093 (\231,v\232 \214les directly instead of running an)2.343 F F4(RCS)2.843 E F0 2.843(process. This)2.343 F .093(includes follo)2.843 F(w-)-.275 E 1.552 (ing branches as well as inte)90 711.6 R 1.552(grating with the v)-.165 F 1.551 (endor source branches and the main trunk when)-.165 F EP %%Page: 9 9 %%BeginPageSetup BP %%EndPageSetup .44 LW 413.471 83.25 198.528 83.25 DL/F0 13/Times-Bold@0 SF(Re)204.028 93.5 Q (vision Contr)-.195 E(ol Statistics at Prisma)-.234 E(as of 11/11/89)268.442 106.5 Q 413.471 111.25 198.528 111.25 DL/F1 11/Times-Roman@0 SF(Ho)235.673 121.5 Q 2.75(wM)-.275 G(an)269.311 121.5 Q -.715(y.)-.165 G 67.855(.. T).715 F (otal)-.88 E 413.471 126.25 198.528 126.25 DL 413.471 128.25 198.528 128.25 DL 137.917(Files 17243)204.028 138.5 R 115.939(Directories 1005)204.028 151.5 R (Lines of code)204.028 164.5 Q(3927255)355.09 164.5 Q(Remo)204.028 177.5 Q -.165(ve)-.165 G 2.75<648c>.165 G 107.392(les 131)254.727 177.5 R(Softw)204.028 190.5 Q(are de)-.11 E -.165(ve)-.275 G 86.25(lopers 14).165 F(Softw)204.028 203.5 Q(are groups)-.11 E(6)388.09 203.5 Q(Me)204.028 216.5 Q -.055(ga)-.165 G (bytes of source).055 E(128)377.09 216.5 Q 413.471 221.25 198.528 221.25 DL 332.46 111.25 332.46 221.25 DL 413.471 83.25 413.471 221.25 DL 198.528 83.25 198.528 221.25 DL F0 -1.196(Ta)284.205 236 S(ble 1.)1.196 E/F2 11/Times-Bold@0 SF(cvs)277.427 249 Q F1(Statistics)2.75 E 437.686 264.15 174.313 264.15 DL F0 (Prisma K)207.44 274.4 Q(er)-.325 E(nel Sour)-.195 E(ce File Changes)-.234 E (By Month, 1988-1989)246.596 287.4 Q 437.686 292.15 174.313 292.15 DL F1 2.75 (#C)225.65 302.4 S 16.956(hanged #)241.237 302.4 R 16.957(Lines #)2.75 F 13.904 (Added #)2.75 F(Lines)2.75 E 26.73(Files Changed)238.63 315.4 R 23.678 (Files Added)353.2 315.4 R(Month)179.813 308.9 Q 437.686 320.15 174.313 320.15 DL 437.686 322.15 174.313 322.15 DL 49.054(Dec 87)179.813 332.4 R 35.591 (3619 68)300.807 332.4 R(9266)410.186 332.4 Q 52.101(Jan 39)179.813 345.4 R 41.091(4324 0)300.807 345.4 R(0)426.686 345.4 Q 50.264(Feb 73)179.813 358.4 R 41.091(1578 5)300.807 358.4 R(3550)410.186 358.4 Q 48.438(Mar 99)179.813 371.4 R 35.591(5301 18)300.807 371.4 R(11461)404.686 371.4 Q 44.159(Apr 112)179.813 384.4 R 35.591(7333 11)300.807 384.4 R(5759)410.186 384.4 Q 41.101(May 138) 179.813 397.4 R 35.591(5371 17)300.807 397.4 R(13986)404.686 397.4 Q 51.485 (Jun 65)179.813 410.4 R 35.591(2261 27)300.807 410.4 R(12875)404.686 410.4 Q 53.927(Jul 34)179.813 423.4 R 41.091(2000 1)300.807 423.4 R(58)421.186 423.4 Q 47.822(Aug 65)179.813 436.4 R 41.091(6378 8)300.807 436.4 R(4724)410.186 436.4 Q 44.764(Sep 266)179.813 449.4 R 30.091(23410 113)295.307 449.4 R(39965)404.686 449.4 Q 50.88(Oct 22)179.813 462.4 R 41.091(621 1)306.307 462.4 R(155)415.686 462.4 Q -.88(To)179.813 475.4 S 33.423(tal 1000).88 F 30.091(62196 269)295.307 475.4 R(101799)399.186 475.4 Q 437.686 480.15 174.313 480.15 DL 390.936 292.15 390.936 480.15 DL 335.86 292.15 335.86 480.15 DL 337.86 292.15 337.86 480.15 DL 281.255 292.15 281.255 480.15 DL 216.4 292.15 216.4 480.15 DL 218.4 292.15 218.4 480.15 DL 437.686 264.15 437.686 480.15 DL 174.313 264.15 174.313 480.15 DL F0 -1.196(Ta)284.205 494.9 S(ble 2.)1.196 E F2(cvs)233.587 507.9 Q F1 (Usage History for the K)2.75 E(ernel)-.275 E (checking out \214les based on a date.)90 533.9 Q .098 (Checking out the entire k)117.5 550.8 R .098 (ernel source tree \(1223 \214les/59 directories\) currently tak)-.11 F .098 (es 16 w)-.11 F(all)-.11 E 1.885(clock minutes on a Sun-4/280.)90 563.8 R(Ho) 7.385 E(we)-.275 E -.165(ve)-.275 G 2.765 -.44(r, b).165 H 1.885 (ringing the tree up-to-date with the current k).44 F(ernel)-.11 E .471 (sources, once it has been check)90 576.8 R .471(ed out, tak)-.11 F .471 (es only 1.5 w)-.11 F .472(all clock minutes.)-.11 F .472(Updating the)5.972 F /F3 11/Times-Italic@0 SF(complete)3.222 E F1 1.687(128 MByte source tree under) 90 589.8 R F2(cvs)4.436 E F1 1.686 (control \(17243 \214les/1005 directories\) tak)4.436 F 1.686(es roughly 28 w) -.11 F(all)-.11 E 3.394(clock minutes and utilizes one-third of the machine.)90 602.8 R -.165(Fo)8.895 G 6.145(rn).165 G 3.945 -.275(ow t)377.938 602.8 T 3.395 (his is entirely acceptable;).275 F(impro)90 615.8 Q -.165(ve)-.165 G (ments on these numbers will possibly be made in the future.).165 E F2 2.75 (3.3. The)90 641.8 R(SunOS 4.0.3 Mer)2.75 E(ge)-.11 E F1 1.268 (The true test of the)117.5 658.7 R F2(cvs)4.018 E F1 -.165(ve)4.018 G 1.268 (ndor branch support came with the arri).165 F -.275(va)-.275 G 4.017(lo).275 G 4.017(ft)439.67 658.7 S 1.267(he SunOS 4.0.3)450.408 658.7 R 2.257 (source upgrade tape.)90 671.7 R 2.257(As described abo)7.757 F -.165(ve)-.165 G 5.007(,t).165 G(he)294.128 671.7 Q F2(checkin)5.007 E F1 2.257(program w) 5.007 F 2.257(as used to install the ne)-.11 F(w)-.275 E .667(sources and the \ resulting output \214le listed the \214les that had been locally modi\214ed, n\ eeding to be)90 684.7 R(mer)90 697.7 Q .983(ged manually)-.198 F 6.484(.F)-.715 G .984(or the k)181.936 697.7 R .984 (ernel, there were 94 \214les in con\215ict.)-.11 F(The)6.484 E F2(cvs)3.734 E F1 .984(\231join\232 command w)3.734 F(as)-.11 E(used on each of the 94 con\ \215icting \214les, and the remaining con\215icts were resolv)90 710.7 Q(ed.) -.165 E EP %%Page: 10 10 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF(-10-)296.837 49 Q 1.315 (The \231join\232 command performs an)117.5 85 R/F1 11/Times-Bold@0 SF -.198 (rc)4.064 G(smer).198 E(ge)-.11 E F0 4.064(operation. This)4.064 F 1.314 (in turn uses)4.064 F/F2 11/Times-Italic@0 SF(/usr/lib/dif)4.064 E(f3)-.198 E F0(to)4.064 E 1.458(produce a three-w)90 98 R 1.458(ay dif)-.11 F 4.208<668c> -.275 G 4.208(le. As)212.74 98 R 1.458(it happens, the)4.208 F F1(diff3)4.208 E F0 1.458(program has a hard-coded limit of 200)4.208 F 1.917 (source-\214le changes maximum.)90 111 R 1.917(This pro)7.417 F -.165(ve)-.165 G 4.667(dt).165 G 4.667(ob)298.146 111 S 4.667(et)313.813 111 S 1.917 (oo small for a fe)326.422 111 R 4.666(wo)-.275 G 4.666(ft)424.015 111 S 1.916 (he k)435.402 111 R 1.916(ernel \214les that)-.11 F 1.038(needed mer)90 124 R 1.038(ging by hand, due to the lar)-.198 F 1.039 (ge number of local changes that Prisma had made.)-.198 F(The)6.539 E F1(diff3) 90 137 Q F0(problem w)2.75 E(as solv)-.11 E (ed by increasing the hard-coded limit by an order of magnitude.)-.165 E .167 (The SunOS 4.0.3 k)117.5 153.9 R .167(ernel source upgrade distrib)-.11 F .166 (ution contained 346 \214les, 233 of which were)-.22 F 1.687 (modi\214cations to pre)90 166.9 R 1.687 (viously released \214les, and 113 of which were ne)-.275 F 1.687 (wly added \214les.)-.275 F F1(checkin)7.187 E F0 .599(added the 113 ne)90 179.9 R 3.348<778c>-.275 G .598(les to the source repository without interv) 183.772 179.9 R 3.348(ention. Of)-.165 F .598(the 233 modi\214ed \214les,)3.348 F .171(139 dropped in cleanly by)90 192.9 R F1(checkin)2.921 E F0 2.921(,s)C .171(ince Prisma had not made an)254.486 192.9 R 2.921(yl)-.165 G .172 (ocal changes to them, and 94)393.441 192.9 R .625(required manual mer)90 205.9 R .624(ging due to local modi\214cations.)-.198 F .624 (The 233 modi\214ed \214les consisted of 20,766)6.124 F 1.592(lines of dif)90 218.9 R 4.342(ferences. It)-.275 F 1.592(took one de)4.342 F -.165(ve)-.275 G 1.592(loper tw).165 F 4.342(od)-.11 G 1.592(ays to manually mer)315.751 218.9 R 1.592(ge the 94 \214les using the)-.198 F 1.81 (\231join\232 command and resolving con\215icts manually)90 231.9 R 7.31(.A) -.715 G 4.56(na)335.404 231.9 S 1.81(dditional day w)350.348 231.9 R 1.81 (as required for k)-.11 F(ernel)-.11 E(deb)90 244.9 Q 3.116(ugging. The)-.22 F .366(entire process of mer)3.116 F .367(ging o)-.198 F -.165(ve)-.165 G 3.117 (r2).165 G .367(0,000 lines of dif)309.023 244.9 R .367(ferences w)-.275 F .367 (as completed in less)-.11 F 2.292(than a week.)90 257.9 R 2.292 (This one time-sa)7.792 F 2.292(vings alone w)-.22 F 2.292 (as justi\214cation enough for the)-.11 F F1(cvs)5.042 E F0(de)5.042 E -.165 (ve)-.275 G(lopment).165 E(ef)90 270.9 Q(fort; we e)-.275 E(xpect to g)-.165 E (ain e)-.055 E -.165(ve)-.275 G 2.75(nm).165 G (ore when tracking future SunOS releases.)231.416 270.9 Q F1 2.75(4. Futur)90 296.9 R 2.75(eE)-.198 G(nhancements and Curr)146.023 296.9 Q(ent Bugs)-.198 E F0(Since)117.5 313.8 Q F1(cvs)3.639 E F0 -.11(wa)3.639 G 3.639(sd).11 G .889 (esigned to be incomplete, for reasons of design simplicity)190.017 313.8 R 3.64(,t)-.715 G .89(here are natu-)459.753 313.8 R .978 (rally a good number of enhancements that can be made to mak)90 326.8 R 3.728 (ei)-.11 G 3.728(tm)388.179 326.8 S .978(ore useful.)403.523 326.8 R .978 (As well, some)6.478 F(nuisances e)90 339.8 Q (xist in the current implementation.)-.165 E<83>117.5 356.7 Q F1(cvs)134 356.7 Q F0 1.047(does not currently \231remember\232 who has a check)3.797 F 1.048 (ed out a cop)-.11 F 3.798(yo)-.11 G 3.798(fam)442.656 356.7 S 3.798(odule. As) 467.357 356.7 R(a)3.798 E .136(result, it is impossible to kno)134 369.7 R 2.886(ww)-.275 G .136(ho might be w)280.302 369.7 R .136 (orking on the same module that you are.)-.11 F 2.75(As)134 382.7 S (imple-minded database that is updated nightly w)148.971 382.7 Q(ould lik)-.11 E(ely suf)-.11 E(\214ce.)-.275 E 12.65<8353>117.5 399.6 S 2.655 (ignal processing, k)140.116 399.6 R -.165(ey)-.11 G 2.655 (board interrupt handling in particular).165 F 5.406(,i)-.44 G 5.406(sc)422.869 399.6 S 2.656(urrently some)437.438 399.6 R(what)-.275 E 3.997(weak. This)134 412.6 R 1.247(is due to the hea)3.997 F 1.246(vy use of the)-.22 F F1(system) 3.996 E F0 1.246(\(3\) library function to e)1.833 F -.165(xe)-.165 G(cute).165 E/F3 9/Times-Roman@0 SF(RCS)3.996 E F0 .545(programs lik)134 425.6 R(e)-.11 E F1(co)3.295 E F0(and)3.295 E F1(ci)3.295 E F0 6.045(.I)C 3.295(ts)251.785 425.6 S .545(ometimes tak)262.417 425.6 R .545(es multiple interrupts to mak)-.11 F (e)-.11 E F1(cvs)3.295 E F0 3.296(quit. This)3.295 F(can be \214x)134 438.6 Q (ed by using a home-gro)-.165 E(wn)-.275 E F1(system)2.75 E F0 (\(\) replacement.)1.833 E 12.65<8353>117.5 455.5 S .878 (ecurity of the source repository is currently not dealt with directly)140.116 455.5 R 6.378(.T)-.715 G .878(he usual UNIX)453.65 455.5 R 1.457 (approach of user)134 468.5 R 1.457 (-group-other security permissions through the \214le system is utilized,)-.22 F -.22(bu)134 481.5 S 3.531(tn).22 G .781(othing else.)156.869 481.5 R F1(cvs) 6.281 E F0 .781(could lik)3.531 F .781(ely be a set-group-id e)-.11 F -.165(xe) -.165 G .78(cutable that checks a protected).165 F 1.641(database to v)134 494.5 R 1.642(erify user access permissions for particular objects before allo) -.165 F 1.642(wing an)-.275 F(y)-.165 E(operations to af)134 507.5 Q (fect those objects.)-.275 E 12.65<8357>117.5 524.4 S 1.347(ith e)143.944 524.4 R -.165(ve)-.275 G 1.346(ry check).165 F 1.346(ed-out directory)-.11 F(,)-.715 E F1(cvs)4.096 E F0 1.346(maintains some administrati)4.096 F 1.676 -.165 (ve \214)-.275 H 1.346(les that record).165 F 2.036(the current re)134 537.4 R 2.036(vision numbers of the check)-.275 F 2.037 (ed-out \214les as well as the location of the)-.11 F(respecti)134 550.4 Q 1.46 -.165(ve s)-.275 H 1.13(ource repository).165 F(.)-.715 E F1(cvs)6.63 E F0 1.13 (does not reco)3.88 F -.165(ve)-.165 G 3.88(rn).165 G 1.13 (icely at all if these administrati)370.446 550.4 R -.165(ve)-.275 G (\214les are remo)134 563.4 Q -.165(ve)-.165 G(d.).165 E 12.65<8354>117.5 580.3 S 1.2(he source code for)140.721 580.3 R F1(cvs)3.95 E F0 1.2 (has been tested e)3.95 F(xtensi)-.165 E -.165(ve)-.275 G 1.201 (ly on Sun-3 and Sun-4 systems, all).165 F .092(running SunOS 4.0 or later v) 134 593.3 R .092(ersions of the operating system.)-.165 F .091 (Since the code has not yet)5.591 F .024 (been compiled under other platforms, the o)134 606.3 R -.165(ve)-.165 G .025 (rall portability of the code is still question-).165 F(able.)134 619.3 Q 12.65 <8341>117.5 636.2 S 4.241(sw)141.942 636.2 S 1.491(itnessed in the pre)158.404 636.2 R 1.491(vious section, the)-.275 F F1(cvs)4.241 E F0 1.49 (method for tracking third party v)4.241 F(endor)-.165 E 1.09(source distrib) 134 649.2 R 1.09(utions can w)-.22 F 1.09(ork quite nicely)-.11 F 6.591(.H) -.715 G -.275(ow)339.916 649.2 S -2.365 -.275(ev e).275 H 1.971 -.44(r, i).275 H 3.841(ft).44 G 1.091(he v)391.345 649.2 R 1.091(endor changes the direc-) -.165 F .266(tory structure or the \214le names within the source distrib)134 662.2 R(ution,)-.22 E F1(cvs)3.016 E F0 .266(has no w)3.016 F .266 (ay of match-)-.11 F 1.407(ing the old release with the ne)134 675.2 R 4.158 (wo)-.275 G 4.158(ne. It)291.748 675.2 R 1.408(is currently unclear as to ho) 4.158 F 4.158(wt)-.275 G 4.158(os)466.483 675.2 S(olv)480.42 675.2 Q 4.158(et) -.165 G(his,)506.413 675.2 Q(though it is certain to happen in practice.)134 688.2 Q EP %%Page: 11 11 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Bold@0 SF 2.75(5. A)90 85 R -.11(va)-1.1 G(ilability).11 E/F1 11 /Times-Roman@0 SF(The)117.5 101.9 Q F0(cvs)3.134 E F1 .384 (program sources can be found in a recent posting to the)3.134 F F0(comp.sour) 3.134 E(ces.unix)-.198 E F1(ne)3.134 E(ws-)-.275 E 3.843(group. It)90 114.9 R 1.093(is also currently a)3.843 F -.275(va)-.22 G 1.093(ilable via anon).275 F 1.093(ymous ftp from \231prisma.com\232.)-.165 F(Cop)6.593 E 1.093 (ying rights for)-.11 F F0(cvs)90 127.9 Q F1(will be co)2.75 E -.165(ve)-.165 G (red by the GNU General Public License.).165 E F0 2.75(6. Summary)90 153.9 R F1 1.175(Prisma has used)117.5 170.8 R F0(cvs)3.925 E F1 1.175(since December) 3.925 F 3.925(,1)-.44 G 3.925(988. It)296.711 170.8 R 1.175(has e)3.925 F -.22 (vo)-.275 G(lv).22 E 1.174(ed to meet our speci\214c needs of)-.165 F(re)90 183.8 Q 1.24(vision and release control.)-.275 F 3 -.88(We w)6.74 H 1.24 (ill mak).88 F 3.991(eo)-.11 G 1.241(ur code freely a)296.901 183.8 R -.275(va) -.22 G 1.241(ilable so that others can bene\214t).275 F(from our w)90 196.8 Q (ork, and can enhance)-.11 E F0(cvs)2.75 E F1(to meet broader needs yet.)2.75 E (Man)117.5 213.7 Q 3.519(yo)-.165 G 3.519(ft)152.017 213.7 S .769 (he other softw)162.257 213.7 R .769(are release and re)-.11 F .769 (vision control systems, lik)-.275 F 3.519(et)-.11 G .769(he one described in) 434.465 213.7 R([Gle)90 226.7 Q .09 (w], appear to use a collection of tools that are geared to)-.275 F -.11(wa) -.275 G .091(rd speci\214c en).11 F .091(vironments \212 one set)-.44 F .616 (of tools for the k)90 239.7 R .615(ernel, one set for \231generic\232 softw) -.11 F .615(are, one set for utilities, and one set for k)-.11 F(ernel)-.11 E 2.313(and utilities.)90 252.7 R 2.314(Each of these tool sets apparently handl\ e some speci\214c aspect of the problem)7.813 F(uniquely)90 265.7 Q(.)-.715 E F0(cvs)5.634 E F1 .134(took a some)2.884 F .134(what dif)-.275 F .133 (ferent approach.)-.275 F .133(File sharing through symbolic or hard links is) 5.633 F .269(not addressed; instead, the disk space is simply b)90 278.7 R .27 (urned since it is \231cheap.)-.22 F 5.77<9a53>-.77 G .27(upport for producing) 429.808 278.7 R 1.973(objects for multiple architectures is not addressed; ins\ tead, a parallel check)90 291.7 R 1.973(ed-out source tree)-.11 F .797 (must be used for each architecture, ag)90 304.7 R .798(ain w)-.055 F .798 (asting disk space to simplify comple)-.11 F .798(xity and ease of)-.165 F .204 (use \212 punting on this issue allo)90 317.7 R(wed)-.275 E/F2 11 /Times-Italic@0 SF(Mak)2.954 E(e\214le)-.11 E F1 2.954(st)C 2.954(or)301.457 317.7 S .204(emain unchanged, unlik)313.574 317.7 R 2.953(et)-.11 G .203 (he approach tak)430.168 317.7 R .203(en in)-.11 F 1.682 ([Mahler], thereby maintaining closer compatibility with the third-party v)90 330.7 R 1.682(endor sources.)-.165 F F0(cvs)7.182 E F1(is)4.432 E .851 (essentially a source-\214le serv)90 343.7 R(er)-.165 E 3.601(,m)-.44 G .851 (aking no assumptions or special handling of the sources that it)239.737 343.7 R 2.75(controls. T)90 356.7 R(o)-.88 E F0(cvs)2.75 E F1(:)A 2.75(As)117.5 373.6 S(ource is a source, of course, of course, unless of course the source is Mr) 132.471 373.6 Q 2.75(.E)-.605 G(d.)460.249 373.6 Q/F3 7.7/Times-Roman@0 SF(6) 468.499 369.09 Q F1 .274(Sources are maintained, sa)90 390.5 R -.165(ve)-.22 G .275(d, and retrie).165 F -.275(va)-.275 G .275(ble at an).275 F 3.025(yt)-.165 G .275(ime based on symbolic or numeric re)330.589 390.5 R(vision)-.275 E .487 (or date in the past.)90 403.5 R .487(It is entirely up to)5.987 F F0(cvs)3.236 E F1 .486(wrapper programs to pro)3.236 F .486(vide for release en)-.165 F (vironments)-.44 E(and such.)90 416.5 Q 1.437(The major adv)117.5 433.4 R 1.437 (antage of)-.275 F F0(cvs)4.187 E F1 -.165(ove)4.187 G 4.188(rt).165 G 1.438 (he man)275.811 433.4 R 4.188(yo)-.165 G 1.438(ther similar systems that ha) 324.348 433.4 R 1.768 -.165(ve a)-.22 H 1.438(lready been).165 F .205 (designed is the simplicity of)90 446.4 R F0(cvs)2.955 E F1(.)A F0(cvs)5.704 E F1 .204(contains only three programs that do all the w)2.954 F .204 (ork of release)-.11 F .168(and re)90 459.4 R .168(vision control, and tw)-.275 F 2.919(om)-.11 G .169(anually-maintained administrati)230.388 459.4 R .499 -.165(ve \214)-.275 H .169(les for each source repository).165 F(.)-.715 E .494 (Of course, the deciding f)90 472.4 R .494(actor of an)-.11 F 3.244(yt)-.165 G .494(ool is whether people use it, and if the)260.581 472.4 R 3.243(ye)-.165 G -.165(ve)445.448 472.4 S(n).165 E F2(lik)3.243 E(e)-.11 E F1 .493(to use it.) 3.243 F(At Prisma,)90 485.4 Q F0(cvs)2.75 E F1(pre)2.75 E -.165(ve)-.275 G (nted members of the k).165 E(ernel group from killing each other)-.11 E(.) -.605 E F0 2.75(7. Ackno)90 511.4 R(wledgements)-.11 E F1(Man)117.5 528.3 Q 2.939(yt)-.165 G .189(hanks to Dick Grune at Vrije Uni)148.995 528.3 R -.165 (ve)-.275 G .19(rsiteit in Amsterdam for his w).165 F .19(ork on the original) -.11 F -.165(ve)90 541.3 S .194(rsion of).165 F F0(cvs)2.944 E F1 .194 (and for making it a)2.944 F -.275(va)-.22 G .194(ilable to the w).275 F 2.943 (orld. Thanks)-.11 F .193(to Jef)2.943 F 2.943(fP)-.275 G .193 (olk of Prisma for helping)410.623 541.3 R .398 (with the design of the module database, v)90 554.3 R .398 (endor branch support, and for writing the)-.165 F F0(checkin)3.148 E F1(shell) 3.148 E 3.168(script. Thanks)90 567.3 R .417(also to the entire softw)3.168 F .417(are group at Prisma for taking the time to re)-.11 F(vie)-.275 E 3.167(wt) -.275 G .417(he paper)484.018 567.3 R(and correct my grammar)90 580.3 Q(.)-.605 E F0 2.75(8. Refer)90 606.3 R(ences)-.198 E F1 37.587([Bell] Bell)90 623.2 R -.77(Te)2.886 G .136(lephone Laboratories.).77 F .137 (\231Source Code Control System User')5.636 F 2.887(sG)-.605 G(uide.)464.894 623.2 Q<9a>-.77 E F2(UNIX)5.637 E(System III Pr)156 636.2 Q -.11(og)-.495 G -.165(ra).11 G(mmer').165 E 2.75(sM)-.44 G(anual)278.507 636.2 Q F1 2.75(,O)C (ctober 1981.)317.007 636.2 Q 5.808([Courington] Courington,)90 653.1 R -1.012 (W.)7.184 G F2 4.434(The Network Softwar)238.106 653.1 R 7.184(eE)-.407 G -.44 (nv)358.867 653.1 S(ir).44 E(onment)-.495 E F1 7.184(,S)C 4.434(un T)424.087 653.1 R 4.434(echnical Report)-.77 F (FE197-0, Sun Microsystems Inc, February 1989.)156 666.1 Q .36 LW 162 679.7 90 679.7 DL/F4 6.3/Times-Roman@0 SF(6)101 688.96 Q/F5 9/Times-Bold@0 SF(cvs)2.25 3.69 M/F6 9/Times-Roman@0 SF 2.25(,o)C 2.25(fc)127.397 692.65 S (ourse, does not really discriminate ag)136.64 692.65 Q(ainst Mr)-.045 E 2.25 (.E)-.495 G(d.)310.826 692.65 Q F4(7)-3.69 I(7)101 701.91 Q F6 -.9(Ye)2.25 3.69 O(t.).9 E EP %%Page: 12 12 %%BeginPageSetup BP %%EndPageSetup /F0 11/Times-Roman@0 SF(-12-)296.837 49 Q 27.203([Essick] Essick,)90 85 R 2.938 (Raymond B. and Robert Bruce K)5.687 F(olstad.)-.385 E/F1 11/Times-Italic@0 SF 2.938(Notes\214le Refer)8.438 F 2.938(ence Manual)-.407 F F0(,)A .212 (Department of Computer Science T)156 98 R .212(echnical Report #1081, Uni)-.77 F -.165(ve)-.275 G .212(rsity of Illinois at).165 F (Urbana-Champaign, Urbana, Illinois, 1982, p. 26.)156 111 Q([Gle)90 127.9 Q 32.373(w] Gle)-.275 F 1.593 -.715(w, A)-.275 H(ndy).715 E 5.663<2e99>-.715 G (Box)221.523 127.9 Q .164(es, Links, and P)-.165 F .164(arallel T)-.165 F .164 (rees: Elements of a Con\214guration Man-)-.385 F 1.84(agement System.)156 140.9 R<9a>-.77 E F1 -1.012(Wo)7.34 G 1.84(rkshop Pr)1.012 F 1.839 (oceedings of the Softwar)-.495 F 4.589(eM)-.407 G(ana)435.362 140.9 Q -.11(ge) -.11 G 1.839(ment Confer).11 F(-)-.22 E(ence)156 153.9 Q F0 2.75(,U)C (SENIX, Ne)189.594 153.9 Q 2.75(wO)-.275 G(rleans, April 1989.)258.663 153.9 Q 28.435([Grune] Grune,)90 170.8 R 8.06(Dick. Distrib)8.06 F 5.311 (uted the original shell script v)-.22 F 5.311(ersion of)-.165 F/F2 11 /Times-Bold@0 SF(cvs)8.061 E F0 5.311(in the)8.061 F F2(comp.sour)156 183.8 Q (ces.unix)-.198 E F0 -.22(vo)2.75 G(lume 6 release in 1986.).22 E 26.598 ([Honda] Honda,)90 200.7 R 2.205(Masahiro and T)4.955 F 2.205(errence Miller) -.77 F 7.705<2e99>-.605 G(Softw)345.874 200.7 Q 2.204 (are Management Using a CASE)-.11 F(En)156 213.7 Q(vironment.)-.44 E<9a>-.77 E F1 -1.012(Wo)7.082 G 1.582(rkshop Pr)1.012 F 1.582(oceedings of the Softwar) -.495 F 4.332(eM)-.407 G(ana)416.567 213.7 Q -.11(ge)-.11 G 1.582(ment Confer) .11 F(ence)-.407 E F0(,)A(USENIX, Ne)156 226.7 Q 2.75(wO)-.275 G (rleans, April 1989.)233.011 226.7 Q 24.156([Mahler] Mahler)90 243.6 R 3.404 (,A)-.44 G(le)201.424 243.6 Q 3.403(xa)-.165 G .653(nd Andreas Lampen.)222.988 243.6 R -.88<9941>6.153 G 3.403(nI).88 G(nte)346.908 243.6 Q .653(grated T) -.165 F .653(oolset for Engineering Soft-)-.88 F -.11(wa)156 256.6 S 3.134 (re Con\214gurations.).11 F<9a>-.77 E F1(Pr)8.634 E 3.135(oceedings of the A) -.495 F 3.135(CM SIGSOFT/SIGPLAN Softwar)-.33 F(e)-.407 E .517 (Engineering Symposium on Pr)156 269.6 R .517(actical Softwar)-.165 F 3.266(eD) -.407 G -.165(ev)375.251 269.6 S .516(elopment En).165 F(vir)-.44 E(onments) -.495 E F0 3.266(,A)C(CM,)502.134 269.6 Q 5.925(Boston, No)156 282.6 R -.165 (ve)-.165 G 5.925(mber 1988.).165 F 5.925(Described is the)289.55 282.6 R F2 (shape)8.675 E F0 5.926(toolkit posted to the)8.676 F F2(comp.sour)156 295.6 Q (ces.unix)-.198 E F0(ne)2.75 E(wsgroup in the v)-.275 E(olume 19 release.)-.22 E([T)90 312.5 Q(ich)-.385 E 30.701(y] T)-.055 F(ich)-.385 E 2.477 -.715(y, W) -.055 H 1.047(alter F)-.165 F 6.547<2e99>-.88 G 1.047 (Design, Implementation, and Ev)239.32 312.5 R 1.047(aluation of a Re)-.275 F 1.046(vision Control)-.275 F(System.)156 325.5 Q<9a>-.77 E F1(Pr)6.261 E .761 (oceedings of the 6th International Confer)-.495 F .761(ence on Softwar)-.407 F 3.512(eE)-.407 G(ngineer)484.952 325.5 Q(-)-.22 E(ing)156 338.5 Q F0 2.75(,I)C (EEE, T)179.221 338.5 Q(ok)-.88 E(yo, September 1982.)-.165 E([W)90 355.4 Q 35.42(all] W)-.88 F .373(all, Larry)-.88 F 5.873(.T)-.715 G(he)221.437 355.4 Q F2(patch)3.123 E F0 .373(program is an indispensable tool for applying a dif) 3.123 F 3.123<668c>-.275 G .373(le to)502.377 355.4 R(an original.)156 368.4 Q (Can be found on uunet.uu.net in ~ftp/pub/patch.tar)5.5 E(.)-.605 E EP %%Trailer end %%EOF usr/doc/cvs-1.3/doc/cvs.1120777 2122 1750 0 5502067323 17120 2../../../man/man1/cvs.1ustar steinberertusr/doc/cvs-1.3/doc/cvsman.ps100644 2122 1750 342672 5333765727 15127 0ustar steinberert%!PS-Adobe-3.0 %%Creator: groff version 1.06 %%DocumentNeededResources: font Times-Roman %%+ font Times-Bold %%+ font Times-Italic %%DocumentSuppliedResources: procset grops 1.06 0 %%Pages: 15 %%PageOrder: Ascend %%Orientation: Portrait %%EndComments %%BeginProlog %%BeginResource: procset grops 1.06 0 %!PS-Adobe-3.0 Resource-ProcSet /setpacking where { pop currentpacking true setpacking } if /grops 120 dict dup begin % The ASCII code of the space character. /SC 32 def /A /show load def /B { 0 SC 3 -1 roll widthshow } bind def /C { 0 exch ashow } bind def /D { 0 exch 0 SC 5 2 roll awidthshow } bind def /E { 0 rmoveto show } bind def /F { 0 rmoveto 0 SC 3 -1 roll widthshow } bind def /G { 0 rmoveto 0 exch ashow } bind def /H { 0 rmoveto 0 exch 0 SC 5 2 roll awidthshow } bind def /I { 0 exch rmoveto show } bind def /J { 0 exch rmoveto 0 SC 3 -1 roll widthshow } bind def /K { 0 exch rmoveto 0 exch ashow } bind def /L { 0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow } bind def /M { rmoveto show } bind def /N { rmoveto 0 SC 3 -1 roll widthshow } bind def /O { rmoveto 0 exch ashow } bind def /P { rmoveto 0 exch 0 SC 5 2 roll awidthshow } bind def /Q { moveto show } bind def /R { moveto 0 SC 3 -1 roll widthshow } bind def /S { moveto 0 exch ashow } bind def /T { moveto 0 exch 0 SC 5 2 roll awidthshow } bind def % name size font SF - /SF { findfont exch [ exch dup 0 exch 0 exch neg 0 0 ] makefont dup setfont [ exch /setfont cvx ] cvx bind def } bind def % name a c d font MF - /MF { findfont [ 5 2 roll 0 3 1 roll % b neg 0 0 ] makefont dup setfont [ exch /setfont cvx ] cvx bind def } bind def /level0 0 def /RES 0 def /PL 0 def /LS 0 def % Guess the page length. % This assumes that the imageable area is vertically centered on the page. % PLG - length /PLG { gsave newpath clippath pathbbox grestore exch pop add exch pop } bind def % BP - /BP { /level0 save def 1 setlinecap 1 setlinejoin 72 RES div dup scale LS { 90 rotate } { 0 PL translate } ifelse 1 -1 scale } bind def /EP { level0 restore showpage } bind def % centerx centery radius startangle endangle DA - /DA { newpath arcn stroke } bind def % x y SN - x' y' % round a position to nearest (pixel + (.25,.25)) /SN { transform .25 sub exch .25 sub exch round .25 add exch round .25 add exch itransform } bind def % endx endy startx starty DL - % we round the endpoints of the line, so that parallel horizontal % and vertical lines will appear even /DL { SN moveto SN lineto stroke } bind def % centerx centery radius DC - /DC { newpath 0 360 arc closepath } bind def /TM matrix def % width height centerx centery DE - /DE { TM currentmatrix pop translate scale newpath 0 0 .5 0 360 arc closepath TM setmatrix } bind def % these are for splines /RC /rcurveto load def /RL /rlineto load def /ST /stroke load def /MT /moveto load def /CL /closepath load def % fill the last path % amount FL - /FL { currentgray exch setgray fill setgray } bind def % fill with the ``current color'' /BL /fill load def /LW /setlinewidth load def % new_font_name encoding_vector old_font_name RE - /RE { findfont dup maxlength dict begin { 1 index /FID ne { def } { pop pop } ifelse } forall /Encoding exch def dup /FontName exch def currentdict end definefont pop } bind def /DEFS 0 def % hpos vpos EBEGIN - /EBEGIN { moveto DEFS begin } bind def /EEND /end load def /CNT 0 def /level1 0 def % llx lly newwid wid newht ht newllx newlly PBEGIN - /PBEGIN { /level1 save def translate div 3 1 roll div exch scale neg exch neg exch translate % set the graphics state to default values 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash /setstrokeadjust where { pop false setstrokeadjust } if /setoverprint where { pop false setoverprint } if newpath /CNT countdictstack def userdict begin /showpage {} def } bind def /PEND { clear countdictstack CNT sub { end } repeat level1 restore } bind def end def /setpacking where { pop setpacking } if %%EndResource %%EndProlog %%BeginSetup %%IncludeResource: font Times-Roman %%IncludeResource: font Times-Bold %%IncludeResource: font Times-Italic grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 def/PL 841.89 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron/scaron /zcaron/Ydieresis/trademark/quotesingle/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/space /exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft /parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four /five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C /D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash /bracketright/circumflex/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q /r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase /guillemotleft/guillemotright/bullet/florin/fraction/perthousand/dagger /daggerdbl/endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut /dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash /quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen/brokenbar /section/dieresis/copyright/ordfeminine/guilsinglleft/logicalnot/minus /registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu /paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guilsinglright /onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde /Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute /Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls /agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute /ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve /oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex /udieresis/yacute/thorn/ydieresis]def/Times-Italic@0 ENC0/Times-Italic RE /Times-Bold@0 ENC0/Times-Bold RE/Times-Roman@0 ENC0/Times-Roman RE %%EndSetup %%Page: 1 1 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 403.28(CVS\(1\) CVS\(1\))72 48 R/F1 9/Times-Bold@0 SF -.18(NA)72 84 S(ME).18 E F0(cvs \255 Concurrent V)108 96 Q(ersions System)-1.11 E F1(SYNOPSIS)72 112.8 Q/F2 10/Times-Bold@0 SF(cvs)108 124.8 Q F0([)2.5 E/F3 10 /Times-Italic@0 SF(cvs_options)2.5 E F0(])2.5 E F3(cvs_command)144 136.8 Q F0 ([)2.5 E F3(command_options)2.5 E F0 2.5(][)2.5 G F3(command_ar)A(gs)-.37 E F0 (])2.5 E F1(DESCRIPTION)72 153.6 Q F2(cvs)108 165.6 Q F0 .459 (is a front end to the)2.959 F F2 -.18(rc)2.959 G(s).18 E F0(\()A F2(1)A F0 2.959(\)r)C -.25(ev)237.572 165.6 S .459(ision control system which e).25 F .459(xtends the notion of re)-.15 F .459(vision control from a)-.25 F .457(col\ lection of \214les in a single directory to a hierarchical collection of direc\ tories consisting of re)108 177.6 R .458(vision con-)-.25 F .32 (trolled \214les.)108 189.6 R .32 (These directories and \214les can be combined together to form a softw)5.32 F .32(are release.)-.1 F F2(cvs)5.32 E F0(pro)2.82 E(vides)-.15 E .869 (the functions necessary to manage these softw)108 201.6 R .87 (are releases and to control the concurrent editing of source)-.1 F (\214les among multiple softw)108 213.6 Q(are de)-.1 E -.15(ve)-.25 G(lopers.) .15 E F2(cvs)108 231.6 Q F0 -.1(ke)3.116 G .616(eps a single cop).1 F 3.116(yo) -.1 G 3.116(ft)212.25 231.6 S .616(he master sources.)221.476 231.6 R .616 (This cop)5.616 F 3.115(yi)-.1 G 3.115(sc)348.045 231.6 S .615 (alled the source `)359.49 231.6 R(`repository')-.74 E .615('; it contains all) -.74 F .255(the information to permit e)108 243.6 R .255(xtracting pre)-.15 F .255(vious softw)-.25 F .256(are releases at an)-.1 F 2.756(yt)-.15 G .256 (ime based on either a symbolic re)393.184 243.6 R(vi-)-.25 E (sion tag, or a date in the past.)108 255.6 Q F1(ESSENTIAL COMMANDS)72 272.4 Q F2(cvs)108 284.4 Q F0(pro)2.778 E .277(vides a rich v)-.15 F .277 (ariety of commands \()-.25 F F3(cvs_command)A F0 .277 (in the Synopsis\), each of which often has a wealth)2.777 F 1.267 (of options, to satisfy the man)108 296.4 R 3.767(yn)-.15 G 1.267 (eeds of source management in distrib)244.062 296.4 R 1.267(uted en)-.2 F 3.768 (vironments. Ho)-.4 F(we)-.25 E -.15(ve)-.25 G 2.068 -.4(r, y).15 H(ou).4 E (don')108 308.4 Q 3.362(th)-.18 G -2.25 -.2(av e)137.292 308.4 T .862 (to master e)3.562 F -.15(ve)-.25 G .862(ry detail to do useful w).15 F .862 (ork with)-.1 F F2(cvs)3.362 E F0 3.361(;i)C 3.361(nf)365.613 308.4 S .861 (act, \214v)377.204 308.4 R 3.361(ec)-.15 G .861(ommands are suf)417.376 308.4 R .861(\214cient to use)-.25 F(\(and contrib)108 320.4 Q (ute to\) the source repository)-.2 E(.)-.65 E F2(cvs check)108 337.2 Q(out) -.15 E F3(modules)2.5 E F0 1.666(...)1.666 G 3.416(An)144 349.2 S .916 (ecessary preliminary for most)159.636 349.2 R F2(cvs)3.416 E F0 -.1(wo)3.416 G .916(rk: creates your pri).1 F -.25(va)-.25 G .916(te cop).25 F 3.416(yo)-.1 G 3.416(ft)439.696 349.2 S .916(he source for)449.222 349.2 R F3(modules)3.416 E F0 .475(\(named collections of source; you can also use a path relati)144 361.2 R .774 -.15(ve t)-.25 H 2.974(ot).15 G .474(he source repository here\).) 410.354 361.2 R -1.1(Yo)5.474 G(u)1.1 E .69(can w)144 373.2 R .69 (ork with this cop)-.1 F 3.19(yw)-.1 G .691(ithout interfering with others' w) 253.07 373.2 R 3.191(ork. At)-.1 F .691(least one subdirectory le)3.191 F -.15 (ve)-.25 G 3.191(li).15 G(s)536.11 373.2 Q(al)144 385.2 Q -.1(wa)-.1 G (ys created.).1 E F2(cvs update)108 402 Q F0(Ex)144 414 Q 1.035 (ecute this command from)-.15 F F3(within)3.535 E F0 1.034(your pri)3.534 F -.25(va)-.25 G 1.034(te source directory when you wish to update your).25 F .033(copies of source \214les from changes that other de)144 426 R -.15(ve)-.25 G .034(lopers ha).15 F .334 -.15(ve m)-.2 H .034 (ade to the source in the repository).15 F(.)-.65 E F2(cvs add)108 442.8 Q F3 (\214le)2.5 E F0 1.666(...)1.666 G .693(Use this command to enroll ne)144 454.8 R 3.193<778c>-.25 G .692(les in)285.678 454.8 R F2(cvs)3.192 E F0 .692 (records of your w)3.192 F .692(orking directory)-.1 F 5.692(.T)-.65 G .692 (he \214les will be)479.314 454.8 R 1.672(added to the repository the ne)144 466.8 R 1.672(xt time you run `)-.15 F F2 1.672(cvs commit)1.666 F F0 4.172 ('. Note:)1.666 F -1.1(Yo)4.172 G 4.172(us)1.1 G 1.672(hould use the `)460.828 466.8 R F2(cvs)1.666 E(import)144 478.8 Q F0 2.538('c)1.666 G .038 (ommand to bootstrap ne)185.414 478.8 R 2.538(ws)-.25 G .038 (ources into the source repository)295.866 478.8 R 5.037(.`)-.65 G F2 .037 (cvs add)438.429 478.8 R F0 2.537('i)1.666 G 2.537(so)480.729 478.8 S .037 (nly used for)492.156 478.8 R(ne)144 490.8 Q 2.5<778c>-.25 G (les to an already check)168.47 490.8 Q(ed-out module.)-.1 E F2(cvs r)108 507.6 Q(emo)-.18 E -.1(ve)-.1 G F3(\214le)2.6 E F0 1.666(...)1.666 G .838 (Use this command \(after erasing an)144 519.6 R 3.339<798c>-.15 G .839 (les listed\) to declare that you wish to eliminate \214les from)303.85 519.6 R (the repository)144 531.6 Q 5(.T)-.65 G(he remo)212.23 531.6 Q -.25(va)-.15 G 2.5(ld).25 G(oes not af)264.04 531.6 Q(fect others until you run `)-.25 E F2 (cvs commit)1.666 E F0('.)1.666 E F2(cvs commit)108 548.4 Q F3(\214le)2.5 E F0 1.666(...)1.666 G .587(Use this command when you wish to `)144 560.4 R (`publish')-.74 E 3.087('y)-.74 G .587(our changes to other de)347.758 560.4 R -.15(ve)-.25 G .587(lopers, by incorporat-).15 F (ing them in the source repository)144 572.4 Q(.)-.65 E F1(OPTIONS)72 589.2 Q F0(The)108 601.2 Q F2(cvs)3.126 E F0 .626(command line can include)3.126 F F3 (cvs_options)3.126 E F0 3.126(,w).27 G .626(hich apply to the o)313.732 601.2 R -.15(ve)-.15 G(rall).15 E F2(cvs)3.126 E F0 .626(program; a)3.126 F F3 (cvs_command)3.126 E F0(,).77 E 5.173 (which speci\214es a particular action on the source repository; and)108 613.2 R F3(command_options)7.672 E F0(and)7.672 E F3(com-)7.672 E(mand_ar)108 625.2 Q (guments)-.37 E F0(to fully specify what the)2.5 E F3(cvs_command)2.5 E F0 (will do.)2.5 E F3 -.92(Wa)108 643.2 S(rning:).92 E F0 .026 (you must be careful of precisely where you place options relati)2.526 F .326 -.15(ve t)-.25 H 2.527(ot).15 G(he)424.459 643.2 Q F3(cvs_command)2.527 E F0 5.027(.T).77 G .027(he same)507.483 643.2 R .34(option can mean dif)108 655.2 R .34(ferent things depending on whether it is in the)-.25 F F3(cvs_options)2.84 E F0 .34(position \(to the left of a)2.84 F F2(cvs)2.84 E F0 (command\) or in the)108 667.2 Q F3(command_options)2.5 E F0 (position \(to the right of a)2.5 E F2(cvs)2.5 E F0(command\).)2.5 E .345 (There are only tw)108 685.2 R 2.845(os)-.1 G .345 (ituations where you may omit)191.48 685.2 R F3(cvs_command)2.845 E F0 2.845 (:`).77 G F2 .345(cvs \255H)-1.179 F F0 2.845('e)1.666 G .345 (licits a list of a)425.122 685.2 R -.25(va)-.2 G .346(ilable com-).25 F (mands, and `)108 697.2 Q F2(cvs \255v)1.666 E F0 2.5('d)4.166 G(isplays v) 202.572 697.2 Q(ersion information on)-.15 E F2(cvs)2.5 E F0(itself.)2.5 E 208.72(03:05:16 1)288.22 768 R EP %%Page: 2 2 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 403.28(CVS\(1\) CVS\(1\))72 48 R/F1 9/Times-Bold@0 SF (CVS OPTIONS)72 84 Q F0(Use these options to control the o)108 96 Q -.15(ve) -.15 G(rall).15 E/F2 10/Times-Bold@0 SF(cvs)2.5 E F0(program:)2.5 E F2108 112.8 Q F0 .185(Display usage information about the speci\214ed)144 112.8 R/F3 10/Times-Italic@0 SF(cvs_command)2.685 E F0(\(b)2.685 E .184 (ut do not actually e)-.2 F -.15(xe)-.15 G .184(cute the com-).15 F 2.551 (mand\). If)144 124.8 R .051(you don')2.551 F 2.551(ts)-.18 G .051 (pecify a command name, `)231.234 124.8 R F2 .051(cvs \255H)1.666 F F0 2.551 ('d)1.666 G .051(isplays a summary of all the commands)381.372 124.8 R -.2(av) 144 136.8 S(ailable.)-.05 E F2108 153.6 Q F0 .632 (Causes the command to be)144 153.6 R F3 -.37(re)3.132 G(ally).37 E F0 .631 (quiet; the command will generate output only for serious prob-)3.131 F(lems.) 144 165.6 Q F2108 182.4 Q F0 .656(Causes the command to be some)144 182.4 R .656(what quiet; informational messages, such as reports of recursion)-.25 F (through subdirectories, are suppressed.)144 194.4 Q F2108 211.2 Q F3 (bindir)2.5 E F0(Use)144 223.2 Q F3(bindir)2.872 E F0 .372 (as the directory where)2.872 F/F4 9/Times-Roman@0 SF(RCS)2.872 E F0 .371 (programs are located.)2.622 F(Ov)5.371 E .371(errides the setting of the)-.15 F F4(RCSBIN)2.871 E F0(en)144 235.2 Q(vironment v)-.4 E 2.5(ariable. This)-.25 F -.25(va)2.5 G(lue should be speci\214ed as an absolute pathname.).25 E F2 108 252 Q F3(CVS_r)2.5 E(oot_dir)-.45 E(ectory)-.37 E F0(Use)144 264 Q F3 (CVS_r)4.67 E(oot_dir)-.45 E(ectory)-.37 E F0 2.171 (as the root directory pathname of the master)4.67 F F4(RCS)4.671 E F0 2.171 (source repository)4.421 F(.)-.65 E(Ov)144 276 Q .394 (errides the setting of the)-.15 F F4(CVSR)2.894 E(OO)-.36 E(T)-.36 E F0(en) 2.644 E .394(vironment v)-.4 F 2.894(ariable. This)-.25 F -.25(va)2.894 G .394 (lue should be speci\214ed as an).25 F(absolute pathname.)144 288 Q F2108 304.8 Q F3(editor)2.5 E F0(Use)144 316.8 Q F3(editor)3.874 E F0 1.374 (to enter re)3.874 F 1.374(vision log information.)-.25 F(Ov)6.374 E 1.375 (errides the setting of the)-.15 F F4(EDIT)3.875 E(OR)-.162 E F0(en)3.625 E (vironment)-.4 E -.25(va)144 328.8 S(riable.).25 E F2108 345.6 Q F0 .176 (Do not log the)144 345.6 R F3(cvs_command)2.676 E F0 .176 (in the command history \(b)2.676 F .176(ut e)-.2 F -.15(xe)-.15 G .176 (cute it an).15 F(yw)-.15 E 2.676(ay\). See)-.1 F .176(the description)2.676 F (of the)144 357.6 Q F2(history)2.5 E F0 (command for information on command history)2.5 E(.)-.65 E F2108 374.4 Q F0 .769(Do not change an)144 374.4 R 3.269<798c>-.15 G 3.269(les. Attempt) 230.246 374.4 R .769(to e)3.269 F -.15(xe)-.15 G .769(cute the).15 F F3 (cvs_command)3.269 E F0 3.269(,b).77 G .77(ut only to issue reports; do not) 413.71 374.4 R(remo)144 386.4 Q -.15(ve)-.15 G 2.5(,u).15 G(pdate, or mer) 183.69 386.4 Q(ge an)-.18 E 2.5(ye)-.15 G(xisting \214les, or create an)269.57 386.4 Q 2.5(yn)-.15 G .5 -.25(ew \214)379.96 386.4 T(les.).25 E F2108 403.2 Q F0 -.35(Tr)144 403.2 S .76(ace program e).35 F -.15(xe)-.15 G .76 (cution; display messages sho).15 F .76(wing the steps of)-.25 F F2(cvs)3.26 E F0(acti)3.26 E(vity)-.25 E 5.76(.P)-.65 G .76(articularly useful)471.2 403.2 R (with)144 415.2 Q F22.5 E F0(to e)2.5 E (xplore the potential impact of an unf)-.15 E(amiliar command.)-.1 E F2 108 432 Q F0(Mak)144 432 Q .49(es ne)-.1 F 2.99(ww)-.25 G .49 (orking \214les \214les read-only)200.07 432 R 5.49(.S)-.65 G .49(ame ef)319.71 432 R .491(fect as if the)-.25 F F4(CVSREAD)2.991 E F0(en)2.741 E .491 (vironment v)-.4 F .491(ariable is)-.25 F(set.)144 444 Q F2108 460.8 Q F0 (Displays v)144 460.8 Q(ersion and cop)-.15 E(yright information for)-.1 E F2 (cvs)2.5 E F0(.)A F2108 477.6 Q F0(Mak)144 477.6 Q .174(es ne)-.1 F 2.674 (ww)-.25 G .174(orking \214les read-write \(def)199.438 477.6 R 2.674 (ault\). Ov)-.1 F .174(errides the setting of the)-.15 F F4(CVSREAD)2.674 E F0 (en)2.423 E(vironment)-.4 E -.25(va)144 489.6 S(riable.).25 E F1(USA)72 506.4 Q (GE)-.495 E F0 .832(Except when requesting general help with `)108 518.4 R F2 .833(cvs \255H)1.666 F F0 .833(', you must specify a)1.666 F F3(cvs_command) 3.333 E F0(to)3.333 E F2(cvs)3.333 E F0 .833(to select a)3.333 F .618 (speci\214c release control function to perform.)108 530.4 R(Each)5.618 E F2 (cvs)3.118 E F0 .618(command accepts its o)3.118 F .618 (wn collection of options and)-.25 F(ar)108 542.4 Q 2.907(guments. Ho)-.18 F (we)-.25 E -.15(ve)-.25 G 1.207 -.4(r, m).15 H(an).4 E 2.907(yo)-.15 G .407 (ptions are a)228.371 542.4 R -.25(va)-.2 G .407(ilable across se).25 F -.15 (ve)-.25 G .407(ral commands.).15 F -1.1(Yo)5.407 G 2.907(uc)1.1 G .407 (an display a usage sum-)442.83 542.4 R (mary for each command by specifying the)108 554.4 Q F22.5 E F0 (option with the command.)2.5 E F1(CVS COMMAND SUMMAR)72 571.2 Q(Y)-.315 E F0 (Here are brief descriptions of all the)108 583.2 Q F2(cvs)2.5 E F0(commands:) 2.5 E F2(add)108 600 Q F0 .372(Add a ne)144 600 R 2.872<778c>-.25 G .372 (le or directory to the repository)196.246 600 R 2.872(,p)-.65 G .372 (ending a `)332.528 600 R F2 .371(cvs commit)1.666 F F0 2.871('o)1.666 G 2.871 (nt)436.205 600 S .371(he same \214le.)446.856 600 R .371(Can only)5.371 F .228 (be done from within sources created by a pre)144 612 R .228(vious `)-.25 F F2 .228(cvs check)1.666 F(out)-.15 E F0 2.729('i)1.666 G -1.9 -.4(nv o)419.661 612 T 2.729(cation. Use).4 F(`)2.729 E F2 .229(cvs import)1.666 F F0(')1.666 E .472 (to place whole ne)144 624 R 2.972(wh)-.25 G .472(ierarchies of sources under) 230.618 624 R F2(cvs)2.971 E F0 2.971(control. \(Does)2.971 F .471 (not directly af)2.971 F .471(fect repository;)-.25 F(changes w)144 636 Q (orking directory)-.1 E(.\))-.65 E F2(admin)108 652.8 Q F0(Ex)8.77 E(ecute)-.15 E F4(RCS)2.98 E F0 .48(control functions on the source repository)2.73 F 5.48 (.\()-.65 G .48(Changes repository directly; uses w)378.76 652.8 R(ork-)-.1 E (ing directory without changing it.\))144 664.8 Q F2(check)108 681.6 Q(out)-.15 E F0(Mak)144 693.6 Q 2.5(eaw)-.1 G (orking directory of source \214les for editing.)183.23 693.6 Q (\(Creates or changes w)5 E(orking directory)-.1 E(.\))-.65 E 208.72 (03:05:16 2)288.22 768 R EP %%Page: 3 3 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 403.28(CVS\(1\) CVS\(1\))72 48 R/F1 10/Times-Bold@0 SF (commit)108 84 Q F0 1.748 (Apply to the source repository changes, additions, and deletions from your w) 144 96 R 1.747(orking directory)-.1 F(.)-.65 E(\(Changes repository)144 108 Q (.\))-.65 E F1(diff)108 124.8 Q F0(Sho)144 124.8 Q 3.39(wd)-.25 G(if)174.92 124.8 Q .89(ferences between \214les in w)-.25 F .891 (orking directory and source repository)-.1 F 3.391(,o)-.65 G 3.391(rb)459.647 124.8 S .891(etween tw)471.368 124.8 R 3.391(or)-.1 G -.25(ev)524.7 124.8 S(i-) .25 E(sions in source repository)144 136.8 Q 5(.\()-.65 G (Does not change either repository or w)256.67 136.8 Q(orking directory)-.1 E (.\))-.65 E F1(export)108 153.6 Q F0 .707 (Prepare copies of a set of source \214les for shipment of)8.23 F 3.206(fs)-.25 G 3.206(ite. Dif)373.972 153.6 R .706(fers from `)-.25 F F1 .706(cvs check) 1.666 F(out)-.15 E F0 3.206('i)1.666 G 3.206(nt)516.794 153.6 S(hat)527.78 153.6 Q(no)144 165.6 Q F1(cvs)4.319 E F0(administrati)4.319 E 2.119 -.15(ve d) -.25 H 1.819(irectories are created \(and therefore `).15 F F1 1.819 (cvs commit)1.666 F F0 4.319('c)1.666 G 1.819(annot be e)464.462 165.6 R -.15 (xe)-.15 G(cuted).15 E .998(from a directory prepared with `)144 177.6 R F1 .998(cvs export)1.666 F F0 .998('\), and a symbolic tag must be speci\214ed.) 1.666 F .997(\(Does not)5.997 F (change repository; creates directory similar to w)144 189.6 Q (orking directories\).)-.1 E F1(history)108 206.4 Q F0(Sho)6 E 2.632(wr)-.25 G .132(eports on)172.492 206.4 R F1(cvs)2.632 E F0 .132 (commands that you or others ha)2.632 F .432 -.15(ve exe)-.2 H .133 (cuted on a particular \214le or directory in).15 F 1.032 (the source repository)144 218.4 R 6.032(.\()-.65 G 1.032 (Does not change repository or w)241.146 218.4 R 1.031(orking directory)-.1 F 3.531(.\) History)-.65 F 1.031(logs are k)3.531 F(ept)-.1 E (only if enabled by creation of the `)144 230.4 Q F1($CVSR)1.666 E(OO)-.3 E (T/CVSR)-.4 E(OO)-.3 E(T/history)-.4 E F0 2.5<278c>1.666 G(le; see)435.362 230.4 Q F1(cvs)2.5 E F0(\()A F1(5)A F0(\).)A F1(import)108 247.2 Q F0 2.442 (Incorporate a set of updates from of)6.56 F 2.442 (f-site into the source repository)-.25 F 4.942(,a)-.65 G -7.441 4.942(sa `) 447.672 247.2 T(`v)468.477 247.2 Q 2.443(endor branch')-.15 F('.)-.74 E (\(Changes repository)144 259.2 Q(.\))-.65 E F1(log)108 276 Q F0(Display)144 276 Q/F2 9/Times-Roman@0 SF(RCS)2.5 E F0(log information.)2.25 E (\(Does not change repository or w)5 E(orking directory)-.1 E(.\))-.65 E F1 (rdiff)108 292.8 Q F0 1.659(Prepare a collection of dif)144 292.8 R 1.658 (fs as a patch \214le between tw)-.25 F 4.158(or)-.1 G 1.658 (eleases in the repository)389.33 292.8 R 6.658(.\()-.65 G 1.658(Does not) 502.512 292.8 R(change repository or w)144 304.8 Q(orking directory)-.1 E(.\)) -.65 E F1 -.18(re)108 321.6 S(lease).18 E F0 .86(Cancel a `)6.75 F F1 .86 (cvs check)1.666 F(out)-.15 E F0 .86(', abandoning an)1.666 F 3.361(yc)-.15 G 3.361(hanges. \(Can)325.763 321.6 R .861(delete w)3.361 F .861 (orking directory; no ef)-.1 F .861(fect on)-.25 F(repository)144 333.6 Q(.\)) -.65 E F1 -.18(re)108 350.4 S(mo).18 E -.1(ve)-.1 G F0(Remo)144 362.4 Q 1.324 -.15(ve \214)-.15 H 1.024(les from the source repository).15 F 3.523(,p)-.65 G 1.023(ending a `)320.001 362.4 R F1 1.023(cvs commit)1.666 F F0 3.523('o)1.666 G 3.523(nt)426.285 362.4 S 1.023(he same \214les.)437.588 362.4 R 1.023 (\(Does not)6.023 F(directly af)144 374.4 Q(fect repository; changes w)-.25 E (orking directory)-.1 E(.\))-.65 E F1(rtag)108 391.2 Q F0 .296 (Explicitly specify a symbolic tag for particular re)144 391.2 R .297 (visions of \214les in the source repository)-.25 F 5.297(.S)-.65 G .297 (ee also)512.213 391.2 R(`)144 403.2 Q F1(cvs tag)1.666 E F0 2.5('. \(Changes) 1.666 F(repository directly; does not require or af)2.5 E(fect w)-.25 E (orking directory)-.1 E(.\))-.65 E F1(status)108 420 Q F0(Sho)144 420 Q 2.978 (wc)-.25 G .478(urrent status of \214les: latest v)173.948 420 R .478 (ersion, v)-.15 F .478(ersion in w)-.15 F .477(orking directory)-.1 F 2.977(,w) -.65 G .477(hether w)446.536 420 R .477(orking v)-.1 F(ersion)-.15 E 1.421 (has been edited and, optionally)144 432 R 3.921(,s)-.65 G 1.421 (ymbolic tags in the)283.495 432 R F2(RCS)3.921 E F0 3.922(\214le. \(Does)3.671 F 1.422(not change repository or)3.922 F -.1(wo)144 444 S(rking directory).1 E (.\))-.65 E F1(tag)108 460.8 Q F0 .869 (Specify a symbolic tag for \214les in the repository)144 460.8 R 5.869(.T)-.65 G .869(ags the re)356.741 460.8 R .868(visions that were last synchronized)-.25 F .021(with your w)144 472.8 R .022(orking directory)-.1 F 7.522(.\()-.65 G .022(Changes repository directly; uses w)269.706 472.8 R .022 (orking directory without chang-)-.1 F(ing it.\))144 484.8 Q F1(update)108 501.6 Q F0 .422(Bring your w)6.55 F .421 (orking directory up to date with changes from the repository)-.1 F 5.421(.M) -.65 G(er)459.378 501.6 Q .421(ges are performed)-.18 F 1.006 (automatically when possible; a w)144 513.6 R 1.006 (arning is issued if manual resolution is required for con\215icting)-.1 F 2.5 (changes. \(Changes)144 525.6 R -.1(wo)2.5 G (rking directory; does not change repository).1 E(.\))-.65 E/F3 9/Times-Bold@0 SF(COMMON COMMAND OPTIONS)72 542.4 Q F0 .368(This section describes the)108 554.4 R/F4 10/Times-Italic@0 SF(command_options)2.868 E F0 .368(that are a) 2.868 F -.25(va)-.2 G .368(ilable across se).25 F -.15(ve)-.25 G(ral).15 E F1 (cvs)2.868 E F0 2.868(commands. Not)2.868 F .367(all com-)2.867 F 1.401(mands \ support all of these options; each option is only supported for commands where\ it mak)108 566.4 R 1.402(es sense.)-.1 F(Ho)108 578.4 Q(we)-.25 E -.15(ve)-.25 G 1.257 -.4(r, w).15 H .457(hen a command has one of these options you can cou\ nt on the same meaning for the option as).4 F .902(in other commands.)108 590.4 R .903(\(Other command options, which are listed with the indi)5.903 F .903 (vidual commands, may ha)-.25 F -.15(ve)-.2 G(dif)108 602.4 Q .503 (ferent meanings from one)-.25 F F1(cvs)3.003 E F0 .503(command to another) 3.003 F(.\))-.55 E F4 -.92(Wa)5.503 G(rning:).92 E F0(the)3.003 E F1(history) 3.003 E F0 .502(command is an e)3.002 F .502(xception; it)-.15 F(supports man) 108 614.4 Q 2.5(yo)-.15 G(ptions that con\215ict e)173.96 614.4 Q -.15(ve)-.25 G 2.5(nw).15 G(ith these standard options.)279.11 614.4 Q F1108 631.2 Q F4(date_spec)2.5 E F0 .524(Use the most recent re)144 643.2 R .524 (vision no later than)-.25 F F4(date_spec)3.024 E F0 .524(\(a single ar)3.024 F .525(gument, date description specify-)-.18 F .29(ing a date in the past\).)144 655.2 R 2.79(Aw)5.29 G .29(ide v)256.29 655.2 R .29 (ariety of date formats are supported by the underlying)-.25 F F2(RCS)2.79 E F0 -.1(fa)2.54 G(cili-).1 E .47(ties, similar to those described in)144 667.2 R F1 (co)2.97 E F0(\()A F1(1)A F0 .47(\), b)B .47(ut not e)-.2 F .47 (xactly the same.)-.15 F(The)5.47 E F4(date_spec)2.97 E F0 .47 (is interpreted as)2.97 F .569 (being in the local timezone, unless a speci\214c timezone is speci\214ed.)144 679.2 R .568(The speci\214cation is `)5.568 F(`stick)-.74 E(y')-.15 E(')-.74 E .379(when you use it to mak)144 691.2 R 2.879(eap)-.1 G(ri)258.483 691.2 Q -.25 (va)-.25 G .379(te cop).25 F 2.879(yo)-.1 G 2.879(fas)310.851 691.2 S .379 (ource \214le; that is, when you get a w)328.269 691.2 R .379 (orking \214le using)-.1 F F1144 703.2 Q F0(,)A F1(cvs)3.323 E F0 .822(r\ ecords the date you speci\214ed, so that further updates in the same directory\ will use the)3.323 F .812(same date \(unless you e)144 715.2 R .812 (xplicitly o)-.15 F -.15(ve)-.15 G .812(rride it; see the description of the) .15 F F1(update)3.312 E F0(command\).)3.312 E F15.812 E F0(is)3.312 E -.2 (av)144 727.2 S .265(ailable with the)-.05 F F1(check)2.765 E(out)-.15 E F0(,)A F1(diff)2.765 E(,)-.15 E F0(,)A F1(history)2.765 E F0(,)A F1(export)2.765 E F0 (,)A F1(rdiff)2.765 E F0(,)A F1(rtag)2.765 E F0 2.765(,a)C(nd)404.485 727.2 Q F1(update)2.765 E F0 2.765(commands. Examples)2.765 F 208.72(03:05:16 3)288.22 768 R EP %%Page: 4 4 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 403.28(CVS\(1\) CVS\(1\))72 48 R(of v)144 84 Q (alid date speci\214cations include:)-.25 E/F1 10/Times-Bold@0 SF 2.5(1m)216 96 S(onth ago)231.83 96 Q 2.5(2h)216 108 S(ours ago)229.06 108 Q (400000 seconds ago)216 120 Q(last y)216 132 Q(ear)-.1 E(last Monday)216 144 Q -.1(ye)216 156 S(sterday).1 E 2.5(af)216 168 S(ortnight ago)226.58 168 Q (3/31/92 10:00:07 PST)216 180 Q -.15(Ja)216 192 S(nuary 23, 1987 10:05pm).15 E (22:00 GMT)216 204 Q108 220.8 Q F0 .332 (When you specify a particular date or tag to)144 220.8 R F1(cvs)2.832 E F0 .332(commands, the)2.832 F 2.833(yn)-.15 G .333 (ormally ignore \214les that do not)414.725 220.8 R .196 (contain the tag \(or did not e)144 232.8 R .196 (xist on the date\) that you speci\214ed.)-.15 F .196(Use the)5.196 F F1 2.696 E F0 .196(option if you w)2.696 F .196(ant \214les)-.1 F(retrie)144 244.8 Q -.15(ve)-.25 G 2.855(de).15 G -.15(ve)186.185 244.8 S 2.855(nw).15 G .355 (hen there is no match for the tag or date.)210.55 244.8 R .355 (\(The most recent v)5.355 F .356(ersion is used in this)-.15 F(situation.\)) 144 256.8 Q F15 E F0(is a)2.5 E -.25(va)-.2 G (ilable with these commands:).25 E F1(check)2.5 E(out)-.15 E F0(,)A F1(export) 2.5 E F0(,)A F1(rdiff)2.5 E F0(,)A F1(rtag)2.5 E F0 2.5(,a)C(nd)467.67 256.8 Q F1(update)2.5 E F0(.)A F1108 273.6 Q F0 .895 (Help; describe the options a)144 273.6 R -.25(va)-.2 G .895 (ilable for this command.).25 F .894(This is the only option supported for) 5.895 F/F2 10/Times-Italic@0 SF(all)3.394 E F1(cvs)144 285.6 Q F0(commands.)2.5 E F1108 302.4 Q F2(k\215a)2.5 E(g)-.1 E F0 .35(Alter the def)144 314.4 R (ault)-.1 E/F3 9/Times-Roman@0 SF(RCS)2.85 E F0 .35(processing of k)2.6 F -.15 (ey)-.1 G -.1(wo).15 G .35(rds; all the).1 F F12.85 E F0 .35 (options described in)2.85 F F1 -.18(rc)2.85 G(s).18 E F0(\()A F1(1)A F0 2.85 (\)a)C .35(re a)491.23 314.4 R -.25(va)-.2 G(ilable.).25 E(The)144 326.4 Q F1 2.973 E F0 .473(option is a)2.973 F -.25(va)-.2 G .473(ilable with the) .25 F F1(add)2.973 E F0(,)A F1(check)2.973 E(out)-.15 E F0(,)A F1(diff)2.973 E F0 2.973(,r)C(dif)378.55 326.4 Q(f)-.25 E F1 2.972(,a)C(nd)403.212 326.4 Q F0 .472(update commands.)2.972 F -1.1(Yo)5.472 G(ur)1.1 E F2(k\215a)2.972 E(g)-.1 E F0 .115(speci\214cation is `)144 338.4 R(`stick)-.74 E(y')-.15 E 2.615('w) -.74 G .115(hen you use it to create a pri)251.865 338.4 R -.25(va)-.25 G .115 (te cop).25 F 2.615(yo)-.1 G 2.615(fas)411.43 338.4 S .116 (ource \214le; that is, when you)428.32 338.4 R .012(use this option with the) 144 350.4 R F1(check)2.512 E(out)-.15 E F0(or)2.511 E F1(update)2.511 E F0 (commands,)2.511 E F1(cvs)2.511 E F0 .011(associates your selected)2.511 F F2 (k\215a)2.511 E(g)-.1 E F0 .011(with the)2.511 F .17 (\214le, and continues to use it with future)144 362.4 R F1(update)2.67 E F0 .17(commands on the same \214le until you specify other)2.67 F(-)-.2 E(wise.) 144 374.4 Q F1108 391.2 Q F0 .467(Local; run only in current w)144 391.2 R .467(orking directory)-.1 F 2.967(,r)-.65 G .466 (ather than recurring through subdirectories.)332.039 391.2 R -1.27 -.74(Av a) 7.966 H(il-).74 E .662(able with the follo)144 403.2 R .662(wing commands:)-.25 F F1(check)3.162 E(out)-.15 E F0(,)A F1(commit)3.162 E F0(,)A F1(diff)3.163 E F0(,)A F1(export)3.163 E F0(,)A F1 -.18(re)3.163 G(mo).18 E -.1(ve)-.1 G F0(,) .1 E F1(rdiff)3.163 E F0(,)A F1(rtag)3.163 E F0(,)A F1(status)3.163 E F0(,)A F1 (tag)144 415.2 Q F0 3.883(,a)C(nd)168.153 415.2 Q F1(update)3.883 E F0(.)A F2 -.92(Wa)6.383 G(rning:).92 E F0 1.382(this is not the same as the o)3.883 F -.15(ve)-.15 G 1.382(rall `).15 F F1 1.382(cvs \255l)1.666 F F0 3.882('o)1.666 G 1.382(ption, which you can)451.974 415.2 R(specify to the)144 427.2 Q F2 (left)2.5 E F0(of a)2.5 E F1(cvs)2.5 E F0(command!)2.5 E F1108 444 Q F0 (Do)144 444 Q F2(not)3.736 E F0 1.237(run an)3.737 F(y)-.15 E F1(check)3.737 E (out)-.15 E F0(/)A F1(commit)A F0(/)A F1(tag)A F0(/)A F1(update)A F0 3.737 (program. \(A)3.737 F 1.237(program can be speci\214ed to run on)3.737 F 1.929 (each of these acti)144 456 R 1.929 (vities, in the modules database; this option bypasses it.\))-.25 F -1.27 -.74 (Av a)6.928 H 1.928(ilable with the).74 F F1(check)144 468 Q(out)-.15 E F0(,)A F1(commit)2.624 E F0(,)A F1(export)2.625 E F0 2.625(,a)C(nd)261.974 468 Q F1 (rtag)2.625 E F0(commands.)2.625 E F2 -.92(Wa)5.125 G(rning:).92 E F0 .125 (this is not the same as the o)2.625 F -.15(ve)-.15 G .125(rall `).15 F F1(cvs) 1.666 E144 480 Q F0 2.5('o)1.666 G(ption, which you can specify to the) 167.756 480 Q F2(left)2.5 E F0(of a)2.5 E F1(cvs)2.5 E F0(command!)2.5 E F1 108 496.8 Q F0 .082(Prune \(remo)144 496.8 R -.15(ve)-.15 G 2.582(\)d).15 G .082(irectories that are empty after being updated, on)213.844 496.8 R F1 (check)2.581 E(out)-.15 E F0 2.581(,o)C(r)456.878 496.8 Q F1(update)2.581 E F0 5.081(.N)C(ormally)507.04 496.8 Q(,)-.65 E .626 (an empty directory \(one that is v)144 508.8 R .627(oid of re)-.2 F .627 (vision-controlled \214les\) is left alone.)-.25 F(Specifying)5.627 E F1 3.127 E F0(will)3.127 E 2.058(cause these directories to be silently remo)144 520.8 R -.15(ve)-.15 G 4.558(df).15 G 2.058(rom your check)345.566 520.8 R 2.057(ed-out sources.)-.1 F 2.057(This does not)7.057 F(remo)144 532.8 Q .786 -.15(ve t)-.15 H .486(he directory from the repository).15 F 2.987(,o)-.65 G .487(nly from your check)318.987 532.8 R .487(ed out cop)-.1 F 4.287 -.65(y. N) -.1 H .487(ote that this option).65 F(is implied by the)144 544.8 Q F12.5 E F0(or)2.5 E F12.5 E F0(options of)2.5 E F1(check)2.5 E(out)-.15 E F0 (and)2.5 E F1(export)2.5 E F0(.)A F1108 561.6 Q F0 .434 (Pipe the \214les retrie)144 561.6 R -.15(ve)-.25 G 2.933(df).15 G .433 (rom the repository to standard output, rather than writing them in the cur) 240.874 561.6 R(-)-.2 E(rent directory)144 573.6 Q 5(.A)-.65 G -.25(va)211.48 573.6 S(ilable with the).25 E F1(check)2.5 E(out)-.15 E F0(and)2.5 E F1(update) 2.5 E F0(commands.)2.5 E F1108 590.4 Q F0 .631(Causes the command to be) 144 590.4 R F2 -.37(re)3.131 G(ally).37 E F0 .632 (quiet; the command will generate output only for serious prob-)3.131 F 3.675 (lems. A)144 602.4 R -.25(va)-.74 G 1.175(ilable with the follo).25 F 1.175 (wing commands:)-.25 F F1(check)3.675 E(out)-.15 E F0(,)A F1(import)3.675 E F0 (,)A F1(export)3.675 E F0(,)A F1(rdiff)3.675 E F0(,)A F1(rtag)3.675 E F0(,)A F1 (tag)3.675 E F0 3.675(,a)C(nd)530 602.4 Q F1(update)144 614.4 Q F0(.)A F1 108 631.2 Q F0 .656(Causes the command to be some)144 631.2 R .656 (what quiet; informational messages, such as reports of recursion)-.25 F 3.265 (through subdirectories, are suppressed.)144 643.2 R -1.27 -.74(Av a)8.265 H 3.264(ilable with the follo).74 F 3.264(wing commands:)-.25 F F1(check)5.764 E (out)-.15 E F0(,)A F1(import)144 655.2 Q F0(,)A F1(export)2.5 E F0(,)A F1(rtag) 2.5 E F0(,)A F1(tag)2.5 E F0 2.5(,a)C(nd)256.75 655.2 Q F1(update)2.5 E F0(.)A F1108 672 Q F2(ta)2.5 E(g)-.1 E F0 .457(Use the re)144 672 R .457 (vision speci\214ed by the)-.25 F F2(ta)2.957 E(g)-.1 E F0(ar)2.957 E .458 (gument instead of the def)-.18 F .458(ault `)-.1 F(`head')-.74 E 2.958('r)-.74 G -.25(ev)460.826 672 S 2.958(ision. As).25 F .458(well as)2.958 F 2.333 (arbitrary tags de\214ned with the)144 684 R F1(tag)4.833 E F0(or)4.833 E F1 (rtag)4.833 E F0 2.333(command, tw)4.833 F 4.833(os)-.1 G 2.333 (pecial tags are al)402.47 684 R -.1(wa)-.1 G 2.332(ys a).1 F -.25(va)-.2 G (ilable:).25 E(`)144 696 Q F1(HEAD)1.666 E F0 3.341('r)1.666 G .841 (efers to the most recent v)189.553 696 R .842(ersion a)-.15 F -.25(va)-.2 G .842(ilable in the repository).25 F 3.342(,a)-.65 G .842(nd `)438.06 696 R F1 -.3(BA)1.666 G(SE).3 E F0 3.342('r)1.666 G .842(efers to the)493.886 696 R(re) 144 708 Q(vision you last check)-.25 E(ed out into the current w)-.1 E (orking directory)-.1 E(.)-.65 E(The)144 726 Q F2(ta)2.973 E(g)-.1 E F0 .473 (speci\214cation is `)2.973 F(`stick)-.74 E(y')-.15 E 2.973('w)-.74 G .472 (hen you use this option with `)287.115 726 R F1 .472(cvs check)1.666 F(out) -.15 E F0 2.972('o)1.666 G 2.972(r`)477.954 726 S F1 .472(cvs update)-1.306 F F0(')1.666 E 208.72(03:05:16 4)288.22 768 R EP %%Page: 5 5 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 403.28(CVS\(1\) CVS\(1\))72 48 R .566(to mak)144 84 R 3.066(ey)-.1 G .566(our o)184.472 84 R .566(wn cop)-.25 F 3.066(yo)-.1 G 3.066 (fa\214)248.31 84 S(le:)267.772 84 Q/F1 10/Times-Bold@0 SF(cvs)3.066 E F0 .566 (remembers the)3.066 F/F2 10/Times-Italic@0 SF(ta)3.066 E(g)-.1 E F0 .567 (and continues to use it on future)3.066 F F1(update)3.067 E F0 .247 (commands, until you specify otherwise.)144 96 R F2(ta)5.246 E(g)-.1 E F0 .246 (can be either a symbolic or numeric tag, in)2.746 F/F3 9/Times-Roman@0 SF(RCS) 2.746 E F0 -.1(fa)2.496 G(sh-).1 E 3.541(ion. Specifying)144 108 R(the)3.541 E F13.541 E F0 1.041(option along with the)3.541 F F13.541 E F0 1.042 (option is often useful, to suppress the w)3.541 F(arning)-.1 E .384 (messages when the)144 120 R F3(RCS)2.883 E F0 .383 (\214le does not contain the speci\214ed tag.)2.633 F F15.383 E F0 .383 (is a)2.883 F -.25(va)-.2 G .383(ilable with the).25 F F1(check)2.883 E(out) -.15 E F0(,)A F1(commit)144 132 Q F0(,)A F1(diff)3.036 E F0(,)A F1(history) 3.036 E F0(,)A F1(export)3.036 E F0(,)A F1(rdiff)3.036 E F0(,)A F1(rtag)3.036 E F0 3.036(,a)C(nd)323.846 132 Q F1(update)3.036 E F0(commands.)3.036 E F2 -.92 (Wa)5.537 G(rning:).92 E F0 .537(this is not the same)3.037 F(as the o)144 144 Q -.15(ve)-.15 G(rall `).15 E F1(cvs \255r)1.666 E F0 2.5('o)1.666 G (ption, which you can specify to the)242.982 144 Q F2(left)2.5 E F0(of a)2.5 E F1(cvs)2.5 E F0(command!)2.5 E/F4 9/Times-Bold@0 SF(CVS COMMANDS)72 160.8 Q F0 .455(Here \(\214nally\) are details on all the)108 172.8 R F1(cvs)2.955 E F0 .455(commands and the options each accepts.)2.955 F .455 (The summary lines at the)5.455 F(top of each command')108 184.8 Q 2.5(sd)-.55 G(escription highlight three kinds of things:)208.54 184.8 Q (Command Options and Ar)118 201.6 Q(guments)-.18 E 1.668 (Special options are described in detail belo)180 213.6 R 1.668 (w; common command options may appear)-.25 F(only in the summary line.)180 225.6 Q -.8(Wo)118 242.4 S(rking Directory).8 E 2.5(,o)-.65 G 2.5(rR)202.92 242.4 S(epository?)215.42 242.4 Q(Some)180 254.4 Q F1(cvs)3.518 E F0 1.018 (commands require a w)3.518 F 1.017 (orking directory to operate; some require a repository)-.1 F(.)-.65 E 1.468 (Also, some commands)180 266.4 R F2 -.15(ch)3.968 G(ang).15 E(e)-.1 E F0 1.468 (the repository)3.968 F 3.968(,s)-.65 G 1.468(ome change the w)376.778 266.4 R 1.469(orking directory)-.1 F 3.969(,a)-.65 G(nd)530 266.4 Q (some change nothing.)180 278.4 Q(Synon)118 295.2 Q 17.42(yms Man)-.15 F 2.982 (yc)-.15 G .482(ommands ha)210.602 295.2 R .782 -.15(ve s)-.2 H(ynon).15 E .481 (yms, which you may \214nd easier to remember \(or type\) than)-.15 F (the principal name.)180 307.2 Q F1(add)108 328.8 Q F0([)2.5 E F1A F2 (k\215a)2.5 E(g)-.1 E F0 2.5(][)C F1(\255m ')172.21 328.8 Q F2(messa)A -.1(ge) -.1 G F1(').1 E F0(])A F2 -.834(\214les. . .)2.5 F(Requir)144 340.8 Q(es:)-.37 E F0(repository)2.5 E 2.5(,w)-.65 G(orking directory)237.03 340.8 Q(.)-.65 E F2 (Chang)144 352.8 Q(es:)-.1 E F0 -.1(wo)2.5 G(rking directory).1 E(.)-.65 E F2 (Synonym:)144 364.8 Q F1(new)2.5 E F0 .536(Use the)144 376.8 R F1(add)3.036 E F0 .536(command to create a ne)3.036 F 3.036<778c>-.25 G .536 (le or directory in the)309.678 376.8 R F3(RCS)3.036 E F0 .536 (source repository)2.786 F 5.536(.T)-.65 G .537(he \214les or)499.486 376.8 R .905(directories speci\214ed with)144 388.8 R F1(add)3.405 E F0 .905 (must already e)3.405 F .905(xist in the current directory \(which must ha)-.15 F 1.205 -.15(ve b)-.2 H(een).15 E 1.873(created with the)144 400.8 R F1(check) 4.373 E(out)-.15 E F0 4.373(command\). T)4.373 F 4.373(oa)-.8 G 1.874 (dd a whole ne)329.808 400.8 R 4.374(wd)-.25 G 1.874(irectory hierarch)407.594 400.8 R 4.374(yt)-.05 G 4.374(ot)487.932 400.8 S 1.874(he source)500.086 400.8 R .288(repository \(for e)144 412.8 R .288(xample, \214les recei)-.15 F -.15 (ve)-.25 G 2.788(df).15 G .288(rom a third-party v)303.18 412.8 R .287 (endor\), use the `)-.15 F F1 .287(cvs import)1.666 F F0 2.787('c)1.666 G (ommand)505 412.8 Q(instead.)144 424.8 Q .727(If the ar)144 442.8 R .727 (gument to `)-.18 F F1 .727(cvs add)1.666 F F0 3.227('r)1.666 G .727 (efers to an immediate sub-directory)270.384 442.8 R 3.228(,t)-.65 G .728 (he directory is created at the)423.34 442.8 R .148(correct place in the)144 454.8 R F3(RCS)2.648 E F0 .147(source repository)2.398 F 2.647(,a)-.65 G .147 (nd the necessary)321.094 454.8 R F1(cvs)2.647 E F0 .147 (administration \214les are created in)2.647 F .063(your w)144 466.8 R .063 (orking directory)-.1 F 5.064(.I)-.65 G 2.564(ft)247.03 466.8 S .064 (he directory already e)255.704 466.8 R .064(xists in the source repository) -.15 F 2.564(,`)-.65 G F1 .064(cvs add)-.898 F F0 2.564('s)1.666 G .064 (till cre-)510.776 466.8 R .466(ates the administration \214les in your v)144 478.8 R .465(ersion of the directory)-.15 F 5.465(.T)-.65 G .465(his allo) 398.383 478.8 R .465(ws you to use `)-.25 F F1 .465(cvs add)1.666 F F0 2.965 ('t)1.666 G(o)535 478.8 Q .523(add a particular directory to your pri)144 490.8 R -.25(va)-.25 G .523(te sources e).25 F -.15(ve)-.25 G 3.023(ni).15 G 3.023 (fs)369.137 490.8 S .524(omeone else created that directory after)379.38 490.8 R(your)144 502.8 Q F1(check)2.5 E(out)-.15 E F0(of the sources.)2.5 E -1.1(Yo)5 G 2.5(uc)1.1 G(an do the follo)291.61 502.8 Q(wing:)-.25 E F1 (example% mkdir new_dir)216 520.8 Q(ectory)-.18 E(example% cvs add new_dir)216 532.8 Q(ectory)-.18 E(example% cvs update new_dir)216 544.8 Q(ectory)-.18 E F0 (An alternate approach using `)144 562.8 Q F1(cvs update)1.666 E F0 2.5('m) 1.666 G(ight be:)324.522 562.8 Q F1(example% cvs update -d new_dir)216 580.8 Q (ectory)-.18 E F0(\(T)144 598.8 Q 2.876(oa)-.8 G(dd)164.956 598.8 Q F2 .376 (any available)2.876 F F0(ne)2.876 E 2.876(wd)-.25 G .376(irectories to your w) 259.53 598.8 R .376(orking directory)-.1 F 2.875(,i)-.65 G(t')411.189 598.8 Q 2.875(sp)-.55 G .375(robably simpler to use `)428.514 598.8 R F1(cvs)1.666 E (check)144 610.8 Q(out)-.15 E F0 2.5('o)1.666 G 2.5(r`)194.676 610.8 S F1 (cvs update -d)-.834 E F0('.\))1.666 E .668 (The added \214les are not placed in the)144 628.8 R F3(RCS)3.168 E F0 .668 (source repository until you use `)2.918 F F1 .668(cvs commit)1.666 F F0 3.169 ('t)1.666 G 3.169(om)510.271 628.8 S(ak)526.22 628.8 Q(e)-.1 E 1.401 (the change permanent.)144 640.8 R 1.401(Doing a `)6.401 F F1 1.401(cvs add) 1.666 F F0 3.901('o)1.666 G 3.901(na\214)332.939 640.8 S 1.401(le that w) 355.741 640.8 R 1.401(as remo)-.1 F -.15(ve)-.15 G 3.901(dw).15 G 1.401 (ith the `)450.925 640.8 R F1 1.401(cvs r)1.666 F(emo)-.18 E -.1(ve)-.1 G F0(') 1.766 E(command will resurrect the \214le, if no `)144 652.8 Q F1(cvs commit) 1.666 E F0 2.5('c)1.666 G(ommand interv)360.062 652.8 Q(ened.)-.15 E -1.1(Yo) 144 670.8 S 2.587(uw)1.1 G .087(ill ha)169.927 670.8 R .387 -.15(ve t)-.2 H .087(he opportunity to specify a logging message, as usual, when you use `).15 F F1 .088(cvs commit)1.666 F F0(')1.666 E 1.102(to mak)144 682.8 R 3.602(et)-.1 G 1.102(he ne)183.324 682.8 R 3.602<778c>-.25 G 1.102(le permanent.)221.938 682.8 R 1.102(If you')6.102 F 3.602(dl)-.5 G(ik)323.046 682.8 Q 3.602(et)-.1 G 3.602(oh)341.548 682.8 S -2.25 -.2(av e)355.15 682.8 T 1.102 (another logging message associated with)3.802 F(just)144 694.8 Q F2(cr)3.556 E (eation)-.37 E F0 1.056(of the \214le \(for e)3.556 F 1.056 (xample, to describe the \214le')-.15 F 3.557(sp)-.55 G 1.057 (urpose\), you can specify it with the)392.848 694.8 R(`)144 706.8 Q F1 1.666 E F2(messa)2.5 E -.1(ge)-.1 G F0 2.5('o)1.766 G(ption to the)211.702 706.8 Q F1(add)2.5 E F0(command.)2.5 E 1.23(The `)144 724.8 R F1 1.23 (-k k\215ag)1.666 F F0 3.729('o)1.666 G 1.229(ption speci\214es the def)215.741 724.8 R 1.229(ault w)-.1 F 1.229(ay that this \214le will be check)-.1 F 1.229 (ed out.)-.1 F 1.229(The `)6.229 F F1(k\215ag)1.666 E F0(')1.666 E 208.72 (03:05:16 5)288.22 768 R EP %%Page: 6 6 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 403.28(CVS\(1\) CVS\(1\))72 48 R(ar)144 84 Q .026 (gument is stored in the)-.18 F/F1 9/Times-Roman@0 SF(RCS)2.527 E F0 .027 (\214le and can be changed with `)2.277 F/F2 10/Times-Bold@0 SF .027(cvs admin) 1.666 F F0 2.527('. Specifying)1.666 F(`)2.527 E F2(-k)1.666 E(o)-.15 E F0 2.527('i)1.666 G 2.527(su)516.923 84 S(se-)528.34 84 Q (ful for checking in binaries that shouldn')144 96 Q 2.5(th)-.18 G -2.25 -.2 (av e)317.41 96 T(the)2.7 E F1(RCS)2.5 E F0(id strings e)2.25 E(xpanded.)-.15 E F2(admin)108 112.8 Q F0([)2.5 E/F3 10/Times-Italic@0 SF -.37(rc)C(s-options).37 E F0(])A F3 -.834(\214les. . .)2.5 F(Requir)144 124.8 Q(es:)-.37 E F0 (repository)2.5 E 2.5(,w)-.65 G(orking directory)237.03 124.8 Q(.)-.65 E F3 (Chang)144 136.8 Q(es:)-.1 E F0(repository)2.5 E(.)-.65 E F3(Synonym:)144 148.8 Q F2 -.18(rc)2.5 G(s).18 E F0 1.802(This is the)144 160.8 R F2(cvs)4.301 E F0 (interf)4.301 E 1.801(ace to assorted administrati)-.1 F -.15(ve)-.25 G F1(RCS) 4.451 E F0 -.1(fa)4.051 G 1.801(cilities, documented in).1 F F2 -.18(rc)4.301 G (s).18 E F0(\()A F2(1)A F0 4.301(\). `)B F2(cvs)1.666 E(admin)144 172.8 Q F0 3.592('s)1.666 G 1.092(imply passes all its options and ar)183.708 172.8 R 1.092(guments to the)-.18 F F2 -.18(rc)3.592 G(s).18 E F0 1.092 (command; it does no \214ltering or)3.592 F .222(other processing.)144 184.8 R .222(This command does w)5.222 F .222(ork recursi)-.1 F -.15(ve)-.25 G(ly).15 E 2.722(,h)-.65 G -.25(ow)378.254 184.8 S -2.15 -.25(ev e).25 H 1.021 -.4(r, s) .25 H 2.721(oe).4 G .221(xtreme care should be used.)427.756 184.8 R F2(check) 108 201.6 Q(out)-.15 E F0([)2.5 E F2(options)A F0(])A F3(modules)2.5 E F0 1.666 (...)C F3(Requir)144 213.6 Q(es:)-.37 E F0(repository)2.5 E(.)-.65 E F3(Chang) 144 225.6 Q(es:)-.1 E F0 -.1(wo)2.5 G(rking directory).1 E(.)-.65 E F3 (Synonyms:)144 237.6 Q F2(co)2.5 E F0(,)A F2(get)2.5 E F0(Mak)144 249.6 Q 3.482 (eaw)-.1 G .982 (orking directory containing copies of the source \214les speci\214ed by) 185.194 249.6 R F3(modules)3.482 E F0 5.983(.Y).27 G .983(ou must)507.067 249.6 R -.15(exe)144 261.6 S .139(cute `).15 F F2 .139(cvs check)1.666 F(out)-.15 E F0 2.639('b)1.666 G .139(efore using most of the other)248.659 261.6 R F2(cvs) 2.638 E F0 .138(commands, since most of them operate)2.638 F(on your w)144 273.6 Q(orking directory)-.1 E(.)-.65 E F3(modules)144 291.6 Q F0 1.054 (are either symbolic names \(themselv)3.554 F 1.055 (es de\214ned as the module `)-.15 F F2(modules)1.666 E F0 3.555('i)1.666 G 3.555(nt)489.57 291.6 S 1.055(he source)500.905 291.6 R .258(repository; see) 144 303.6 R F2(cvs)2.758 E F0(\()A F2(5)A F0 .257(\)\) for some collection of \ source directories and \214les, or paths to directories or)B (\214les in the repository)144 315.6 Q(.)-.65 E .537(Depending on the)144 333.6 R F3(modules)3.037 E F0 .537(you specify)3.037 F(,)-.65 E F2(check)3.037 E(out) -.15 E F0 .538(may recursi)3.038 F -.15(ve)-.25 G .538 (ly create directories and populate).15 F .262 (them with the appropriate source \214les.)144 345.6 R -1.1(Yo)5.262 G 2.762 (uc)1.1 G .262(an then edit these source \214les at an)327.204 345.6 R 2.761 (yt)-.15 G .261(ime \(re)478.569 345.6 R -.05(ga)-.15 G(rdless).05 E .548 (of whether other softw)144 357.6 R .548(are de)-.1 F -.15(ve)-.25 G .549 (lopers are editing their o).15 F .549 (wn copies of the sources\); update them to)-.25 F .367(include ne)144 369.6 R 2.867(wc)-.25 G .367 (hanges applied by others to the source repository; or commit your w)200.024 369.6 R .366(ork as a perma-)-.1 F(nent change to the)144 381.6 Q F1(RCS)2.5 E F0(repository)2.25 E(.)-.65 E .03(Note that)144 399.6 R F2(check)2.53 E(out) -.15 E F0 .03(is used to create directories.)2.53 F .03(The top-le)5.03 F -.15 (ve)-.25 G 2.53(ld).15 G .03(irectory created is al)401.48 399.6 R -.1(wa)-.1 G .03(ys added to).1 F .505(the directory where)144 411.6 R F2(check)3.005 E(out) -.15 E F0 .505(is in)3.005 F -.2(vo)-.4 G -.1(ke).2 G .505 (d, and usually has the same name as the speci\214ed).1 F F3(module)3.004 E F0 (.).18 E .353(In the case of a)144 423.6 R F3(module)2.853 E F0 .353 (alias, the created sub-directory may ha)2.853 F .653 -.15(ve a d)-.2 H(if).15 E .354(ferent name, b)-.25 F .354(ut you can be)-.2 F .769 (sure that it will be a sub-directory)144 435.6 R 3.268(,a)-.65 G .768(nd that) 293.15 435.6 R F2(check)3.268 E(out)-.15 E F0 .768(will sho)3.268 F 3.268(wt) -.25 G .768(he relati)411.87 435.6 R 1.068 -.15(ve p)-.25 H .768 (ath leading to each).15 F(\214le as it is e)144 447.6 Q (xtracted into your pri)-.15 E -.25(va)-.25 G(te w).25 E (ork area \(unless you specify the)-.1 E F22.5 E F0(option\).)2.5 E .45 (Running `)144 465.6 R F2 .45(cvs check)1.666 F(out)-.15 E F0 2.95('o)1.666 G 2.95(nad)253.802 465.6 S .45(irectory that w)274.142 465.6 R .45(as already b) -.1 F .451(uilt by a prior)-.2 F F2(check)2.951 E(out)-.15 E F0 .451 (is also permit-)2.951 F(ted, and has the same ef)144 477.6 Q (fect as specifying the)-.25 E F22.5 E F0(option to the)2.5 E F2(update) 2.5 E F0(command described belo)2.5 E -.65(w.)-.25 G(The)144 495.6 Q F3 (options)2.563 E F0 .063(permitted with `)2.563 F F2 .063(cvs check)1.666 F (out)-.15 E F0 2.563('i)1.666 G .063(nclude the standard command options)324.77 495.6 R F22.562 E F0(,)A F22.562 E F0(,)A F22.562 E F0(,)A F2 2.562 E F3(k\215a)144 507.6 Q(g)-.1 E F0(,)2.5 E F22.5 E F0(,)A F2 2.5 E F0(,)A F22.5 E F0(,)A F22.5 E F0(,)A F22.5 E F3 (ta)2.5 E(g)-.1 E F0 2.5(,a).22 G(nd)268.08 507.6 Q F22.5 E F3(date)2.5 E F0(.).18 E (In addition to those, you can use these special command options with)144 525.6 Q F2(check)2.5 E(out)-.15 E F0(:)A .659(Use the)144 543.6 R F23.159 E F0 .659(option to reset an)3.159 F 3.159(ys)-.15 G(tick)277.203 543.6 Q 3.159(yt) -.15 G .659(ags, dates, or)302.992 543.6 R F23.16 E F0 3.16 (options. \(If)3.16 F .66(you get a w)3.16 F .66(orking \214le using)-.1 F .436 (one of the)144 555.6 R F22.936 E F0(,)A F22.936 E F0 2.936(,o)C(r) 226.73 555.6 Q F22.935 E F0(options,)2.935 E F2(cvs)2.935 E F0 .435 (remembers the corresponding tag, date, or)2.935 F F3(k\215a)2.935 E(g)-.1 E F0 .435(and contin-)2.935 F 1.618(ues using it on future updates; use the)144 567.6 R F24.119 E F0 1.619(option to mak)4.119 F(e)-.1 E F2(cvs)4.119 E F0(for)4.119 E 1.619(get these speci\214cations, and)-.18 F(retrie)144 579.6 Q .3 -.15(ve t)-.25 H(he `).15 E(`head')-.74 E 2.5('v)-.74 G (ersion of the \214le\).)229.43 579.6 Q(The)144 597.6 Q F23.708 E F3(br) 3.708 E(anc)-.15 E(h)-.15 E F0 1.207(option mer)3.707 F 1.207 (ges the changes made between the resulting re)-.18 F 1.207(vision and the re) -.25 F(vision)-.25 E .02 (that it is based on \(e.g., if the tag refers to a branch,)144 609.6 R F2(cvs) 2.521 E F0 .021(will mer)2.521 F .021(ge all changes made in that branch)-.18 F (into your w)144 621.6 Q(orking \214le\).)-.1 E -.4(Wi)144 639.6 S .243(th tw) .4 F(o)-.1 E F2(-j)2.743 E F0(options,)2.743 E F2(cvs)2.743 E F0 .243(will mer) 2.743 F .242(ge in the changes between the tw)-.18 F 2.742(or)-.1 G(especti) 422.444 639.6 Q .542 -.15(ve r)-.25 H -.25(ev).15 G 2.742(isions. This).25 F (can)2.742 E(be used to `)144 651.6 Q(`remo)-.74 E -.15(ve)-.15 G 1.48 -.74 ('' a c).15 H(ertain delta from your w).74 E(orking \214le.)-.1 E 2.059 (In addition, each)144 669.6 R F2(-j)4.559 E F0 2.059 (option can contain on optional date speci\214cation which, when used with) 4.559 F .307(branches, can limit the chosen re)144 681.6 R .307 (vision to one within a speci\214c date.)-.25 F .307 (An optional date is speci\214ed)5.307 F .837 (by adding a colon \(:\) to the tag.)144 693.6 R .838(An e)5.838 F .838 (xample might be what `)-.15 F F2 .838(cvs import)1.666 F F0 3.338('t)1.666 G .838(ells you to do when)458.318 693.6 R(you ha)144 705.6 Q .3 -.15(ve j)-.2 H (ust imported sources that ha).15 E .3 -.15(ve c)-.2 H (on\215icts with local changes:).15 E F2(example% cvs check)216 723.6 Q (out -jT)-.15 E -.55(AG)-.9 G(:y).55 E(esterday -jT)-.1 E 1.1 -.55(AG m)-.9 H (odule).55 E F0 208.72(03:05:16 6)288.22 768 R EP %%Page: 7 7 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 403.28(CVS\(1\) CVS\(1\))72 48 R 1.422(Use the)144 84 R /F1 10/Times-Bold@0 SF3.922 E F0 1.422(option with `)3.922 F F1 1.666 E/F2 10/Times-Italic@0 SF(dir)3.922 E F0 3.922('t)1.666 G 3.922(oa) 291.186 84 S -.2(vo)304.348 84 S 1.422(id shortening module paths in your w).2 F 1.421(orking directory)-.1 F(.)-.65 E(\(Normally)144 96 Q(,)-.65 E F1(cvs)2.5 E F0(shortens paths as much as possible when you specify an e)2.5 E (xplicit tar)-.15 E(get directory)-.18 E(.\))-.65 E 1.137(Use the)144 114 R F1 3.637 E F0 1.137(option to cop)3.637 F 3.637(yt)-.1 G 1.137 (he module \214le, sorted, to the standard output, instead of creating or) 259.192 114 R(modifying an)144 126 Q 2.5<798c>-.15 G (les or directories in your w)210.52 126 Q(orking directory)-.1 E(.)-.65 E 1.121(Use the)144 144 R F13.621 E F2(dir)3.621 E F0 1.121 (option to create a directory called)3.621 F F2(dir)3.621 E F0 1.12(for the w) 3.62 F 1.12(orking \214les, instead of using the)-.1 F(module name.)144 156 Q (Unless you also use)5 E F12.5 E F0 2.5(,t)C(he paths created under) 308.02 156 Q F2(dir)2.5 E F0(will be as short as possible.)2.5 E 1.042(Use the) 144 174 R F13.542 E F0 1.042(option to display per)3.542 F 1.043 (-module status information stored with the)-.2 F F13.543 E F0 1.043 (option within the)3.543 F(modules \214le.)144 186 Q F1(commit)108 202.8 Q F0 ([)2.5 E F1(\255lnR)A F0 2.5(][)C F1176.46 202.8 Q F0(')2.5 E F2(lo)A (g_messa)-.1 E -.1(ge)-.1 G F0 2.5('|).1 G F1A F2(\214le)2.5 E F0 2.5(][) C F1290.92 202.8 Q F2 -1.91 -.37(re v)2.5 H(ision).37 E F0 2.5(][)C F2 -.834(\214les. . .)344.42 202.8 R F0(])A F2(Requir)144 214.8 Q(es:)-.37 E F0 -.1(wo)2.5 G(rking directory).1 E 2.5(,r)-.65 G(epository)264.52 214.8 Q(.)-.65 E F2(Chang)144 226.8 Q(es:)-.1 E F0(repository)2.5 E(.)-.65 E F2(Synonym:)144 238.8 Q F1(ci)2.5 E F0 .29(Use `)144 250.8 R F1 .29(cvs commit)1.666 F F0 2.79 ('w)1.666 G .289(hen you w)230.672 250.8 R .289 (ant to incorporate changes from your w)-.1 F .289 (orking source \214les into the)-.1 F(general source repository)144 262.8 Q(.) -.65 E .21(If you don')144 280.8 R 2.71(ts)-.18 G .21(pecify particular)198.61 280.8 R F2(\214les)2.71 E F0 .21(to commit, all of the \214les in your w)2.71 F .21(orking current directory are)-.1 F -.15(ex)144 292.8 S(amined.).15 E F1 (commit)6.642 E F0 1.641 (is careful to change in the repository only those \214les that you ha)4.142 F 1.941 -.15(ve r)-.2 H(eally).15 E 3.577(changed. By)144 304.8 R(def)3.577 E 1.077(ault \(or if you e)-.1 F 1.077(xplicitly specify the)-.15 F F13.577 E F0 1.078(option\), \214les in subdirectories are also)3.577 F -.15(ex)144 316.8 S .729(amined and committed if the).15 F 3.228(yh)-.15 G -2.25 -.2(av e) 284.274 316.8 T .728(changed; you can use the)3.428 F F13.228 E F0 .728 (option to limit)3.228 F F1(commit)3.228 E F0 .728(to the)3.228 F (current directory only)144 328.8 Q(.)-.65 E F1(commit)144 346.8 Q F0 -.15(ve) 2.57 G .07 (ri\214es that the selected \214les are up to date with the current re).15 F .071(visions in the source reposi-)-.25 F .084(tory; it will notify you, and e) 144 358.8 R .084(xit without committing, if an)-.15 F 2.584(yo)-.15 G 2.584(ft) 387.694 358.8 S .084(he speci\214ed \214les must be made cur)396.388 358.8 R(-) -.2 E .048(rent \214rst with `)144 370.8 R F1 .048(cvs update)1.666 F F0('.) 1.666 E F1(commit)5.048 E F0 .048(does not call the)2.548 F F1(update)2.548 E F0 .048(command for you, b)2.548 F .048(ut rather lea)-.2 F -.15(ve)-.2 G(s).15 E(that for you to do when the time is right.)144 382.8 Q .752 (When all is well, an editor is in)144 400.8 R -.2(vo)-.4 G -.1(ke).2 G 3.252 (dt).1 G 3.252(oa)304.026 400.8 S(llo)316.718 400.8 Q 3.252(wy)-.25 G .752 (ou to enter a log message that will be written to)342.5 400.8 R .199 (one or more logging programs and placed in the)144 412.8 R/F3 9/Times-Roman@0 SF(RCS)2.699 E F0 .2(source repository \214le.)2.449 F -1.1(Yo)5.2 G 2.7(uc)1.1 G .2(an instead spec-)475.73 412.8 R .527 (ify the log message on the command line with the)144 424.8 R F13.027 E F0 .527(option, thus suppressing the editor in)3.027 F -.2(vo)-.4 G(ca-).2 E (tion, or use the)144 436.8 Q F12.5 E F0(option to specify that the ar) 2.5 E(gument)-.18 E F2(\214le)2.5 E F0(contains the log message.)2.5 E(The)144 454.8 Q F12.922 E F0 .423 (option can be used to commit to a particular symbolic or numeric re)2.923 F .423(vision within the)-.25 F F3(RCS)2.923 E F0 2.625(\214le. F)144 466.8 R .125(or e)-.15 F .124(xample, to bring all your \214les up to the)-.15 F F3 (RCS)2.624 E F0(re)2.374 E .124(vision `)-.25 F(`3.0')-.74 E 2.624('\()-.74 G .124(including those that ha)428.778 466.8 R -.15(ve)-.2 G(n').15 E(t)-.18 E (changed\), you might do:)144 478.8 Q F1(example% cvs commit -r3.0)216 496.8 Q (cvs)144 514.8 Q F0 .449(will only allo)2.949 F 2.949(wy)-.25 G .449 (ou to commit to a re)229.436 514.8 R .449 (vision that is on the main trunk \(a re)-.25 F .449(vision with a single)-.25 F 3.35(dot\). Ho)144 526.8 R(we)-.25 E -.15(ve)-.25 G 1.65 -.4(r, y).15 H .85 (ou can also commit to a branch re).4 F .849(vision \(one that has an e)-.25 F -.15(ve)-.25 G 3.349(nn).15 G .849(umber of dots\))479.422 526.8 R .154 (with the)144 538.8 R F12.654 E F0 2.654(option. T)2.654 F 2.654(oc)-.8 G .154(reate a branch re)242.72 538.8 R .154(vision, one typically use the)-.25 F F1 .154(\255b option of the rtag)2.654 F F0(or)2.655 E F1(tag)2.655 E F0 3.027 (commands. Then,)144 550.8 R(either)3.027 E F1(check)3.027 E(out)-.15 E F0(or) 3.027 E F1(update)3.026 E F0 .526(can be used to base your sources on the ne) 3.026 F .526(wly cre-)-.25 F .632(ated branch.)144 562.8 R .632 (From that point on, all)5.632 F F1(commit)3.133 E F0 .633 (changes made within these w)3.133 F .633(orking sources will be)-.1 F 1.474 (automatically added to a branch re)144 574.8 R 1.474 (vision, thereby not perturbing main-line de)-.25 F -.15(ve)-.25 G 1.474 (lopment in an).15 F(y)-.15 E -.1(wa)144 586.8 S 4.35 -.65(y. F).1 H .55(or e) .5 F .55(xample, if you had to create a patch to the 1.2 v)-.15 F .55 (ersion of the product, e)-.15 F -.15(ve)-.25 G 3.05(nt).15 G .55(hough the) 499.73 586.8 R(2.0 v)144 598.8 Q(ersion is already under de)-.15 E -.15(ve)-.25 G(lopment, you might do:).15 E F1(example% cvs rtag -b -rFCS1_2 FCS1_2_P)216 616.8 Q(atch pr)-.1 E(oduct_module)-.18 E(example% cvs check)216 628.8 Q (out -rFCS1_2_P)-.15 E(atch pr)-.1 E(oduct_module)-.18 E(example% cd pr)216 640.8 Q(oduct_module)-.18 E([[ hack away ]])216 652.8 Q(example% cvs commit)216 664.8 Q F0 .157(Say you ha)144 682.8 R .456 -.15(ve b)-.2 H .156(een w).15 F .156(orking on some e)-.1 F .156(xtremely e)-.15 F .156(xperimental softw)-.15 F .156(are, based on whate)-.1 F -.15(ve)-.25 G 2.656(rr).15 G -.25(ev)511.36 682.8 S(ision).25 E .533(you happened to check)144 694.8 R .533(out last week.) -.1 F .533(If others in your group w)5.533 F .533(ould lik)-.1 F 3.033(et)-.1 G 3.033(ow)443.638 694.8 S .533(ork on this softw)458.791 694.8 R(are)-.1 E .491 (with you, b)144 706.8 R .491(ut without disturbing main-line de)-.2 F -.15(ve) -.25 G .491(lopment, you could commit your change to a ne).15 F(w)-.25 E 3.29 (branch. Others)144 718.8 R .79(can then check)3.29 F .79(out your e)-.1 F .791 (xperimental stuf)-.15 F 3.291(fa)-.25 G .791(nd utilize the full bene\214t of) 389.203 718.8 R F1(cvs)3.291 E F0(con-)3.291 E(\215ict resolution.)144 730.8 Q (The scenario might look lik)5 E(e:)-.1 E 208.72(03:05:16 7)288.22 768 R EP %%Page: 8 8 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 403.28(CVS\(1\) CVS\(1\))72 48 R/F1 10/Times-Bold@0 SF (example% cvs tag -b EXPR1)216 84 Q(example% cvs update -rEXPR1)216 96 Q ([[ hack away ]])216 108 Q(example% cvs commit)216 120 Q F0 1.088(Others w)144 138 R 1.088(ould simply do `)-.1 F F1 1.088(cvs check)1.666 F 1.088 (out -rEXPR1 whate)-.15 F -.1(ve)-.15 G(r_module).1 E F0 3.587('t)1.666 G 3.587 (ow)441.615 138 S 1.087(ork with you on the)457.322 138 R -.15(ex)144 150 S (perimental change.).15 E F1(diff)108 166.8 Q F0([)2.5 E F1(\255kl)A F0 2.5(][) C/F2 10/Times-Italic@0 SF -.37(rc)152.03 166.8 S(sdif).37 E(f_options)-.18 E F0 2.5(][)C([)220.65 166.8 Q F1A F2 -1.91 -.37(re v)2.5 H(1).37 E F0(|)2.5 E F12.5 E F2(date1)2.5 E F0 2.5(][)C F1307.67 166.8 Q F2 -1.91 -.37 (re v)2.5 H(2).37 E F0(|)2.5 E F12.5 E F2(date2)2.5 E F0(]] [)A F2 -.834 (\214les. . .)B F0(])A F2(Requir)144 178.8 Q(es:)-.37 E F0 -.1(wo)2.5 G (rking directory).1 E 2.5(,r)-.65 G(epository)264.52 178.8 Q(.)-.65 E F2(Chang) 144 190.8 Q(es:)-.1 E F0(nothing.)2.5 E -1.1(Yo)144 202.8 S 3.525(uc)1.1 G 1.025(an compare your w)168.085 202.8 R 1.025(orking \214les with re)-.1 F 1.025(visions in the source repository)-.25 F 3.525(,w)-.65 G 1.026(ith the `) 468.32 202.8 R F1 1.026(cvs diff)1.666 F F0(')1.666 E 3.598(command. If)144 214.8 R 1.097(you don')3.598 F 3.597(ts)-.18 G 1.097(pecify a particular re) 249.31 214.8 R 1.097(vision, your \214les are compared with the re)-.25 F (visions)-.25 E(the)144 226.8 Q 2.841(yw)-.15 G .341(ere based on.)171.131 226.8 R -1.1(Yo)5.341 G 2.841(uc)1.1 G .341(an also use the standard)253.035 226.8 R F1(cvs)2.841 E F0 .341(command option)2.841 F F12.841 E F0 .342 (to specify a particular)2.841 F(re)144 238.8 Q .373 (vision to compare your \214les with.)-.25 F(Finally)5.373 E 2.873(,i)-.65 G 2.873(fy)329.043 238.8 S .373(ou use)340.246 238.8 R F12.873 E F0 .373 (twice, you can see dif)2.873 F .373(ferences between)-.25 F(tw)144 250.8 Q 3.312(or)-.1 G -.25(ev)165.542 250.8 S .813(isions in the repository).25 F 5.813(.Y)-.65 G .813(ou can also specify)282.344 250.8 R F13.313 E F0 .813(options to dif)3.313 F 3.313(fa)-.25 G -.05(ga)446.498 250.8 S .813 (inst a re).05 F .813(vision in the)-.25 F 2.5(past. The)144 262.8 R F1 2.5 E F0(and)2.5 E F12.5 E F0(options can be mix)2.5 E (ed together with at most tw)-.15 E 2.5(oo)-.1 G(ptions e)427.9 262.8 Q -.15 (ve)-.25 G 2.5(rs).15 G(peci\214ed.)478.05 262.8 Q(See)144 280.8 Q F1 -.18(rc) 2.5 G(sdiff).18 E F0(\()A F1(1)A F0 2.5(\)f)C (or a list of other accepted options.)206.02 280.8 Q .065(If you don')144 298.8 R 2.564(ts)-.18 G .064(pecify an)198.174 298.8 R 2.564<798c>-.15 G(les,)248.142 298.8 Q F1(diff)2.564 E F0 .064(will display dif)2.564 F .064 (ferences for all those \214les in the current directory)-.25 F .896 (\(and its subdirectories, unless you use the standard option)144 310.8 R F1 3.397 E F0 3.397(\)t)C .897(hat dif)403.362 310.8 R .897 (fer from the corresponding)-.25 F(re)144 322.8 Q .57 (vision in the source repository \(i.e. \214les that)-.25 F F2(you)3.07 E F0 (ha)3.07 E .87 -.15(ve c)-.2 H .57(hanged\), or that dif).15 F .57 (fer from the re)-.25 F(vision)-.25 E(speci\214ed.)144 334.8 Q F1(export)108 351.6 Q F0<5bad>2.5 E F1 1.666(fl)C(NnQq)-1.666 E F0(])A F12.5 E F2 -1.91 -.37(re v)2.5 H F0(|)2.036 E F11.666 E F2(date)2.5 E F0([)2.5 E F1A F2(dir)2.5 E F0(])A F2(module)2.5 E F0 1.666(...)C F2(Requir)144 363.6 Q(es:) -.37 E F0(repository)2.5 E(.)-.65 E F2(Chang)144 375.6 Q(es:)-.1 E F0 (current directory)2.5 E(.)-.65 E .132(This command is a v)144 387.6 R .132 (ariant of `)-.25 F F1 .132(cvs check)1.666 F(out)-.15 E F0 .132 ('; use it when you w)1.666 F .132(ant a cop)-.1 F 2.632(yo)-.1 G 2.632(ft) 455.612 387.6 S .132(he source for)464.354 387.6 R F2(mod-)2.632 E(ule)144 399.6 Q F0 .86(without the)3.36 F F1(cvs)3.359 E F0(administrati)3.359 E 1.159 -.15(ve d)-.25 H 3.359(irectories. F).15 F .859(or e)-.15 F .859 (xample, you might use `)-.15 F F1 .859(cvs export)1.666 F F0 3.359('t)1.666 G 3.359(op)515.541 399.6 S(re-)528.9 399.6 Q .397(pare source for shipment of)144 411.6 R 2.897(f-site. This)-.25 F(command)2.897 E F2 -.37(re)2.897 G(quir).37 E (es)-.37 E F0 .398(that you specify a date or tag \(with)2.897 F F12.898 E F0(or)144 423.6 Q F12.5 E F0 (\), so that you can count on reproducing the source you ship to others.)A .527 (The only non-standard options are `)144 441.6 R F11.666 E F2(dir)3.027 E F0 3.027('\()1.666 G .527(write the source into directory)328.642 441.6 R F2 (dir)3.027 E F0 3.027(\)a)C .527(nd `)476.774 441.6 R F11.666 E F0 3.027 ('\()1.666 G(don')519.07 441.6 Q(t)-.18 E(shorten module paths\).)144 453.6 Q (These ha)5 E .3 -.15(ve t)-.2 H(he same meanings as the same options in `).15 E F1(cvs check)1.666 E(out)-.15 E F0('.)1.666 E(The)144 471.6 Q F1(\255kv)2.647 E F0 .147(option is al)2.647 F -.1(wa)-.1 G .147(ys set when).1 F F1(export) 2.647 E F0 .147(is used.)2.647 F .147(This causes an)5.147 F(y)-.15 E/F3 9 /Times-Roman@0 SF(RCS)2.647 E F0 -.1(ke)2.397 G(yw)-.05 E .147(ords to be e)-.1 F(xpanded)-.15 E .173(such that an)144 483.6 R F1(import)2.673 E F0 .172 (done at some other site will not lose the k)2.673 F -.15(ey)-.1 G -.1(wo).15 G .172(rd re).1 F .172(vision information.)-.25 F(There)5.172 E(is no w)144 495.6 Q(ay to o)-.1 E -.15(ve)-.15 G(rride this.).15 E F1(history)108 512.4 Q F0([) 2.5 E F1A F2 -.37(re)C(port).37 E F0 2.5(][)C F1183.32 512.4 Q F2<8d61> A(gs)-.1 E F0 2.5(][)C F1216.97 512.4 Q F2(options ar)A(gs)-.37 E F0 2.5 (][)C F2(\214les)281.19 512.4 Q F0 1.666(...)C(])-1.666 E F2(Requir)144 524.4 Q (es:)-.37 E F0(the \214le `)2.5 E F1($CVSR)1.666 E(OO)-.3 E(T/CVSR)-.4 E(OO)-.3 E(T/history)-.4 E F0(')1.666 E F2(Chang)144 536.4 Q(es:)-.1 E F0(nothing.)2.5 E F1(cvs)144 548.4 Q F0 -.1(ke)3.288 G .789 (eps a history \214le that tracks each use of the).1 F F1(check)3.289 E(out) -.15 E F0(,)A F1(commit)3.289 E F0(,)A F1(rtag)3.289 E F0(,)A F1(update)3.289 E F0 3.289(,a)C(nd)497.461 548.4 Q F1 -.18(re)3.289 G(lease).18 E F0 2.5 (commands. Y)144 560.4 R(ou can use `)-1.1 E F1(cvs history)1.666 E F0 2.5('t) 1.666 G 2.5(od)306.762 560.4 S(isplay this information in v)319.262 560.4 Q (arious formats.)-.25 E F2 -.92(Wa)144 578.4 S(rning:).92 E F0(`)3.378 E F1 .878(cvs history)1.666 F F0 3.378('u)1.666 G .878(ses `)249.866 578.4 R F1 1.666 E F0 .878(', `)1.666 F F11.666 E F0 .878(', `)1.666 F F1 1.666 E F0 .878(', and `)1.666 F F11.666 E F0 3.378('i)1.666 G 3.378(nw)387.072 578.4 S .878(ays that con\215ict with the descrip-)402.57 578.4 R(tions in)144 590.4 Q F3(COMMON COMMAND OPTIONS)2.5 E F0(.)A(Se)144 608.4 Q -.15(ve)-.25 G(ral options \(sho).15 E(wn abo)-.25 E .3 -.15(ve a)-.15 H(s).15 E F12.5 E F2 -.37(re)C(port).37 E F0 2.5(\)c)C (ontrol what kind of report is generated:)317.24 608.4 Q F1123 625.2 Q F0 (Report on each time)180 625.2 Q F1(commit)2.5 E F0 -.1(wa)2.5 G 2.5(su).1 G (sed \(i.e., each time the repository w)320.98 625.2 Q(as modi\214ed\).)-.1 E F1123 642 Q F2(module)2.5 E F0 1.263(Report on a particular)180 642 R F2 (module)3.763 E F0 6.263(.\()C -1.1(Yo)316.565 642 S 3.763(uc)1.1 G 1.264 (an meaningfully use)340.888 642 R F13.764 E F0 1.264 (more than once on the)3.764 F(command line.\))180 654 Q F1123 670.8 Q F0 (Report on check)180 670.8 Q(ed-out modules.)-.1 E F1123 687.6 Q F0 (Report on all tags.)180 687.6 Q F1123 704.4 Q F2(typ)2.5 E F0 .22 (Extract a particular set of record types)180 704.4 R F2(X)2.719 E F0 .219 (from the)2.719 F F1(cvs)2.719 E F0(history)2.719 E 5.219(.T)-.65 G .219 (he types are indicated by)439.704 704.4 R .935 (single letters, which you may specify in combination.)180 716.4 R .935 (Certain commands ha)5.935 F 1.235 -.15(ve a s)-.2 H(ingle).15 E 1.262 (record type:)180 728.4 R F1(check)3.762 E(out)-.15 E F0 1.262(\(type `O'\),) 3.762 F F1 -.18(re)3.762 G(lease).18 E F0 1.261(\(type `F'\), and)3.762 F F1 (rtag)3.761 E F0 1.261(\(type `T'\).)3.761 F 1.261(One of four)6.261 F 208.72 (03:05:16 8)288.22 768 R EP %%Page: 9 9 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 403.28(CVS\(1\) CVS\(1\))72 48 R .415 (record types may result from an)180 84 R/F1 10/Times-Bold@0 SF(update)2.915 E F0 2.916(:`)C .416(W', when the w)350.936 84 R .416(orking cop)-.1 F 2.916(yo) -.1 G 2.916(fa\214)472.236 84 S .416(le is deleted)491.398 84 R 1.039 (during update \(because it w)180 96 R 1.039 (as gone from the repository\); `U', when a w)-.1 F 1.038(orking \214le w)-.1 F (as)-.1 E .543(copied from the repository; `G', when a mer)180 108 R .543(ge w) -.18 F .543(as necessary and it succeeded; and 'C',)-.1 F 1.381(when a mer)180 120 R 1.381(ge w)-.18 F 1.381(as necessary b)-.1 F 1.381 (ut collisions were detected \(requiring manual mer)-.2 F(ging\).)-.18 E (Finally)180 132 Q 3.51(,o)-.65 G 1.01(ne of three record types results from) 218.7 132 R F1(commit)3.51 E F0 3.51(:`)C 1.01(M', when a \214le w)415.06 132 R 1.01(as modi\214ed;)-.1 F -.8(`A)180 144 S (', when a \214le is \214rst added; and `R', when a \214le is remo)-.31 E -.15 (ve)-.15 G(d.).15 E F1123 160.8 Q F0(Ev)180 160.8 Q (erything \(all record types\); equi)-.15 E -.25(va)-.25 G (lent to specifying `).25 E F1(\255xMA)1.666 E(CFR)-.55 E(OGWUT)-.3 E F0('.) 1.666 E(The options sho)144 177.6 Q(wn as)-.25 E F12.5 E/F2 10 /Times-Italic@0 SF<8d61>A(gs)-.1 E F0 (constrain the report without requiring option ar)2.5 E(guments:)-.18 E F1 123 194.4 Q F0(Sho)180 194.4 Q 4.262(wd)-.25 G 1.762 (ata for all users \(the def)211.792 194.4 R 1.762(ault is to sho)-.1 F 4.261 (wd)-.25 G 1.761(ata only for the user e)387.548 194.4 R -.15(xe)-.15 G 1.761 (cuting `).15 F F1(cvs)1.666 E(history)180 206.4 Q F0('\).)1.666 E F1123 223.2 Q F0(Sho)180 223.2 Q 2.5(wl)-.25 G(ast modi\214cation only)207.81 223.2 Q (.)-.65 E F1123 240 Q F0(Sho)180 240 Q 3.876(wo)-.25 G 1.377 (nly the records for modi\214cations done from the same w)211.406 240 R 1.377 (orking directory where)-.1 F(`)180 252 Q F1(cvs history)1.666 E F0 2.5('i) 1.666 G 2.5(se)241.102 252 S -.15(xe)251.782 252 S(cuting.).15 E (The options sho)144 268.8 Q(wn as)-.25 E F12.5 E F2(options ar)A(gs)-.37 E F0(constrain the report based on an ar)2.5 E(gument:)-.18 E F1123 285.6 Q F2(str)2.5 E F0(Sho)180 285.6 Q 3.404(wd)-.25 G .904 (ata back to a record containing the string)210.934 285.6 R F2(str)3.404 E F0 .903(in either the module name, the \214le)3.404 F (name, or the repository path.)180 297.6 Q F1123 314.4 Q F2(date)2.5 E F0 (Sho)180 314.4 Q 2.5(wd)-.25 G(ata since)210.03 314.4 Q F2(date)2.5 E F0(.)A F1 123 331.2 Q F2 -.37(re)2.5 G(pository).37 E F0(Sho)180 343.2 Q 3.414(wd) -.25 G .914(ata for a particular source repository \(you can specify se)210.944 343.2 R -.15(ve)-.25 G(ral).15 E F13.415 E F0 .915(options on the)3.415 F (same command line\).)180 355.2 Q F1123 372 Q F2 -1.91 -.37(re v)2.5 H F0 (Sho)180 372 Q 2.535(wr)-.25 G .035(ecords referring to re)208.395 372 R .034 (visions since the re)-.25 F .034(vision or tag named)-.25 F F2 -1.91 -.37 (re v)2.534 H F0 .034(appears in indi)2.904 F(vid-)-.25 E(ual RCS \214les.)180 384 Q(Each)5 E/F3 9/Times-Roman@0 SF(RCS)2.5 E F0 (\214le is searched for the re)2.25 E(vision or tag.)-.25 E F1123 400.8 Q F2(ta)2.5 E(g)-.1 E F0(Sho)180 400.8 Q 2.854(wr)-.25 G .354(ecords since tag) 208.714 400.8 R F2(ta)2.854 E(g)-.1 E F0 -.1(wa)2.854 G 2.855(sl).1 G .355 (ast added to the the history \214le.)312.765 400.8 R .355(This dif)5.355 F .355(fers from the)-.25 F F1(-r)2.855 E F0(\215ag abo)180 412.8 Q .3 -.15(ve i) -.15 H 2.5(nt).15 G(hat it reads only the history \214le, not the)236.64 412.8 Q F3(RCS)2.5 E F0(\214les, and is much f)2.25 E(aster)-.1 E(.)-.55 E F1 123 429.6 Q F2(name)2.5 E F0(Sho)180 429.6 Q 2.5(wr)-.25 G(ecords for user) 208.36 429.6 Q F2(name)2.5 E F0(.)A F1(import)108 451.2 Q F0([)2.5 E F1A F2 (options)A F0(])A F2 -.37(re)2.5 G(pository vendorta).37 E 2.5(gr)-.1 G (eleaseta)273.96 451.2 Q(g)-.1 E F0 1.666(...)C F2(Requir)144 463.2 Q(es:)-.37 E F0(Repository)2.5 E 2.5(,s)-.65 G(ource distrib)237.14 463.2 Q (ution directory)-.2 E(.)-.65 E F2(Chang)144 475.2 Q(es:)-.1 E F0(repository) 2.5 E(.)-.65 E 1.897(Use `)144 487.2 R F1 1.897(cvs import)1.666 F F0 4.397('t) 1.666 G 4.397(oi)228.283 487.2 S 1.897(ncorporate an entire source distrib) 240.46 487.2 R 1.897(ution from an outside source \(e.g., a)-.2 F .925 (source v)144 499.2 R .925(endor\) into your source repository directory)-.15 F 5.926(.Y)-.65 G .926(ou can use this command both for initial)372.138 499.2 R (creation of a repository)144 511.2 Q 2.5(,a)-.65 G (nd for wholesale updates to the module form the outside source.)245.82 511.2 Q (The)144 529.2 Q F2 -.37(re)3.981 G(pository).37 E F0(ar)3.981 E 1.481 (gument gi)-.18 F -.15(ve)-.25 G 3.981(sad).15 G 1.48 (irectory name \(or a path to a directory\) under the CVS root)287.935 529.2 R (directory for repositories; if the directory did not e)144 541.2 Q(xist,)-.15 E F1(import)2.5 E F0(creates it.)2.5 E 1.682(When you use)144 559.2 R F1 (import)4.182 E F0 1.682 (for updates to source that has been modi\214ed in your source repository)4.182 F .573(\(since a prior)144 571.2 R F1(import)3.073 E F0 .573 (\), it will notify you of an)B 3.073<798c>-.15 G .573 (les that con\215ict in the tw)345.95 571.2 R 3.072(ob)-.1 G .572 (ranches of de)460.396 571.2 R -.15(ve)-.25 G(lop-).15 E(ment; use `)144 583.2 Q F1(cvs check)1.666 E(out -j)-.15 E F0 2.5('t)1.666 G 2.5(or)263.552 583.2 S (econcile the dif)274.382 583.2 Q(ferences, as)-.25 E F1(import)2.5 E F0 (instructs you to do.)2.5 E 2.29(By def)144 601.2 R 2.29 (ault, certain \214le names are ignored during `)-.1 F F1 2.29(cvs import)1.666 F F0 2.291(': names associated with)1.666 F F3(CVS)4.791 E F0 1.845(administra\ tion, or with other common source control systems; common names for patch \214\ les,)144 613.2 R 1.567(object \214les, archi)144 625.2 R 1.867 -.15(ve \214) -.25 H 1.567 (les, and editor backup \214les; and other names that are usually artif).15 F 1.568(acts of)-.1 F(assorted utilities.)144 637.2 Q(Currently)5 E 2.5(,t)-.65 G (he def)262.24 637.2 Q (ault list of ignored \214les includes \214les matching these names:)-.1 E F1 2.5(RCSLOG RCS SCCS)216 655.2 R 2.5(CVS* cvslog)216 667.2 R(.*)-.15 E 2.5 (tags T)216 679.2 R -.55(AG)-.9 G(S).55 E(.mak)216 691.2 Q 2.5 (e.state .nse_depinf)-.1 F(o)-.25 E 2.5(*~ #* .#* ,*)216 703.2 R 2.5 (*.old *.bak *.orig *.r)216 715.2 R 2.5(ej .del\255*)-.18 F 2.5 (*.a *.o *.Z *.elc *.ln cor)216 727.2 R(e)-.18 E F0 208.72(03:05:16 9)288.22 768 R EP %%Page: 10 10 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 403.28(CVS\(1\) CVS\(1\))72 48 R .572 (The outside source is sa)144 84 R -.15(ve)-.2 G 3.071(di).15 G 3.071(na\214) 261.767 84 S(rst-le)282.909 84 Q -.15(ve)-.25 G(l).15 E/F1 9/Times-Roman@0 SF (RCS)3.071 E F0 .571(branch, by def)2.821 F .571(ault `)-.1 F/F2 10 /Times-Bold@0 SF(1.1.1)1.666 E F0 3.071('. Updates)1.666 F .571(are lea)3.071 F -.15(ve)-.2 G 3.071(so).15 G(f)536.67 84 Q 2.702(this branch; for e)144 96 R 2.702 (xample, \214les from the \214rst imported collection of source will be re)-.15 F(vision)-.25 E(`)144 108 Q F2(1.1.1.1)1.666 E F0 (', then \214les from the \214rst imported update will be re)1.666 E(vision `) -.25 E F2(1.1.1.2)1.666 E F0(', and so on.)1.666 E 1.248(At least three ar)144 126 R 1.247(guments are required.)-.18 F/F3 10/Times-Italic@0 SF -.37(re)6.247 G(pository).37 E F0 1.247(is needed to identify the collection of source.)3.747 F F3(vendorta)144 138 Q(g)-.1 E F0 1.474 (is a tag for the entire branch \(e.g., for `)3.974 F F2(1.1.1)1.666 E F0 3.974 ('\). Y)1.666 F 1.474(ou must also specify at least one)-1.1 F F3 -.37(re)144 150 S(leaseta).37 E(g)-.1 E F0(to identify the \214les at the lea)2.5 E -.15 (ve)-.2 G 2.5(sc).15 G(reated each time you e)321.49 150 Q -.15(xe)-.15 G (cute `).15 E F2(cvs import)1.666 E F0('.)1.666 E .092(Three of the standard) 144 168 R F2(cvs)2.592 E F0 .092(command options are a)2.592 F -.25(va)-.2 G (ilable:).25 E F22.592 E F0(,)A F22.592 E F0 2.592(,a)C(nd)417.302 168 Q F22.592 E F3(messa)2.592 E -.1(ge)-.1 G F0 5.091(.I).1 G 2.591(fy) 491.117 168 S .091(ou do not)502.038 168 R .24(specify a logging message with) 144 180 R F22.74 E F0 2.74(,y)C .24(our editor is in)297.51 180 R -.2(vo) -.4 G -.1(ke).2 G 2.74(d\().1 G .24(as with)386.65 180 R F2(commit)2.74 E F0 2.74(\)t)C 2.74(oa)459.3 180 S(llo)471.48 180 Q 2.74(wy)-.25 G .24(ou to enter) 496.75 180 R(one.)144 192 Q(There are tw)144 210 Q 2.5(oa)-.1 G (dditional special options.)206.37 210 Q(Use `)144 228 Q F21.666 E F3(br) 2.5 E(anc)-.15 E(h)-.15 E F0 2.5('t)1.666 G 2.5(os)219.112 228 S (pecify a \214rst-le)230.502 228 Q -.15(ve)-.25 G 2.5(lb).15 G (ranch other than `)310.362 228 Q F2(1.1.1)1.666 E F0('.)1.666 E 1.515(Use `) 144 246 R F21.666 E F3(name)4.015 E F0 4.015('t)1.666 G 4.015(os)215.617 246 S 1.514(pecify \214le names that should be ignored during)228.522 246 R F2 (import)4.014 E F0 6.514(.Y)C 1.514(ou can use this)476.298 246 R .82 (option repeatedly)144 258 R 5.82(.T)-.65 G 3.32(oa)227.51 258 S -.2(vo)240.07 258 S .82(id ignoring an).2 F 3.32<798c>-.15 G .82(les at all \(e)321.35 258 R -.15(ve)-.25 G 3.32(nt).15 G .821(hose ignored by def)387.55 258 R .821 (ault\), specify `)-.1 F F21.666 E(!)144 270 Q F0('.)1.666 E F2(log)108 286.8 Q F0([)2.5 E F2A F0(])A F3(rlo)2.5 E(g-options [\214les)-.1 E F0 1.666(...)1.666 G(])-1.666 E F3(Requir)144 298.8 Q(es:)-.37 E F0(repository)2.5 E 2.5(,w)-.65 G(orking directory)237.03 298.8 Q(.)-.65 E F3(Chang)144 310.8 Q (es:)-.1 E F0(nothing.)2.5 E F3(Synonym:)144 322.8 Q F2(rlog)2.5 E F0 .44 (Display log information for)144 334.8 R F3(\214les)2.94 E F0 5.44(.`)C F2 .44 (cvs log)287.576 334.8 R F0 2.94('c)1.666 G .44(alls the)329.002 334.8 R F1 (RCS)2.94 E F0(utility)2.69 E F2(rlog)2.94 E F0 2.94(;a)C .44 (ll the options described in)434.912 334.8 R F2(rlog)144 346.8 Q F0(\()A F2(1)A F0 4.239(\)a)C 1.739(re a)181.559 346.8 R -.25(va)-.2 G 4.239(ilable. Among).25 F 1.739(the more useful)4.239 F F2(rlog)4.239 E F0 1.739(options are)4.239 F F2 4.239 E F0 1.74(to display only the header)4.24 F .899 (\(including tag de\214nitions, b)144 358.8 R .898 (ut omitting most of the full log\);)-.2 F F23.398 E F0 .898 (to select logs on particular re)3.398 F(vi-)-.25 E .674(sions or ranges of re) 144 370.8 R .674(visions; and)-.25 F F23.174 E F0 .674 (to select particular dates or date ranges.)3.174 F(See)5.674 E F2(rlog)3.174 E F0(\()A F2(1)A F0 3.175(\)f)C .675(or full)514.605 370.8 R -.15(ex)144 382.8 S 2.5(planations. This).15 F(command is recursi)2.5 E .3 -.15(ve b)-.25 H 2.5(yd) .15 G(ef)329.54 382.8 Q(ault, unless the)-.1 E F22.5 E F0 (option is speci\214ed.)2.5 E F2(rdiff)108 399.6 Q F0([)2.5 E F2A F3<8d61>A (gs)-.1 E F0 2.5(][)C F2166.92 399.6 Q F3(vn)2.5 E F0 2.5(][)C F2 200.94 399.6 Q F3(t)2.5 E F0(|)A F2A F3(d)2.5 E F0([)2.5 E F2A F3 (t2)2.5 E F0(|)A F2A F3(d2)2.5 E F0(]])A F3 -.834(modules . . .)2.5 F (Requir)144 411.6 Q(es:)-.37 E F0(repository)2.5 E(.)-.65 E F3(Chang)144 423.6 Q(es:)-.1 E F0(nothing.)2.5 E F3(Synonym:)144 435.6 Q F2(patch)2.5 E F0 1.114 (Builds a Larry W)144 447.6 R 1.113(all format)-.8 F F2(patch)3.613 E F0(\()A F2(1)A F0 3.613<298c>C 1.113(le between tw)304.86 447.6 R 3.613(or)-.1 G 1.113 (eleases, that can be fed directly into the)374.469 447.6 R F2(patch)144 459.6 Q F0 .18(program to bring an old release up-to-date with the ne)2.68 F 2.681 (wr)-.25 G 2.681(elease. \(This)400.963 459.6 R .181(is one of the fe)2.681 F (w)-.25 E F2(cvs)2.681 E F0 .714 (commands that operates directly from the repository)144 471.6 R 3.214(,a)-.65 G .714(nd doesn')367.198 471.6 R 3.214(tr)-.18 G .714(equire a prior)416.216 471.6 R F2(check)3.213 E(out)-.15 E F0 3.213(.\) The)B(dif)144 483.6 Q 3.276 (fo)-.25 G .776(utput is sent to the standard output de)166.466 483.6 R 3.276 (vice. Y)-.25 F .777(ou can specify \(using the standard)-1.1 F F23.277 E F0(and)3.277 E F23.277 E F0 .008(options\) an)144 495.6 R 2.508(yc)-.15 G .008(ombination of one or tw)200.526 495.6 R 2.508(or)-.1 G -.25(ev)307.956 495.6 S .008(isions or dates.).25 F .007(If only one re)5.008 F .007 (vision or date is speci\214ed,)-.25 F .278(the patch \214le re\215ects dif)144 507.6 R .278(ferences between that re)-.25 F .278 (vision or date and the current `)-.25 F(`head')-.74 E 2.778('r)-.74 G -.25(ev) 496.912 507.6 S .278(isions in).25 F(the)144 519.6 Q F1(RCS)2.5 E F0(\214le.) 2.25 E .81(Note that if the softw)144 537.6 R .81(are release af)-.1 F .809 (fected is contained in more than one directory)-.25 F 3.309(,t)-.65 G .809 (hen it may be)483.413 537.6 R .663(necessary to specify the)144 549.6 R F2 3.163 E F0 .664(option to the)3.164 F F2(patch)3.164 E F0 .664 (command when patching the old sources, so that)3.164 F F2(patch)144 561.6 Q F0 (is able to \214nd the \214les that are located in other directories.)2.5 E .013(If you use the option)144 579.6 R F22.512 E F3(vn)2.512 E F0(,)A F1 (RCS)2.512 E F0 -.1(ke)2.262 G(yw)-.05 E .012(ords are e)-.1 F .012 (xpanded according to the rules current in)-.15 F F1(RCS)2.512 E F0 -.15(ve) 2.262 G -.2(r-).15 G(sion)144 591.6 Q F3(vn)2.5 E F0(\(the e)2.5 E (xpansion format changed with)-.15 E F1(RCS)2.5 E F0 -.15(ve)2.25 G(rsion 5\).) .15 E .173(The standard option)144 609.6 R F3<8d61>2.673 E(gs)-.1 E F2 2.673 E F0(,)A F22.673 E F0(,)A F22.673 E F0 2.673(,a)C(nd)299.421 609.6 Q F22.673 E F0 .174(are a)2.674 F -.25(va)-.2 G .174 (ilable with this command.).25 F .174(There are also se)5.174 F(v-)-.25 E (eral special options \215ags:)144 621.6 Q .052(If you use the)144 639.6 R F2 2.551 E F0 .051(option, no patch output is produced.)2.551 F .051 (Instead, a summary of the changed or added)5.051 F .441 (\214les between the tw)144 651.6 R 2.941(or)-.1 G .441 (eleases is sent to the standard output de)236.204 651.6 R 2.941(vice. This) -.25 F .442(is useful for \214nding out,)2.941 F(for e)144 663.6 Q (xample, which \214les ha)-.15 E .3 -.15(ve c)-.2 H(hanged between tw).15 E 2.5 (od)-.1 G(ates or re)358.07 663.6 Q(visions.)-.25 E .407(If you use the)144 681.6 R F22.907 E F0 .407(option, a dif)2.907 F 2.907(fo)-.25 G 2.907(ft) 275.186 681.6 S .407(he top tw)284.203 681.6 R 2.906(or)-.1 G -.25(ev)333.372 681.6 S .406(isions is sent to the standard output de).25 F 2.906(vice. This) -.25 F(is most useful for seeing what the last change to a \214le w)144 693.6 Q (as.)-.1 E(If you use the)144 711.6 Q F22.5 E F0 (option, the patch output uses the ne)2.5 E(wer `)-.25 E(`unidif)-.74 E .55(f') -.25 G 2.5('f)-1.29 G(ormat for conte)418.78 711.6 Q(xt dif)-.15 E(fs.)-.25 E -1.1(Yo)144 729.6 S 3.304(uc)1.1 G .804(an use)167.864 729.6 R F23.304 E F0 .804(to e)3.304 F .804(xplicitly specify the `)-.15 F F2 .804(diff \255c) 1.666 F F0 3.304('f)1.666 G .804(orm of conte)355.482 729.6 R .805(xt dif)-.15 F .805(fs \(which is the def)-.25 F .805(ault\), if)-.1 F 203.72(03:05:16 10) 288.22 768 R EP %%Page: 11 11 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 403.28(CVS\(1\) CVS\(1\))72 48 R(you lik)144 84 Q(e.) -.1 E/F1 10/Times-Bold@0 SF -.18(re)108 100.8 S(lease).18 E F0([)2.5 E F1 (\255dQq)A F0(])A/F2 10/Times-Italic@0 SF(modules)2.5 E F0 1.666(...)1.666 G F2 (Requir)144 112.8 Q(es:)-.37 E F0 -.8(Wo)2.5 G(rking directory).8 E(.)-.65 E F2 (Chang)144 124.8 Q(es:)-.1 E F0 -.8(Wo)2.5 G(rking directory).8 E 2.5(,h)-.65 G (istory log.)267.43 124.8 Q 1.37(This command is meant to safely cancel the ef) 144 136.8 R 1.37(fect of `)-.25 F F1 1.37(cvs check)1.666 F(out'.)-.15 E F0 3.87('S)1.666 G(ince)451.922 136.8 Q F1(cvs)3.87 E F0(doesn')3.869 E 3.869(tl) -.18 G(ock)525.56 136.8 Q .618(\214les, it isn')144 148.8 R 3.118(ts)-.18 G .619(trictly necessary to use this command.)199.574 148.8 R -1.1(Yo)5.619 G 3.119(uc)1.1 G .619(an al)384.725 148.8 R -.1(wa)-.1 G .619 (ys simply delete your w).1 F(orking)-.1 E(directory)144 160.8 Q 2.981(,i)-.65 G 2.981(fy)187.711 160.8 S .481(ou lik)199.022 160.8 R .481(e; b)-.1 F .481 (ut you risk losing changes you may ha)-.2 F .78 -.15(ve f)-.2 H(or).15 E .48 (gotten, and you lea)-.18 F .78 -.15(ve n)-.2 H 2.98(ot).15 G(race)523.35 160.8 Q(in the)144 172.8 Q F1(cvs)2.5 E F0(history \214le that you')2.5 E .3 -.15 (ve a)-.5 H(bandoned your check).15 E(out.)-.1 E .404(Use `)144 190.8 R F1 .404 (cvs r)1.666 F(elease)-.18 E F0 2.904('t)1.666 G 2.904(oa)223.614 190.8 S -.2 (vo)235.758 190.8 S .404(id these problems.).2 F .405 (This command checks that no un-committed changes)5.404 F .544 (are present; that you are e)144 202.8 R -.15(xe)-.15 G .544 (cuting it from immediately abo).15 F -.15(ve)-.15 G 3.044(,o).15 G 3.044(ri) 405.18 202.8 S .544(nside, a)414.334 202.8 R F1(cvs)3.044 E F0 -.1(wo)3.044 G .544(rking directory;).1 F .569(and that the repository recorded for your \214\ les is the same as the repository de\214ned in the module)144 214.8 R (database.)144 226.8 Q 1.249(If all these conditions are true, `)144 244.8 R F1 1.249(cvs r)1.666 F(elease)-.18 E F0 3.749('l)1.666 G(ea)338.484 244.8 Q -.15 (ve)-.2 G 3.749(sar).15 G 1.248(ecord of its e)375.612 244.8 R -.15(xe)-.15 G 1.248(cution \(attesting to your).15 F(intentionally abandoning your check)144 256.8 Q(out\) in the)-.1 E F1(cvs)2.5 E F0(history log.)2.5 E -1.1(Yo)144 274.8 S 3.444(uc)1.1 G .944(an use the)168.004 274.8 R F13.444 E F0 .945 (\215ag to request that your w)3.444 F .945 (orking copies of the source \214les be deleted if the)-.1 F F1 -.18(re)144 286.8 S(lease).18 E F0(succeeds.)2.5 E F1 -.18(re)108 303.6 S(mo).18 E -.1(ve) -.1 G F0([)2.6 E F1(\255lR)A F0 2.5(][)C F2 -.834(\214les . . .)169.96 303.6 R F0(])A F2(Requir)144 315.6 Q(es:)-.37 E F0 -.8(Wo)2.5 G(rking directory).8 E(.) -.65 E F2(Chang)144 327.6 Q(es:)-.1 E F0 -.8(Wo)2.5 G(rking directory).8 E(.) -.65 E F2(Synonyms:)144 339.6 Q F1(rm)2.5 E F0(,)A F1(delete)2.5 E F0 .444 (Use this command to declare that you wish to remo)144 351.6 R -.15(ve)-.15 G F2(\214les)3.094 E F0 .443(from the source repository)2.944 F 5.443(.L)-.65 G (ik)505.487 351.6 Q 2.943(em)-.1 G(ost)528.33 351.6 Q F1(cvs)144 363.6 Q F0 .208(commands, `)2.708 F F1 .208(cvs r)1.666 F(emo)-.18 E -.1(ve)-.1 G F0 2.708 ('w)1.766 G .208(orks on \214les in your w)275.704 363.6 R .209 (orking directory)-.1 F 2.709(,n)-.65 G .209(ot directly on the reposi-)440.844 363.6 R(tory)144 375.6 Q 6.46(.A)-.65 G 3.96(sas)175.64 375.6 S(afe)195.78 375.6 Q 1.459(guard, it also requires that you \214rst erase the speci\214ed \ \214les from your w)-.15 F(orking)-.1 E(directory)144 387.6 Q(.)-.65 E .362 (The \214les are not actually remo)144 405.6 R -.15(ve)-.15 G 2.862(du).15 G .363(ntil you apply your changes to the repository with)289.732 405.6 R F1 (commit)2.863 E F0 2.863(;a)C(t)537.22 405.6 Q .702 (that point, the corresponding)144 417.6 R/F3 9/Times-Roman@0 SF(RCS)3.202 E F0 .702(\214les in the source repository are)2.952 F F2(mo)3.202 E(ved)-.1 E F0 .702(into the `)3.202 F F1(Attic)1.666 E F0 3.201('d)1.666 G(irec-)521.68 417.6 Q(tory \(also within the source repository\).)144 429.6 Q 1.86 (This command is recursi)144 447.6 R 2.16 -.15(ve b)-.25 H 4.361(yd).15 G(ef) 280.941 447.6 Q 1.861(ault, scheduing all ph)-.1 F 1.861(ysically remo)-.05 F -.15(ve)-.15 G 4.361<648c>.15 G 1.861(les that it \214nds for)459.776 447.6 R (remo)144 459.6 Q -.25(va)-.15 G 3.002(lb).25 G 3.002(yt)184.372 459.6 S .502 (he ne)195.154 459.6 R(xt)-.15 E F1(commit)3.001 E F0 5.501(.U)C .501(se the) 275.098 459.6 R F13.001 E F0 .501(option to a)3.001 F -.2(vo)-.2 G .501 (id this recursion, or just specify that actual).2 F (\214les that you wish remo)144 471.6 Q .3 -.15(ve t)-.15 H 2.5(oc).15 G (onsider)266.47 471.6 Q(.)-.55 E F1(rtag)108 488.4 Q F0([)2.5 E F1 -.834 (\255f alnRQq)B F0 2.5(][)C F1185.356 488.4 Q F0 2.5(][)C F1205.776 488.4 Q F0 2.5(][)C F1226.196 488.4 Q F2(ta)2.5 E(g)-.1 E F0(|)2.5 E F1 2.5 E F2(date)2.5 E F0(])A F2(symbolic_ta)2.5 E 2.5(gm)-.1 G -.834 (odules . . .)359.936 488.4 R(Requir)144 500.4 Q(es:)-.37 E F0(repository)2.5 E (.)-.65 E F2(Chang)144 512.4 Q(es:)-.1 E F0(repository)2.5 E(.)-.65 E F2 (Synonym:)144 524.4 Q F1(rfr)2.5 E(eeze)-.18 E F0 -1.1(Yo)144 536.4 S 3.57(uc) 1.1 G 1.071(an use this command to assign symbolic tags to particular)168.13 536.4 R 3.571(,e)-.4 G 1.071(xplicitly speci\214ed source v)418.547 536.4 R(er) -.15 E(-)-.2 E .103(sions in the repository)144 548.4 R 5.103(.`)-.65 G F1 .103 (cvs rtag)244.868 548.4 R F0 2.603('w)1.666 G .102 (orks directly on the repository contents \(and requires no prior)293.29 548.4 R F1(check)144 560.4 Q(out)-.15 E F0 2.906(\). Use)B(`)2.907 E F1 .407(cvs tag) 1.666 F F0 2.907('i)1.666 G .407(nstead, to base the selection of v)257.119 560.4 R .407(ersions to tag on the contents of your)-.15 F -.1(wo)144 572.4 S (rking directory).1 E(.)-.65 E .847 (In general, tags \(often the symbolic names of softw)144 590.4 R .846 (are distrib)-.1 F .846(utions\) should not be remo)-.2 F -.15(ve)-.15 G .846 (d, b).15 F(ut)-.2 E(the)144 602.4 Q F12.925 E F0 .425(option is a)2.925 F -.25(va)-.2 G .425(ilable as a means to remo).25 F .725 -.15(ve c)-.15 H .426 (ompletely obsolete symbolic names if necessary).15 F (\(as might be the case for an Alpha release, say\).)144 614.4 Q(The)144 632.4 Q F1(-b)3.291 E F0 .791(option mak)3.291 F .791(es the tag a `)-.1 F(`branch') -.74 E 3.291('t)-.74 G .791(ag, allo)316.488 632.4 R .79 (wing concurrent, isolated de)-.25 F -.15(ve)-.25 G 3.29(lopment. This).15 F (is)3.29 E(most useful for creating a patch to a pre)144 644.4 Q (viously released softw)-.25 E(are distrib)-.1 E(ution.)-.2 E -1.1(Yo)144 662.4 S 3.252(uc)1.1 G .752(an use the standard)167.812 662.4 R F13.252 E F0 (and)3.252 E F13.252 E F0 .752 (options to tag only those \214les that already contain a certain)3.252 F 3.057 (tag. This)144 674.4 R .557(method w)3.057 F .556(ould be used to rename a tag\ : tag only the \214les identi\214ed by the old tag, then)-.1 F (delete the old tag, lea)144 686.4 Q(ving the ne)-.2 E 2.5(wt)-.25 G(ag on e) 285.75 686.4 Q(xactly the same \214les as the old tag.)-.15 E F1(rtag)144 704.4 Q F0 -.15(exe)2.667 G .167(cutes recursi).15 F -.15(ve)-.25 G .167(ly by def) .15 F .167(ault, tagging all subdirectories of)-.1 F F2(modules)2.667 E F0 .167 (you specify in the ar)2.667 F(gu-)-.18 E 2.685(ment. Y)144 716.4 R .185 (ou can restrict its operation to top-le)-1.1 F -.15(ve)-.25 G 2.685(ld).15 G .185(irectories with the standard)343.4 716.4 R F12.685 E F0 .185 (option; or you can)2.685 F -.15(ex)144 728.4 S (plicitly request recursion with).15 E F12.5 E F0(.)A 203.72(03:05:16 11) 288.22 768 R EP %%Page: 12 12 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 403.28(CVS\(1\) CVS\(1\))72 48 R .494 (The modules database can specify a program to e)144 84 R -.15(xe)-.15 G .494 (cute whene).15 F -.15(ve)-.25 G -5.493 2.994(ra t).15 H .495 (ag is speci\214ed; a typical use)425.595 84 R .327 (is to send electronic mail to a group of interested parties.)144 96 R .327 (If you w)5.327 F .326(ant to bypass that program, use)-.1 F(the standard)144 108 Q/F1 10/Times-Bold@0 SF2.5 E F0(option.)2.5 E(The standard options) 144 126 Q F12.5 E F0(and)2.5 E F12.5 E F0(are also a)2.5 E -.25(va) -.2 G(ilable with this command.).25 E .472(Use the)144 144 R F12.972 E F0 .472(option to ha)2.972 F -.15(ve)-.2 G F1(rtag)3.122 E F0 .473(look in the `) 2.973 F F1(Attic)1.666 E F0 2.973('f)1.666 G .473(or remo)357.009 144 R -.15 (ve)-.15 G 2.973<648c>.15 G .473(les that contin the speci\214ed tag.)411.535 144 R .469(The tag is remo)144 156 R -.15(ve)-.15 G 2.969(df).15 G .469 (rom these \214les, which mak)228.336 156 R .469(es it con)-.1 F -.15(ve)-.4 G .469(nient to re-use a symbolic tag as de).15 F -.15(ve)-.25 G(l-).15 E (opment continues \(and \214les get remo)144 168 Q -.15(ve)-.15 G 2.5(df).15 G (rom the up-coming distrib)312.01 168 Q(ution\).)-.2 E F1(status)108 184.8 Q F0 ([)2.5 E F1(\255lR)A F0 2.5(][)C F1163.69 184.8 Q F0 2.5(][)C/F2 10 /Times-Italic@0 SF(\214les)183.55 184.8 Q F0 1.666(...)1.666 G(])-1.666 E F2 (Requir)144 196.8 Q(es:)-.37 E F0 -.1(wo)2.5 G(rking directory).1 E 2.5(,r)-.65 G(epository)264.52 196.8 Q(.)-.65 E F2(Chang)144 208.8 Q(es:)-.1 E F0(nothing.) 2.5 E .472(Display a brief report on the current status of)144 220.8 R F2 (\214les)2.972 E F0 .472(with respect to the source repository)2.972 F 2.972 (,i)-.65 G(ncluding)505 220.8 Q(an)144 232.8 Q 3.317(y`)-.15 G(`stick)164.197 232.8 Q(y')-.15 E 3.317('t)-.74 G .817(ags, dates, or)203.284 232.8 R F1 3.316 E F0 3.316(options. \(`)3.316 F(`Stick)-.74 E(y')-.15 E 3.316('o)-.74 G .816(ptions will restrict ho)361.682 232.8 R 3.316(w`)-.25 G F1 .816 (cvs update)-1.65 F F0 3.316('o)1.666 G(per)524.1 232.8 Q(-)-.2 E (ates until you reset them; see the description of `)144 244.8 Q F1 (cvs update \255A)1.666 E 1.666(...)1.666 G F0('.\))A -1.1(Yo)144 262.8 S 2.583 (uc)1.1 G .083 (an also use this command to anticipate the potential impact of a `)167.143 262.8 R F1 .084(cvs update)1.666 F F0 2.584('o)1.666 G 2.584(ny)487.722 262.8 S .084(our w)500.306 262.8 R(ork-)-.1 E .695(ing source directory)144 274.8 R 5.694(.I)-.65 G 3.194(fy)236.244 274.8 S .694(ou do not specify an)247.768 274.8 R(y)-.15 E F2(\214les)3.194 E F0 -.15(ex)3.194 G(plicitly).15 E 3.194(,r) -.65 G .694(eports are sho)404.996 274.8 R .694(wn for all \214les that)-.25 F F1(cvs)144 286.8 Q F0 1.201(has placed in your w)3.701 F 1.201 (orking directory)-.1 F 6.201(.Y)-.65 G 1.201 (ou can limit the scope of this search to the current)328.577 286.8 R 2.098 (directory itself \(not its subdirectories\) with the standard)144 298.8 R F1 4.598 E F0 2.098(option \215ag; or you can e)4.598 F(xplicitly)-.15 E (request recursi)144 310.8 Q .3 -.15(ve s)-.25 H(tatus reports with the).15 E F12.5 E F0(option.)2.5 E(The)144 328.8 Q F12.5 E F0 (option causes the symbolic tags for the)2.5 E/F3 9/Times-Roman@0 SF(RCS)2.5 E F0(\214le to be displayed as well.)2.25 E F1(tag)108 345.6 Q F0([)2.5 E F1 (\255lQqR)A F0 2.5(][)C F1165.36 345.6 Q F0 2.5(][)C F1185.78 345.6 Q F0(])A F2(symbolic_ta)2.5 E(g)-.1 E F0([)2.5 E F2(\214les)A F0 1.666(...]) 1.666 G F2(Requir)144 357.6 Q(es:)-.37 E F0 -.1(wo)2.5 G(rking directory).1 E 2.5(,r)-.65 G(epository)264.52 357.6 Q(.)-.65 E F2(Chang)144 369.6 Q(es:)-.1 E F0(repository)2.5 E(.)-.65 E F2(Synonym:)144 381.6 Q F1(fr)2.5 E(eeze)-.18 E F0 1.758(Use this command to assign symbolic tags to the nearest repository v)144 393.6 R 1.758(ersions to your w)-.15 F(orking)-.1 E 2.595(sources. The)144 405.6 R .095(tags are applied immediately to the repository)2.595 F 2.594(,a) -.65 G 2.594(sw)392.492 405.6 S(ith)406.196 405.6 Q F1(rtag)2.594 E F0 2.594 (,b)C .094(ut the v)447.014 405.6 R .094(ersions are sup-)-.15 F (plied implicitly by the)144 417.6 Q F1(cvs)2.5 E F0(records of your w)2.5 E (orking \214les' history rather than applied e)-.1 E(xplicitly)-.15 E(.)-.65 E .305(One use for tags is to record a `)144 435.6 R(`snapshot')-.74 E 2.805('o) -.74 G 2.805(ft)323.275 435.6 S .305(he current sources when the softw)332.19 435.6 R .305(are freeze date of)-.1 F 2.743(ap)144 447.6 S .243(roject arri) 156.183 447.6 R -.15(ve)-.25 G 2.743(s. As).15 F -.2(bu)2.743 G .243 (gs are \214x).2 F .243 (ed after the freeze date, only those changed sources that are to be)-.15 F (part of the release need be re-tagged.)144 459.6 Q .995 (The symbolic tags are meant to permanently record which re)144 477.6 R .996 (visions of which \214les were used in)-.25 F 1.493(creating a softw)144 489.6 R 1.493(are distrib)-.1 F 3.993(ution. The)-.2 F F1(check)3.992 E(out)-.15 E F0 (and)3.992 E F1(update)3.992 E F0 1.492(commands allo)3.992 F 3.992(wy)-.25 G 1.492(ou to e)473.744 489.6 R 1.492(xtract an)-.15 F -.15(ex)144 501.6 S 1.493 (act cop).15 F 3.993(yo)-.1 G 3.993(fat)197.276 501.6 S 1.493 (agged release at an)215.812 501.6 R 3.993(yt)-.15 G 1.494 (ime in the future, re)307.714 501.6 R -.05(ga)-.15 G 1.494 (rdless of whether \214les ha).05 F 1.794 -.15(ve b)-.2 H(een).15 E (changed, added, or remo)144 513.6 Q -.15(ve)-.15 G 2.5(ds).15 G (ince the release w)263.11 513.6 Q(as tagged.)-.1 E .341(If you use `)144 531.6 R F1 .341(cvs tag \255d)1.666 F F2(symbolic_ta)2.841 E(g)-.1 E F1 1.666(...) 1.666 G F0 .341(', the symbolic tag you specify is)B F2(deleted)2.84 E F0 .34 (instead of being)2.84 F(added.)144 543.6 Q F2 -.92(Wa)5.07 G(rning).92 E F0 2.57(:B)C 2.57(ev)221.55 543.6 S .071 (ery certain of your ground before you delete a tag; doing this ef)233.41 543.6 R(fecti)-.25 E -.15(ve)-.25 G .071(ly dis-).15 F (cards some historical information, which may later turn out to ha)144 555.6 Q .3 -.15(ve b)-.2 H(een v).15 E(aluable.)-.25 E(The)144 573.6 Q F1(-b)3.291 E F0 .791(option mak)3.291 F .791(es the tag a `)-.1 F(`branch')-.74 E 3.291('t)-.74 G .791(ag, allo)316.488 573.6 R .79(wing concurrent, isolated de)-.25 F -.15 (ve)-.25 G 3.29(lopment. This).15 F(is)3.29 E (most useful for creating a patch to a pre)144 585.6 Q(viously released softw) -.25 E(are distrib)-.1 E(ution.)-.2 E(Normally)144 603.6 Q(,)-.65 E F1(tag)2.93 E F0 -.15(exe)2.93 G .43(cutes recursi).15 F -.15(ve)-.25 G .43 (ly through subdirectories; you can pre).15 F -.15(ve)-.25 G .43 (nt this by using the stan-).15 F(dard)144 615.6 Q F12.5 E F0 (option, or specify the recursion e)2.5 E(xplicitly by using)-.15 E F12.5 E F0(.)A F1(update)108 632.4 Q F0([)2.5 E F1 -.834(\255Adf lPpQqR)B F0 2.5(][)C F1210.926 632.4 Q F0 2.5(][)C F1231.346 632.4 Q F2(ta)2.5 E(g)-.1 E F0(|)A F1A F2(date)2.5 E F0(])A F2 -.834(\214les . . .)2.5 F(Requir)144 644.4 Q(es:)-.37 E F0(repository)2.5 E 2.5(,w)-.65 G(orking directory)237.03 644.4 Q(.)-.65 E F2(Chang)144 656.4 Q(es:)-.1 E F0 -.1(wo)2.5 G (rking directory).1 E(.)-.65 E 1.514(After you')144 668.4 R 1.814 -.15(ve r)-.5 H(un).15 E F1(check)4.014 E(out)-.15 E F0 1.514(to create your pri)4.014 F -.25 (va)-.25 G 1.514(te cop).25 F 4.013(yo)-.1 G 4.013(fs)381.445 668.4 S 1.513 (ource from the common repository)392.678 668.4 R(,)-.65 E 1.244(other de)144 680.4 R -.15(ve)-.25 G 1.244(lopers will continue changing the central source.) .15 F 1.245(From time to time, when it is con-)6.245 F -.15(ve)144 692.4 S .141 (nient in your de).15 F -.15(ve)-.25 G .141(lopment process, you can use the) .15 F F1(update)2.641 E F0 .14(command from within your w)2.641 F(orking)-.1 E 1.163(directory to reconcile your w)144 704.4 R 1.163(ork with an)-.1 F 3.664 (yr)-.15 G -.25(ev)324.352 704.4 S 1.164(isions applied to).25 F 1.164 (the source repository since your)6.164 F(last)144 716.4 Q F1(check)2.5 E(out) -.15 E F0(or)2.5 E F1(update)2.5 E F0(.)A 203.72(03:05:16 12)288.22 768 R EP %%Page: 13 13 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 403.28(CVS\(1\) CVS\(1\))72 48 R/F1 10/Times-Bold@0 SF (update)144 84 Q F0 -.1(ke)2.617 G .117 (eps you informed of its progress by printing a line for each \214le, pref).1 F .116(aced with one of the)-.1 F(characters `)144 96 Q F1 2.5(UARMC?)1.666 G F0 2.5('t)-.834 G 2.5(oi)258.122 96 S(ndicate the status of the \214le:)268.402 96 Q F1(U)108 112.8 Q/F2 10/Times-Italic@0 SF(\214le)2.5 E F0 .822(The \214le w) 180 112.8 R .823(as brought)-.1 F F2 .823(up to date)3.323 F F0 .823 (with respect to the repository)3.323 F 5.823(.T)-.65 G .823 (his is done for an)446.875 112.8 R 3.323<798c>-.15 G(le)532.78 112.8 Q .388 (that e)180 124.8 R .388(xists in the repository b)-.15 F .387 (ut not in your source, and for \214les that you ha)-.2 F -.15(ve)-.2 G(n').15 E 2.887(tc)-.18 G(hanged)511.12 124.8 Q -.2(bu)180 136.8 S 2.5(ta).2 G (re not the most recent v)199.52 136.8 Q(ersions a)-.15 E -.25(va)-.2 G (ilable in the repository).25 E(.)-.65 E F1(A)108 153.6 Q F2(\214le)2.5 E F0 .218(The \214le has been)180 153.6 R F2(added)2.718 E F0 .218(to your pri)2.718 F -.25(va)-.25 G .218(te cop).25 F 2.718(yo)-.1 G 2.718(ft)367.162 153.6 S .219 (he sources, and will be added to the)375.99 153.6 R/F3 9/Times-Roman@0 SF(RCS) 2.719 E F0 .316(source repository when you run `)180 165.6 R F1 .316 (cvs commit)1.666 F F0 2.816('o)1.666 G 2.816(nt)376.886 165.6 S .316 (he \214le.)387.482 165.6 R .316(This is a reminder to you that)5.316 F (the \214le needs to be committed.)180 177.6 Q F1(R)108 194.4 Q F2(\214le)2.5 E F0 1.096(The \214le has been)180 194.4 R F2 -.37(re)3.596 G(mo).37 E(ved)-.1 E F0 1.097(from your pri)3.596 F -.25(va)-.25 G 1.097(te cop).25 F 3.597(yo)-.1 G 3.597(ft)396.248 194.4 S 1.097(he sources, and will be remo)405.955 194.4 R -.15(ve)-.15 G(d).15 E 2.202(from the)180 206.4 R F3(RCS)4.702 E F0 2.201 (source repository when you run `)4.452 F F1 2.201(cvs commit)1.666 F F0 4.701 ('o)1.666 G 4.701(nt)452.605 206.4 S 2.201(he \214le.)465.086 206.4 R 2.201 (This is a)7.201 F(reminder to you that the \214le needs to be committed.)180 218.4 Q F1(M)108 235.2 Q F2(\214le)2.5 E F0 .613(The \214le is)180 235.2 R F2 (modi\214ed)3.113 E F0 .613(in your w)3.113 F .613(orking directory)-.1 F 5.613 (.`)-.65 G F1(M)379.13 235.2 Q F0 3.113('c)1.666 G .613(an indicate one of tw) 401.119 235.2 R 3.113(os)-.1 G .613(tates for a)499.344 235.2 R .692 (\214le you')180 247.2 R .692(re w)-.5 F .691(orking on: either there were no \ modi\214cations to the same \214le in the reposi-)-.1 F(tory)180 259.2 Q 2.614 (,s)-.65 G 2.614(ot)204.464 259.2 S .115 (hat your \214le remains as you last sa)214.858 259.2 R 2.615(wi)-.15 G .115 (t; or there were modi\214cations in the reposi-)366.165 259.2 R .448 (tory as well as in your cop)180 271.2 R 1.747 -.65(y, b)-.1 H .447(ut the).45 F 2.947(yw)-.15 G(ere)340.688 271.2 Q F2(mer)2.947 E -.1(ge)-.37 G(d).1 E F0 (successfully)2.947 E 2.947(,w)-.65 G .447(ithout con\215ict, in your)449.209 271.2 R -.1(wo)180 283.2 S(rking directory).1 E(.)-.65 E F1(C)108 300 Q F2 (\214le)2.5 E F0(A)180 300 Q F2(con\215ict)2.912 E F0 -.1(wa)2.912 G 2.912(sd) .1 G .412(etected while trying to mer)245.846 300 R .412(ge your changes to) -.18 F F2(\214le)2.912 E F0 .412(with changes from the)2.912 F 1.868 (source repository)180 312 R(.)-.65 E F2(\214le)6.868 E F0 1.868(\(the cop) 4.368 F 4.368(yi)-.1 G 4.368(ny)322.73 312 S 1.868(our w)337.098 312 R 1.868 (orking directory\) is no)-.1 F 4.368(wt)-.25 G 1.867(he output of the)471.348 312 R F1 -.18(rc)180 324 S(smer).18 E(ge)-.1 E F0(\()A F1(1)A F0 3.738(\)c)C 1.238(ommand on the tw)238.978 324 R 3.738(ov)-.1 G 1.239 (ersions; an unmodi\214ed cop)330.9 324 R 3.739(yo)-.1 G 3.739(fy)456.305 324 S 1.239(our \214le is also in)468.374 324 R .56(your w)180 336 R .56 (orking directory)-.1 F 3.06(,w)-.65 G .56(ith the name `)285.91 336 R F1(.#)A F2(\214le)A F1(.)A F2(ver)A(sion)-.1 E F0 .56(', where)B F2(ver)3.06 E(sion)-.1 E F0 .56(is the)3.06 F F3(RCS)3.06 E F0(re)2.81 E(vision)-.25 E 1.081 (that your modi\214ed \214le started from.)180 348 R 1.082 (\(Note that some systems automatically pur)6.082 F 1.082(ge \214les)-.18 F .233(that be)180 360 R .233(gin with)-.15 F(`)5.466 E F1(.#)1.666 E F0 2.733 ('i)1.666 G 2.733(ft)268.787 360 S(he)277.63 360 Q 2.733(yh)-.15 G -2.25 -.2 (av e)299.653 360 T .232(not been accessed for a fe)2.933 F 2.732(wd)-.25 G 2.732(ays. If)434.79 360 R .232(you intend to k)2.732 F(eep)-.1 E 2.5(ac)180 372 S(op)191.38 372 Q 2.5(yo)-.1 G 2.5(fy)213.78 372 S (our original \214le, it is a v)224.61 372 Q(ery good idea to rename it.\))-.15 E F1(?)108 388.8 Q F2 49.78(\214le \214le)2.5 F F0 .113(is in your w)2.613 F .113(orking directory)-.1 F 2.613(,b)-.65 G .113(ut does not correspond to an) 316.658 388.8 R .114(ything in the source reposi-)-.15 F(tory)180 400.8 Q 2.5 (,a)-.65 G(nd is not in the list of \214les for)204.9 400.8 Q F1(cvs)2.5 E F0 (to ignore \(see the description of the)2.5 E F12.5 E F0(option\).)2.5 E .619(Use the)144 423.6 R F13.119 E F0 .619(option to reset an)3.119 F 3.119(ys)-.15 G(tick)276.923 423.6 Q 3.119(yt)-.15 G .619(ags, dates, or) 302.672 423.6 R F13.118 E F0 3.118(options. \(If)3.118 F .618 (you get a w)3.118 F .618(orking cop)-.1 F 3.118(yo)-.1 G 3.118(fa)529.112 423.6 S .179(\214le by using one of the)144 435.6 R F12.679 E F0(,)A F1 2.679 E F0 2.679(,o)C(r)277.93 435.6 Q F12.679 E F0(options,)2.679 E F1(cvs)2.679 E F0 .179(remembers the corresponding tag, date, or)2.679 F F2 (k\215a)2.679 E(g)-.1 E F0 .057 (and continues using it on future updates; use the)144 447.6 R F12.556 E F0 .056(option to mak)2.556 F(e)-.1 E F1(cvs)2.556 E F0(for)2.556 E .056 (get these speci\214cations,)-.18 F(and retrie)144 459.6 Q .3 -.15(ve t)-.25 H (he `).15 E(`head')-.74 E 2.5('v)-.74 G(ersion of the \214le\).)246.37 459.6 Q (The)144 477.6 Q F12.635 E F2(br)A(anc)-.15 E(h)-.15 E F0 .135 (option mer)2.635 F .136(ges the changes made between the resulting re)-.18 F .136(vision and the re)-.25 F .136(vision that)-.25 F .897 (it is based on \(e.g., if the tag refers to a branch,)144 489.6 R F1(cvs)3.396 E F0 .896(will mer)3.396 F .896(ge all changes made in that branch)-.18 F (into your w)144 501.6 Q(orking \214le\).)-.1 E -.4(Wi)144 519.6 S .242(th tw) .4 F(o)-.1 E F1(-j)2.742 E F0(options,)2.742 E F1(cvs)2.742 E F0 .242(will mer) 2.742 F .243(ge in the changes between the tw)-.18 F 2.743(or)-.1 G(especti) 422.441 519.6 Q .543 -.15(ve r)-.25 H -.25(ev).15 G 2.743(isions. This).25 F (can)2.743 E .155(be used to `)144 531.6 R(`remo)-.74 E -.15(ve)-.15 G 1.635 -.74('' a c).15 H .155(ertain delta from your w).74 F .155(orking \214le.)-.1 F .154(E.g., If the \214le foo.c is based on re)5.155 F(vi-)-.25 E (sion 1.6 and I w)144 543.6 Q(ant to remo)-.1 E .3 -.15(ve t)-.15 H (he changes made between 1.3 and 1.5, I might do:).15 E F1 (example% cvs update -j1.5 -j1.3 f)216 561.6 Q 18.33(oo.c #)-.25 F (note the order)2.5 E(...)-1 E F0 2.059(In addition, each)144 579.6 R F1(-j) 4.559 E F0 2.059 (option can contain on optional date speci\214cation which, when used with) 4.559 F .307(branches, can limit the chosen re)144 591.6 R .307 (vision to one within a speci\214c date.)-.25 F .307 (An optional date is speci\214ed)5.307 F(by adding a colon \(:\) to the tag.) 144 603.6 Q F1(-jSymbolic_T)216 621.6 Q(ag:Date_Speci\214er)-.92 E F0 .582 (Use the)144 639.6 R F13.083 E F0 .583(option to create an)3.083 F 3.083 (yd)-.15 G .583(irectories that e)281.11 639.6 R .583 (xist in the repository if the)-.15 F(y')-.15 E .583(re missing from the)-.5 F -.1(wo)144 651.6 S .49(rking directory).1 F 5.49(.\()-.65 G(Normally)226.99 651.6 Q 2.99(,u)-.65 G .49 (pdate acts only on directories and \214les that were already enrolled)275.16 651.6 R .436(in your w)144 663.6 R .436(orking directory)-.1 F 2.936(.\) This) -.65 F .437 (is useful for updating directories that were created in the reposi-)2.936 F .971(tory since the initial)144 675.6 R F1(check)3.471 E(out)-.15 E F0 3.471 (;b)C .971(ut it has an unfortunate side ef)279.335 675.6 R 3.47(fect. If)-.25 F .97(you deliberately a)3.47 F -.2(vo)-.2 G(ided).2 E .754 (certain directories in the repository when you created your w)144 687.6 R .754 (orking directory \(either through use)-.1 F 1.227 (of a module name or by listing e)144 699.6 R 1.226 (xplicitly the \214les and directories you w)-.15 F 1.226(anted on the command) -.1 F(line\), then updating with)144 711.6 Q F12.5 E F0 (will create those directories, which may not be what you w)2.5 E(ant.)-.1 E (Use)144 729.6 Q F14.104 E F2(name)4.104 E F0 1.605 (to ignore \214les whose names match)4.104 F F2(name)4.105 E F0 1.605 (\(in your w)4.105 F 1.605(orking directory\) during the)-.1 F 203.72 (03:05:16 13)288.22 768 R EP %%Page: 14 14 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 403.28(CVS\(1\) CVS\(1\))72 48 R 2.676(update. Y)144 84 R .176(ou can specify)-1.1 F/F1 10/Times-Bold@0 SF2.676 E F0 .175 (more than once on the command line to specify se)2.676 F -.15(ve)-.25 G .175 (ral \214les to ignore.).15 F(By def)144 96 Q(ault,)-.1 E F1(update)2.5 E F0 (ignores \214les whose names match an)2.5 E 2.5(yo)-.15 G 2.5(ft)378.73 96 S (he follo)387.34 96 Q(wing:)-.25 E F1 2.5(RCSLOG RCS SCCS)216 114 R 2.5 (CVS* cvslog)216 126 R(.*)-.15 E 2.5(tags T)216 138 R -.55(AG)-.9 G(S).55 E (.mak)216 150 Q 2.5(e.state .nse_depinf)-.1 F(o)-.25 E 2.5(*~ #* .#* ,*)216 162 R 2.5(*.old *.bak *.orig *.r)216 174 R 2.5(ej .del\255*)-.18 F 2.5 (*.a *.o *.Z *.elc *.ln cor)216 186 R(e)-.18 E F0(Use `)144 204 Q F1(\255I !) 1.666 E F0 2.5('t)1.666 G 2.5(oa)192.742 204 S -.2(vo)204.482 204 S (id ignoring an).2 E 2.5<798c>-.15 G(les at all.)283.302 204 Q 1.261 (The standard)144 222 R F1(cvs)3.761 E F0 1.261(command options)3.761 F F1 3.761 E F0(,)A F13.761 E F0(,)A F13.761 E F0(,)A F1 3.761 E F0(,)A F13.761 E F0(,)A F13.761 E F0(,)A F13.761 E F0 3.761(,a)C(nd)419.302 222 Q F13.761 E F0 1.262(are also a)3.761 F -.25 (va)-.2 G 1.262(ilable with).25 F F1(update)144 234 Q F0(.)A/F2 9/Times-Bold@0 SF(FILES)72 250.8 Q F0 -.15(Fo)108 262.8 S 2.5(rm).15 G (ore detailed information on)132.02 262.8 Q F1(cvs)2.5 E F0 (supporting \214les, see)2.5 E F1(cvs)2.5 E F0(\()A F1(5)A F0(\).)A/F3 10 /Times-Italic@0 SF -.45(Fi)108 279.6 S(les in working dir).45 E(ectories:)-.37 E F0 14.05(CVS A)108 296.4 R(directory of)2.5 E F1(cvs)2.5 E F0(administrati) 2.5 E .3 -.15(ve \214)-.25 H(les.).15 E F3(Do not delete)5 E(.)-.15 E F0 (CVS/Entries)108 313.2 Q(List and status of \214les in your w)144 325.2 Q (orking directory)-.1 E(.)-.65 E(CVS/Entries.Backup)108 342 Q 2.5(Ab)144 354 S (ackup of `)158.72 354 Q F1(CVS/Entries)1.666 E F0('.)1.666 E (CVS/Entries.Static)108 370.8 Q(Flag: do not add more entries on `)144 382.8 Q F1(cvs update)1.666 E F0('.)1.666 E(CVS/Repository)108 399.6 Q -.15(Pa)144 411.6 S(thname to the corresponding directory in the source repository).15 E(.) -.65 E(CVS/T)108 428.4 Q(ag)-.8 E .117(Contains the per)144 440.4 R .116 (-directory `)-.2 F(`stick)-.74 E(y')-.15 E 2.616('t)-.74 G .116 (ag or date information.)292.606 440.4 R .116 (This \214le is created/updated when you)5.116 F(specify)144 452.4 Q F1 2.5 E F0(or)2.5 E F12.5 E F0(to the)2.5 E F1(check)2.5 E(out)-.15 E F0 (or)2.5 E F1(update)2.5 E F0(commands, and no \214les are speci\214ed.)2.5 E (CVS/Checkin.prog)108 469.2 Q(Name of program to run on `)144 481.2 Q F1 (cvs commit)1.666 E F0('.)1.666 E(CVS/Update.prog)108 498 Q (Name of program to run on `)144 510 Q F1(cvs update)1.666 E F0('.)1.666 E F3 -.45(Fi)108 526.8 S(les in sour).45 E(ce r)-.37 E(epositories:)-.37 E F0($CVSR) 108 543.6 Q(OO)-.4 E(T/CVSR)-.4 E(OO)-.4 E(T)-.4 E (Directory of global administrati)144 555.6 Q .3 -.15(ve \214)-.25 H (les for repository).15 E(.)-.65 E(CVSR)108 572.4 Q(OO)-.4 E(T/commitinfo,v)-.4 E(Records programs for \214ltering `)144 584.4 Q F1(cvs commit)1.666 E F0 2.5 ('r)1.666 G(equests.)331.732 584.4 Q(CVSR)108 601.2 Q(OO)-.4 E(T/history)-.4 E (Log \214le of)144 613.2 Q F1(cvs)2.5 E F0(transactions.)2.5 E(CVSR)108 630 Q (OO)-.4 E(T/modules,v)-.4 E(De\214nitions for modules in this repository)144 642 Q(.)-.65 E(CVSR)108 658.8 Q(OO)-.4 E(T/loginfo,v)-.4 E (Records programs for piping `)144 670.8 Q F1(cvs commit)1.666 E F0 2.5('l) 1.666 G(og entries.)325.072 670.8 Q(CVSR)108 687.6 Q(OO)-.4 E(T/rcsinfo,v)-.4 E (Records pathnames to templates used dueing a `)144 699.6 Q F1(cvs commit)1.666 E F0 2.5('o)1.666 G(peration.)398.672 699.6 Q 203.72(03:05:16 14)288.22 768 R EP %%Page: 15 15 %%BeginPageSetup BP %%EndPageSetup /F0 10/Times-Roman@0 SF 403.28(CVS\(1\) CVS\(1\))72 48 R(CVSR)108 84 Q(OO)-.4 E (T/editinfo,v)-.4 E(Records programs for editing/v)144 96 Q(alidating `)-.25 E /F1 10/Times-Bold@0 SF(cvs commit)1.666 E F0 2.5('l)1.666 G(og entries.)369.822 96 Q 13.5(Attic Directory)108 112.8 R(for remo)2.5 E -.15(ve)-.15 G 2.5(ds).15 G(ource \214les.)240.06 112.8 Q(#cvs.lock)108 129.6 Q 2.5(Al)144 141.6 S (ock directory created by)156.5 141.6 Q F1(cvs)2.5 E F0(when doing sensiti)2.5 E .3 -.15(ve c)-.25 H(hanges to the).15 E/F2 9/Times-Roman@0 SF(RCS)2.5 E F0 (source repository)2.25 E(.)-.65 E(#cvs.t\215.)108 158.4 Q/F3 10/Times-Italic@0 SF(pid)A F0 -.7(Te)144 170.4 S(mporary lock \214le for repository).7 E(.)-.65 E (#cvs.r\215.)108 187.2 Q F3(pid)A F0 2.5(Ar)144 199.2 S(ead lock.)157.05 199.2 Q(#cvs.w\215.)108 216 Q F3(pid)A F0 2.5(Aw)144 228 S(rite lock.)160.94 228 Q/F4 9/Times-Bold@0 SF(ENVIR)72 244.8 Q(ONMENT V)-.27 E(ARIABLES)-1.215 E F2(CVSR) 108 256.8 Q(OO)-.36 E(T)-.36 E F0 .498 (Should contain the full pathname to the root of the)144 268.8 R F1(cvs)2.998 E F0 .498(source repository \(where the)2.998 F F2(RCS)2.999 E F0 .499 (\214les are)2.749 F -.1(ke)144 280.8 S 3.39(pt\). This).1 F .89 (information must be a)3.39 F -.25(va)-.2 G .89(ilable to).25 F F1(cvs)3.39 E F0 .89(for most commands to e)3.39 F -.15(xe)-.15 G .889(cute; if).15 F F2 (CVSR)3.389 E(OO)-.36 E(T)-.36 E F0(is)3.139 E .876 (not set, or if you wish to o)144 292.8 R -.15(ve)-.15 G .876 (rride it for one in).15 F -.2(vo)-.4 G .877 (cation, you can supply it on the command line:).2 F(`)144 304.8 Q F1 .593 (cvs \255d)1.666 F F3(cvsr)3.093 E .593(oot cvs_command)-.45 F F1 1.666(...) 1.666 G F0 3.093('Y)C .593(ou may not need to set)295.212 304.8 R F2(CVSR)3.093 E(OO)-.36 E(T)-.36 E F0 .593(if your)2.843 F F1(cvs)3.093 E F0 .593 (binary has the)3.093 F(right path compiled in; use `)144 316.8 Q F1(cvs \255v) 1.666 E F0 2.5('t)1.666 G 2.5(od)295.522 316.8 S(isplay all compiled-in paths.) 308.022 316.8 Q F2(CVSREAD)108 333.6 Q F0 .493(If this is set,)144 345.6 R F1 (check)2.994 E(out)-.15 E F0(and)2.994 E F1(update)2.994 E F0 .494 (will try hard to mak)2.994 F 2.994(et)-.1 G .494(he \214les in your w)379.946 345.6 R .494(orking directory read-)-.1 F(only)144 357.6 Q 5(.W)-.65 G (hen this is not set, the def)178.07 357.6 Q(ault beha)-.1 E (vior is to permit modi\214cation of your w)-.2 E(orking \214les.)-.1 E F2 (RCSBIN)108 374.4 Q F0 .055(Speci\214es the full pathname where to \214nd)144 386.4 R F2(RCS)2.555 E F0 .054(programs, such as)2.305 F F1(co)2.554 E F0(\()A F1(1)A F0 2.554(\)a)C(nd)432.756 386.4 Q F1(ci)2.554 E F0(\()A F1(1)A F0 2.554 (\). If)B .054(not set, a com-)2.554 F(piled-in v)144 398.4 Q (alue is used; see the display from `)-.25 E F1(cvs \255v)1.666 E F0('.)1.666 E F2(EDIT)108 415.2 Q(OR)-.162 E F0 .576 (Speci\214es the program to use for recording log messages during)144 427.2 R F1(commit)3.076 E F0 5.576(.I)C 3.076(fn)448.336 427.2 S .577(ot set, the def) 459.742 427.2 R .577(ault is)-.1 F F1(/usr/ucb/vi)144 439.2 Q F0(.)A F4 -.45 (AU)72 456 S(THORS).45 E F0(Dick Grune)108 468 Q .192(Original author of the) 144 480 R F1(cvs)2.692 E F0 .192(shell script v)2.692 F .191(ersion posted to) -.15 F F1(comp.sour)2.691 E(ces.unix)-.18 E F0 .191(in the v)2.691 F .191 (olume6 release)-.2 F(of December)144 492 Q 2.5(,1)-.4 G 2.5(986. Credited) 205.52 492 R(with much of the)2.5 E F1(cvs)2.5 E F0 (con\215ict resolution algorithms.)2.5 E(Brian Berliner)108 508.8 Q .77 (Coder and designer of the)144 520.8 R F1(cvs)3.27 E F0 .771 (program itself in April, 1989, based on the original w)3.27 F .771 (ork done by)-.1 F(Dick.)144 532.8 Q(Jef)108 549.6 Q 2.5(fP)-.25 G(olk)130.8 549.6 Q 1.569(Helped Brian with the design of the)144 561.6 R F1(cvs)4.069 E F0 1.569(module and v)4.069 F 1.568(endor branch support and author of the)-.15 F F1(checkin)144 573.6 Q F0(\()A F1(1)A F0 2.5(\)s)C (hell script \(the ancestor of `)194.83 573.6 Q F1(cvs import)1.666 E F0('\).) 1.666 E F4(SEE ALSO)72 590.4 Q F1(ci)108 602.4 Q F0(\()A F1(1)A F0(\),)A F1(co) 4.211 E F0(\()A F1(1)A F0(\),)A F1(cvs)4.211 E F0(\()A F1(5)A F0(\),)A F1(diff) 4.211 E F0(\()A F1(1)A F0(\),)A F1(gr)4.211 E(ep)-.18 E F0(\()A F1(1)A F0(\),)A F1(mkmodules)4.211 E F0(\()A F1(1)A F0(\),)A F1(patch)4.211 E F0(\()A F1(1)A F0 (\),)A F1 -.18(rc)4.211 G(s).18 E F0(\()A F1(1)A F0(\),)A F1 -.18(rc)4.211 G (sdiff).18 E F0(\()A F1(1)A F0(\),)A F1 -.18(rc)4.211 G(smer).18 E(ge)-.1 E F0 (\()A F1(1)A F0(\),)A F1(rlog)4.211 E F0(\()A F1(1)A F0(\),)A F1(rm)108 614.4 Q F0(\()A F1(1)A F0(\),)A F1(sort)2.5 E F0(\()A F1(1)A F0(\).)A 203.72 (03:05:16 15)288.22 768 R EP %%Trailer end %%EOF usr/doc/cvs-1.3/.cvsignore100644 2122 1750 27 5107621731 14371 0ustar steinberertMakefile config.status usr/doc/cvs-1.3/COPYING100644 2122 1750 30310 4531631773 13511 0ustar steinberert GNU GENERAL PUBLIC LICENSE Version 1, February 1989 Copyright (C) 1989 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The license agreements of most software companies try to keep users at the mercy of those companies. By contrast, our General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. The General Public License applies to the Free Software Foundation's software and to any other program whose authors commit to using it. You can use it for your programs, too. When we speak of free software, we are referring to freedom, not price. Specifically, the General Public License is designed to make sure that you have the freedom to give away or sell copies of free software, that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of a such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must tell them their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any work containing the Program or a portion of it, either verbatim or with modifications. Each licensee is addressed as "you". 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this General Public License and to the absence of any warranty; and give any other recipients of the Program a copy of this General Public License along with the Program. You may charge a fee for the physical act of transferring a copy. 2. You may modify your copy or copies of the Program or any portion of it, and copy and distribute such modifications under the terms of Paragraph 1 above, provided that you also do the following: a) cause the modified files to carry prominent notices stating that you changed the files and the date of any change; and b) cause the whole of any work that you distribute or publish, that in whole or in part contains the Program or any part thereof, either with or without modifications, to be licensed at no charge to all third parties under the terms of this General Public License (except that you may choose to grant warranty protection to some or all third parties, at your option). c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the simplest and most usual way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this General Public License. d) You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. Mere aggregation of another independent work with the Program (or its derivative) on a volume of a storage or distribution medium does not bring the other work under the scope of these terms. 3. You may copy and distribute the Program (or a portion or derivative of it, under Paragraph 2) in object code or executable form under the terms of Paragraphs 1 and 2 above provided that you also do one of the following: a) accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Paragraphs 1 and 2 above; or, b) accompany it with a written offer, valid for at least three years, to give any third party free (except for a nominal charge for the cost of distribution) a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Paragraphs 1 and 2 above; or, c) accompany it with the information you received as to where the corresponding source code may be obtained. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form alone.) Source code for a work means the preferred form of the work for making modifications to it. For an executable file, complete source code means all the source code for all modules it contains; but, as a special exception, it need not include source code for modules which are standard libraries that accompany the operating system on which the executable file runs, or for standard header files or definitions files that accompany that operating system. 4. You may not copy, modify, sublicense, distribute or transfer the Program except as expressly provided under this General Public License. Any attempt otherwise to copy, modify, sublicense, distribute or transfer the Program is void, and will automatically terminate your rights to use the Program under this License. However, parties who have received copies, or rights to use copies, from you under this General Public License will not have their licenses terminated so long as such parties remain in full compliance. 5. By copying, distributing or modifying the Program (or any work based on the Program) you indicate your acceptance of this license to do so, and all its terms and conditions. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. 7. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of the license which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the license, you may choose any version ever published by the Free Software Foundation. 8. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS Appendix: How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to humanity, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 19yy This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19xx name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (a program to direct compilers to make passes at assemblers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice That's all there is to it! usr/doc/cvs-1.3/COPYING.LIB100644 2122 1750 61261 5072000524 14110 0ustar steinberert GNU LIBRARY GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the library GPL. It is numbered 2 because it goes with version 2 of the ordinary GPL.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Library General Public License, applies to some specially designated Free Software Foundation software, and to any other libraries whose authors decide to use it. You can use it for your libraries, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library, or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link a program with the library, you must provide complete object files to the recipients so that they can relink them with the library, after making changes to the library and recompiling it. And you must show them these terms so they know their rights. Our method of protecting your rights has two steps: (1) copyright the library, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the library. Also, for each distributor's protection, we want to make certain that everyone understands that there is no warranty for this free library. If the library is modified by someone else and passed on, we want its recipients to know that what they have is not the original version, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that companies distributing free software will individually obtain patent licenses, thus in effect transforming the program into proprietary software. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License, which was designed for utility programs. This license, the GNU Library General Public License, applies to certain designated libraries. This license is quite different from the ordinary one; be sure to read it in full, and don't assume that anything in it is the same as in the ordinary license. The reason we have a separate public license for some libraries is that they blur the distinction we usually make between modifying or adding to a program and simply using it. Linking a program with a library, without changing the library, is in some sense simply using the library, and is analogous to running a utility program or application program. However, in a textual and legal sense, the linked executable is a combined work, a derivative of the original library, and the ordinary General Public License treats it as such. Because of this blurred distinction, using the ordinary General Public License for libraries did not effectively promote software sharing, because most developers did not use the libraries. We concluded that weaker conditions might promote sharing better. However, unrestricted linking of non-free programs would deprive the users of those programs of all benefit from the free status of the libraries themselves. This Library General Public License is intended to permit developers of non-free programs to use free libraries, while preserving your freedom as a user of such programs to change the free libraries that are incorporated in them. (We have not seen how to achieve this as regards changes in header files, but we have achieved it as regards changes in the actual functions of the Library.) The hope is that this will lead to faster development of free libraries. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, while the latter only works together with the library. Note that it is possible for a library to be covered by the ordinary General Public License rather than by this special one. GNU LIBRARY GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Library General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also compile or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. c) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. d) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Library General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS Appendix: How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Also add information on how to contact you by electronic and paper mail. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! usr/doc/cvs-1.3/ChangeLog100644 2122 1750 62537 5171202620 14232 0ustar steinberertTue Apr 7 15:55:25 1992 Brian Berliner (berliner at sun.com) * Changes between CVS 1.3 Beta-3 and official CVS 1.3! * A new shell script is provided, "./cvsinit", which can be run at install time to help setup your $CVSROOT area. This can greatly ease your entry into CVS usage. * The INSTALL file has been updated to include the machines on which CVS has compiled successfully. I think CVS 1.3 is finally portable. Thanks to all the Beta testers! * Support for the "editinfo" file was contributed. This file (located in $CVSROOT/CVSROOT) can be used to specify a special "editor" to run on a per-directory basis within the repository, instead of the usual user's editor. As such, it can verify that the log message entered by the user is of the appropriate form (contains a bugid and test validation, for example). * The manual pages cvs(1) and cvs(5) have been updated. * The "mkmodules" command now informs you when your modules file has duplicate entries. * The "add" command now preserves any per-directory sticky tag when you add a new directory to your checked-out sources. * The "admin" command is now a fully recursive interface to the "rcs" program which operates on your checked-out sources. It no longer requires you to specify the full path to the RCS file. * The per-file sticky tags can now be effectively removed with "cvs update -A file", even if you had checked out the whole directory with a per-directory sticky tag. This allows a great deal of flexibility in managing the revisions that your checked-out sources are based upon (both per-directory and per-file sticky tags). * The "cvs -n commit" command now works, to show which files are out-of-date and will cause the real commit to fail, or which files will fail any pre-commit checks. Also, the "cvs -n import ..." command will now show you what it would've done without actually doing it. * Doing "cvs commit modules" to checkin the modules file will no properly run the "mkmodules" program (assuming you have setup your $CVSROOT/CVSROOT/modules file to do so). * The -t option in the modules file (which specifies a program to run when you do a "cvs rtag" operation on a module) now gets the symbolic tag as the second argument when invoked. * When the source repository is locked by another user, that user's login name will be displayed as the holder of the lock. * Doing "cvs checkout module/file.c" now works even if module/file.c is in the Attic (has been removed from main-line development). * Doing "cvs commit */Makefile" now works as one would expect. Rather than trying to commit everything recursively, it will now commit just the files specified. * The "cvs remove" command is now fully recursive. To schedule a file for removal, all you have to do is "rm file" and "cvs rm". With no arguments, "cvs rm" will schedule all files that have been physically removed for removal from the source repository at the next "cvs commit". * The "cvs tag" command now prints "T file" for each file that was tagged by this invocation and "D file" for each file that had the tag removed (as with "cvs tag -d"). * The -a option has been added to "cvs rtag" to force it to clean up any old, matching tags for files that have been removed (in the Attic) that may not have been touched by this tag operation. This can help keep a consistent view with your tag, even if you re-use it frequently. Sat Feb 29 16:02:05 1992 Brian Berliner (berliner at sun.com) * Changes between CVS 1.3 Beta-2 and CVS 1.3 Beta-3 * Many portability fixes, thanks to all the Beta testers! With any luck, this Beta release will compile correctly on most anything. Hey, what are we without our dreams. * CVS finally has support for doing isolated development on a branch off the current (or previous!) revisions. This is also extremely nice for generating patches for previously released software while development is progressing on the next release. Here's an example of creating a branch to fix a patch with the 2.0 version of the "foo" module, even though we are already well into the 3.0 release. Do: % cvs rtag -b -rFOO_2_0 FOO_2_0_Patch foo % cvs checkout -rFOO_2_0_Patch foo % cd foo [[ hack away ]] % cvs commit A physical branch will be created in the RCS file only when you actually commit the change. As such, forking development at some random point in time is extremely light-weight -- requiring just a symbolic tag in each file until a commit is done. To fork development at the currently checked out sources, do: % cvs tag -b Personal_Hack % cvs update -rPersonal_Hack [[ hack away ]] % cvs commit Now, if you decide you want the changes made in the Personal_Hack branch to be merged in with other changes made in the main-line development, you could do: % cvs commit # to make Personal_Hack complete % cvs update -A # to update sources to main-line % cvs update -jPersonal_Hack # to merge Personal_Hack to update your checked-out sources, or: % cvs checkout -jPersonal_Hack module to checkout a fresh copy. To support this notion of forked development, CVS reserves all even-numbered branches for its own use. In addition, CVS reserves the ".0" and ".1" branches. So, if you intend to do your own branches by hand with RCS, you should use odd-numbered branches starting with ".3", as in "1.1.3", "1.1.5", 1.2.9", .... * The "cvs commit" command now supports a fully functional -r option, allowing you to commit your changes to a specific numeric revision or symbolic tag with full consistency checks. Numeric tags are useful for bringing your sources all up to some revision level: % cvs commit -r2.0 For symbolic tags, you can only commit to a tag that references a branch in the RCS file. One created by "cvs rtag -b" or from "cvs tag -b" is appropriate (see below). * Roland Pesch and K. Richard Pixley were kind enough to contribute two new manual pages for CVS: cvs(1) and cvs(5). Most of the new CVS 1.3 features are now documented, with the exception of the new branch support added to commit/rtag/tag/checkout/update. * The -j options of checkout/update have been added. The "cvs join" command has been removed. With one -j option, CVS will merge the changes made between the resulting revision and the revision that it is based on (e.g., if the tag refers to a branch, CVS will merge all changes made in that branch into your working file). With two -j options, CVS will merge in the changes between the two respective revisions. This can be used to "remove" a certain delta from your working file. E.g., If the file foo.c is based on revision 1.6 and I want to remove the changes made between 1.3 and 1.5, I might do: % cvs update -j1.5 -j1.3 foo.c # note the order... In addition, each -j option can contain on optional date specification which, when used with branches, can limit the chosen revision to one within a specific date. An optional date is specified by adding a colon (:) to the tag, as in: -jSymbolic_Tag:Date_Specifier An example might be what "cvs import" tells you to do when you have just imported sources that have conflicts with local changes: % cvs checkout -jTAG:yesterday -jTAG module which tells CVS to merge in the changes made to the branch specified by TAG in the last 24 hours. If this is not what is intended, substitute "yesterday" for whatever format of date that is appropriate, like: % cvs checkout -jTAG:'1 week ago' -jTAG module * "cvs diff" now supports the special tags "BASE" and "HEAD". So, the command: % cvs diff -u -rBASE -rHEAD will effectively show the changes made by others (in unidiff format) that will be merged into your working sources with your next "cvs update" command. "-rBASE" resolves to the revision that your working file is based on. "-rHEAD" resolves to the current head of the branch or trunk that you are working on. * The -P option of "cvs checkout" now means to Prune empty directories, as with "update". The default is to not remove empty directories. However, if you do "checkout" with any -r options, -P will be implied. I.e., checking out with a tag will cause empty directories to be pruned automatically. * The new file INSTALL describes how to install CVS, including detailed descriptions of interfaces to "configure". * The example loginfo file in examples/loginfo has been updated to use the perl script included in contrib/log.pl. The nice thing about this log program is that it records the revision numbers of your change in the log message. Example files for commitinfo and rcsinfo are now included in the examples directory. * All "#if defined(__STDC__) && __STDC__ == 1" lines have been changed to be "#if __STDC__" to fix some problems with the former. * The lib/regex.[ch] files have been updated to the 1.3 release of the GNU regex package. * The ndbm emulation routines included with CVS 1.3 Beta-2 in the src/ndbm.[ch] files has been moved into the src/myndbm.[ch] files to avoid any conflict with the system header file. If you had a previous CVS 1.3 Beta release, you will want to "cvs remove ndbm.[ch]" form your copy of CVS as well. * "cvs add" and "cvs remove" are a bit more verbose, telling you what to do to add/remove your file permanently. * We no longer mess with /dev/tty in "commit" and "add". * More things are quiet with the -Q option set. * New src/config.h option: If CVS_BADROOT is set, CVS will not allow people really logged in as "root" to commit changes. * "cvs diff" exits with a status of 0 if there were no diffs, 1 if there were diffs, and 2 if there were errors. * "cvs -n diff" is now supported so that you can still run diffs even while in the middle of committing files. * Handling of the CVS/Entries file is now much more robust. * The default file ignore list now includes "*.so". * "cvs import" did not expand '@' in the log message correctly. It does now. Also, import now uses the ignore file facility correctly. Import will now tell you whether there were conflicts that need to be resolved, and how to resolve them. * "cvs log" has been changed so that you can "log" things that are not a part of the current release (in the Attic). * If you don't change the editor message on commit, CVS now prompts you with the choice: !)reuse this message unchanged for remaining dirs which allows you to tell CVS that you have no intention of changing the log message for the remainder of the commit. * It is no longer necessary to have CVSROOT set if you are using the -H option to get Usage information on the commands. * Command argument changes: checkout: -P handling changed as described above. New -j option (up to 2 can be specified) for doing rcsmerge kind of things on checkout. commit: -r option now supports committing to a numeric or symbolic tags, with some restrictions. Full consistency checks will be done. Added "-f logfile" option, which tells commit to glean the log message from the specified file, rather than invoking the editor. rtag: Added -b option to create a branch tag, useful for creating a patch for a previous release, or for forking development. tag: Added -b option to create a branch tag, useful for creating a patch for a previous release, or for forking development. update: New -j option (up to 2 can be specified) for doing rcsmerge kind of things on update. Thu Jan 9 10:51:35 MST 1992 Jeff Polk (polk at BSDI.COM) * Changes between CVS 1.3 Beta-1 and CVS 1.3 Beta-2 * Thanks to K. Richard Pixley at Cygnus we now have function prototypes in all the files * Some small changes to configure for portability. There have been other portability problems submitted that have not been fixed (Brian will be working on those). Additionally all __STDC__ tests have been modified to check __STDC__ against the constant 1 (this is what the Second edition of K&R says must be true). * Lots of additional error checking for forked processes (run_exec) (thanks again to K. Richard Pixley) * Lots of miscellaneous bug fixes - including but certainly not limited to: various commit core dumps various update core dumps bogus results from status with numeric sticky tags commitprog used freed memory Entries file corruption caused by No_Difference commit to revision broken (now works if branch exists) ignore file processing broken for * and ! ignore processing didn't handle memory reasonably miscellaneous bugs in the recursion processor file descriptor leak in ParseInfo CVSROOT.adm->CVSROOT rename bug lots of lint fixes * Reformatted all the code in src (with GNU indent) and then went back and fixed prototypes, etc since indent gets confused. The rationale is that it is better to do it sooner than later and now everything is consistent and will hopefully stay that way. The basic options to indent were: "-bad -bbb -bap -cdb -d0 -bl -bli0 -nce -pcs -cs -cli4 -di1 -nbc -psl -lp -i4 -ip4 -c41" and then miscellaneous formatting fixes were applied. Note also that the "-nfc1" or "-nfca" may be appropriate in files where comments have been carefully formatted (e.g, modules.c). Sat Dec 14 20:35:22 1991 Brian Berliner (berliner at sun.com) * Changes between CVS 1.2 and CVS 1.3 Beta are described here. * Lots of portability work. CVS now uses the GNU "configure" script to dynamically determine the features provided by your system. It probably is not foolproof, but it is better than nothing. Please let me know of any portability problems. Some file names were changed to fit within 14-characters. * CVS has a new RCS parser that is much more flexible and extensible. It should read all known RCS ",v" format files. * Most of the commands now are fully recursive, rather than just operating on the current directory alone. This includes "commit", which makes it real easy to do an "atomic" commit of all the changes made to a CVS hierarchy of sources. Most of the commands also correctly handle file names that are in directories other than ".", including absolute path names. Commands now accept the "-R" option to force recursion on (though it is always the default now) and the "-l" option to force recursion off, doing just "." and not any sub-directories. * CVS supports many of the features provided with the RCS 5.x distribution - including the new "-k" keyword expansion options. I recommend using RCS 5.x (5.6 is the current official RCS version) and GNU diff 1.15 (or later) distributions with CVS. * Checking out files with symbolic tags/dates is now "sticky", in that CVS remembers the tag/date used for each file (and directory) and will use that tag/date automatically on the next "update" call. This stickyness also holds for files checked out with the the new RCS 5.x "-k" options. * The "cvs diff" command now recognizes all of the rcsdiff 5.x options. Unidiff format is available by installing the GNU diff 1.15 distribution. * The old "CVS.adm" directories created on checkout are now called "CVS" directories, to look more like "RCS" and "SCCS". Old CVS.adm directories are automagically converted to CVS directories. The old "CVSROOT.adm" directory within the source repository is automagically changed into a "CVSROOT" directory as well. * Symbolic links in the source repository are fully supported ONLY if you use RCS 5.6 or later and (of course) your system supports symlinks. * A history database has been contributed which maintains the history of certain CVS operations, as well as providing a wide array of querying options. * The "cvs" program has a "-n" option which can be used with the "update" command to show what would be updated without actually doing the update, like: "cvs -n update". All usage statements have been cleaned up and made more verbose. * The module database parsing has been rewritten. The new format is compatible with the old format, but with much more functionality. It allows modules to be created that grab pieces or whole directories from various different parts of your source repository. Module-relative specifications are also correctly recognized now, like "cvs checkout module/file.c". * A configurable template can be specified such that on a "commit", certain directories can supply a template that the user must fill before completing the commit operation. * A configurable pre-commit checking program can be specified which will run to verify that a "commit" can happen. This feature can be used to restrict certain users from changing certain pieces of the source repository, or denying commits to the entire source repository. * The new "cvs export" command is much like "checkout", but establishes defaults suitable for exporting code to others (expands out keywords, forces the use of a symbolic tag, and does not create "CVS" directories within the checked out sources. * The new "cvs import" command replaces the deprecated "checkin" shell script and is used to import sources into CVS control. It is also much faster for the first-time import. Some algorithmic improvements have also been made to reduce the number of conflicting files on next-time imports. * The new "cvs admin" command is basically an interface to the "rcs" program. (Not yet implemented very well). * Signal handling (on systems with BSD or POSIX signals) is much improved. Interrupting CVS now works with a single interrupt! * CVS now invokes RCS commands by direct fork/exec rather than calling system(3). This improves performance by removing a call to the shell to parse the arguments. * Support for the .cvsignore file has been contributed. CVS will now show "unknown" files as "? filename" as the result of an "update" command. The .cvsignore file can be used to add files to the current list of ignored files so that they won't show up as unknown. * Command argument changes: cvs: Added -l to turn off history logging. Added -n to show what would be done without actually doing anything. Added -q/-Q for quiet and really quiet settings. Added -t to show debugging trace. add: Added -k to allow RCS 5.x -k options to be specified. admin: New command; an interface to rcs(1). checkout: Added -A to reset sticky tags/date/options. Added -N to not shorten module paths. Added -R option to force recursion. Changed -p (prune empty directories) to -P option. Changed -f option; forcing tags match is now default. Added -p option to checkout module to standard output. Added -s option to cat the modules db with status. Added -d option to checkout in the specified directory. Added -k option to use RCS 5.x -k support. commit: Removed -a option; use -l instead. Removed -f option. Added -l option to disable recursion. Added -R option to force recursion. If no files specified, commit is recursive. diff: Now recognizes all RCS 5.x rcsdiff options. Added -l option to disable recursion. Added -R option to force recursion. history: New command; displays info about CVS usage. import: Replaces "checkin" shell script; imports sources under CVS control. Ignores files on the ignore list (see -I option or .cvsignore description above). export: New command; like "checkout", but w/special options turned on by default to facilitate exporting sources. join: Added -B option to join from base of the branch; join now defaults to only joining with the top two revisions on the branch. Added -k option for RCS 5.x -k support. log: Supports all RCS 5.x options. Added -l option to disable recursion. Added -R option to force recursion. patch: Changed -f option; forcing tags match is now default. Added -c option to force context-style diffs. Added -u option to support unidiff-style diffs. Added -V option to support RCS specific-version keyword expansion formats. Added -R option to force recursion. remove: No option changes. It's a bit more verbose. rtag: Equivalent to the old "cvs tag" command. No option changes. It's a lot faster for re-tag. status: New output formats with more information. Added -l option to disable recursion. Added -R option to force recursion. Added -v option to show symbolic tags for files. tag: Functionality changed to tag checked out files rather than modules; use "rtag" command to get the old "cvs tag" behaviour. update: Added -A to reset sticky tags/date/options. Changed -p (prune empty directories) to -P option. Changed -f option; forcing tags match is now default. Added -p option to checkout module to standard output. Added -I option to add files to the ignore list. Added -R option to force recursion. Major Contributors: * Jeff Polk rewrote most of the grody code of CVS 1.2. He made just about everything dynamic (by using malloc), added a generic hashed list manager, re-wrote the modules database parsing in a compatible - but extended way, generalized directory hierarchy recursion for virtually all the commands (including commit!), generalized the loginfo file to be used for pre-commit checks and commit templates, wrote a new and flexible RCS parser, fixed an uncountable number of bugs, and helped in the design of future CVS features. If there's anything gross left in CVS, it's probably my fault! * David G. Grubbs contributed the CVS "history" and "release" commands. As well as the ever-so-useful "-n" option of CVS which tells CVS to show what it would do, without actually doing it. He also contributed support for the .cvsignore file. * Paul Sander, HaL Computer Systems, Inc. wrote and contributed the code in lib/sighandle.c. I added support for POSIX, BSD, and non-POSIX/non-BSD systems. * Free Software Foundation contributed the "configure" script and other compatibility support in the "lib" directory, which will help make CVS much more portable. * Many others have contributed bug reports and enhancement requests. Some have even submitted actual code which I have not had time yet to integrate into CVS. Maybe for the next release. * Thanks to you all! Wed Feb 6 10:10:58 1991 Brian Berliner (berliner at sun.com) * Changes from CVS 1.0 Patchlevel 1 to CVS 1.0 Patchlevel 2; also known as "Changes from CVS 1.1 to CVS 1.2". * Major new support with this release is the ability to use the recently-posted RCS 5.5 distribution with CVS 1.2. See below for other assorted bug-fixes that have been thrown in. * ChangeLog (new): Added Emacs-style change-log file to CVS 1.2 release. Chronological description of changes between release. * README: Small fixes to installation instructions. My email address is now "berliner@sun.com". * src/Makefile: Removed "rcstime.h". Removed "depend" rule. * src/partime.c: Updated to RCS 5.5 version with hooks for CVS. * src/maketime.c: Updated to RCS 5.5 version with hooks for CVS. * src/rcstime.h: Removed from the CVS 1.2 distribution. Thanks to Paul Eggert for these changes. * src/checkin.csh: Support for RCS 5.5 parsing. Thanks to Paul Eggert for this change. * src/collect_sets.c (Collect_Sets): Be quieter if "-f" option is specified. When checking out files on-top-of other files that CVS doesn't know about, run a diff in the hopes that they are really the same file before aborting. * src/commit.c (branch_number): Fix for RCS 5.5 parsing. Thanks to Paul Eggert for this change. * src/commit.c (do_editor): Bug fix - fprintf missing argument which sometimes caused core dumps. * src/modules.c (process_module): Properly NULL-terminate update_dir[] in all cases. * src/no_difference.c (No_Difference): The wrong RCS revision was being registered in certain (strange) cases. * src/patch.c (get_rcsdate): New algorithm. No need to call maketime() any longer. Thanks to Paul Eggert for this change. * src/patchlevel.h: Increased patch level to "2". * src/subr.c (isdir, islink): Changed to compare stat mode bits correctly. * src/tag.c (tag_file): Added support for following symbolic links that are in the master source repository when tagging. Made tag somewhat quieter in certain cases. * src/update.c (update_process_lists): Unlink the user's file if it was put on the Wlist, meaning that the user's file is not modified and its RCS file has been removed by someone else. * src/update.c (update): Support for "cvs update dir" to correctly just update the argument directory "dir". * src/cvs.h: Fixes for RCS 5.5 parsing. * src/version_number.c (Version_Number): Fixes for parsing RCS 5.5 and older RCS-format files. Thanks to Paul Eggert for these changes. * src/version_number.c (Version_Number): Bug fixes for "-f" option. Bug fixes for parsing with certain branch numbers. RCS revision/symbol parsing is much more solid now. Wed Feb 14 10:01:33 1990 Brian Berliner (berliner at sun.com) * Changes from CVS 1.0 Patchlevel 0 to CVS 1.0 Patchlevel 1; also known as "Changes from CVS 1.0 to CVS 1.1". * src/patch.c (get_rcsdate): Portability fix. Replaced call to timelocal() with call to maketime(). Mon Nov 19 23:15:11 1990 Brian Berliner (berliner at prisma.com) * Sent CVS 1.0 release to comp.sources.unix moderator and FSF. * Special thanks to Dick Grune for his work on the 1986 version of CVS and making it available to the world. Dick's version is available on uunet.uu.net in the comp.sources.unix/volume6/cvs directory. @(#)ChangeLog 1.17 92/04/10 usr/doc/cvs-1.3/INSTALL100644 2122 1750 23624 5171362526 13517 0ustar steinberertFirst, read the README file. If you're still happy... The CVS 1.3 Beta testers (bless their hearts) verified that CVS compiled correctly on the following platforms: 386 running Interactive Unix ISC 2.2.1 386 running SCO Xenix 386, 2.3.2 ATT 3B2 running System VR3 (*) Altos running Altos Unix v5.3a System V/386 R3.2 (**) Atari/ST (2.5MB) running Minix 1.6.16 Cray X-MP running Unicos 6.1 DEC 3100 running Ultrix 4.0 Decstation 5000/200 running Ultrix 4.0, 4.1 (***), 4.2 Gateway2000 486/33C (486@33MHZ) running BSDI BSD/386 0.3 (Beta) HP 9000/360 running HP-UX 6.5 HP 9000/710 running HP-UX 8.07 HP 9000/730 running HP-UX 8.05 HP PA-RISC 800 running HP-UX 8.01 IBM RS/6000 running AIX 3.1, 3.2 Motorola 68030 running a System 5.3.2 derivative Motorola VME187 running SYSVR3 Motorola 88100 running R32V3 NEC EWS4800 running System VR4.0.2 NeXT 68040 running NeXT Mach 2.1 Omron Luna running UNIOS-B 4.3BSD 1.60 SGI Iris 4D running Irix 3.3.2 (****), Irix 4.0.1, Irix 4.0.2C Sony NEWS Workstation running NEWS-OS 4.0C Sumitomo Ustation running SEIUX3.2 Sun-3 running SunOS 4.0.3, 4.1, 4.1.1 Sun-386i running SunOS 4.0.2 Sun-4/Sun-4c/Sun-4m running SunOS 4.1.1, 4.1.2, Solaris 2.0 (*) On the ATT 3B2, "tr" was not available (?). (**) The Altos system and had problems compiling lib/regex.c. (***) Ultrix 4.1 apparently has a nasty compiler/linker that doesn't work well with the CVS "configure" script. You will need to add fnmatch.o to the OBJECTS macro in lib/Makefile for CVS to compile on this system. (****) It has been reported that SGI machines running Irix 3.3.2 may hang during "cvs add" and leave an un-killable process. If you experience this, you can define "FSYNC_MISSING", re-compile src/subr.o and the problem should go away. This appears not to be a problem in Irix 4.0.1. CVS had some problems compiling/running on the following machines: None! NOTE: CVS relies on having some form of the opendir/readdir/closedir functions being available. Some older systems do not support these calls. CVS will not work with these systems unless a suitable readdir implementation is installed on the system. Take a look at the file "contrib/dirfns", which contains some code that might add this support to your system. ------------------------------------------------------------------------------- Installation: 1) Edit the src/config.h header file. Appropriate things to look at may be the invocation locations of programs like DIFF, GREP, RM, and SORT. Also glance at the default values for the environment variables that CVS uses, in particular, the RCSBIN variable, which holds the path to where the RCS programs live on your system. The likelihood is that you don't have to change anything here, except perhaps adding the -a option to DIFF if you are using GNU diff (which is recommended). 2) Run "configure": $ ./configure You can specify an alternate destination to override the default with the --prefix option: $ ./configure --prefix=/usr/local/gnu or some path that is more appropriate for your site. The default prefix value is "/usr/local", with binaries in sub-directory "bin", manual pages in sub-directory "man", and libraries in sub-directory "lib". "configure" tries to use "gcc -g -O" first. If that doesn't work, it will try to use "cc -g -O". If that doesn't work, it uses "cc -g". To override this, simply specify the options in the CC environment variable: $ CC="cc -O" ./configure for sh, bash, or ksh shell users or: % setenv CC "cc -O" % ./configure for csh, tcsh shell users. NOTE ON CVS's USE OF NDBM: By default, CVS uses some built-in ndbm emulation code to allow CVS to work in a heterogeneous environment. However, if you have a very large modules database, this may not work well. You will need to edit src/config.h to turn off the MY_NDBM #define and re-run configure. If you do this, the following comments apply. If not, you may safely skip these comments. If you configure CVS to use the real ndbm(3) libraries and you do not have them installed in a "normal" place, you will probably want to get the GNU version of ndbm (gdbm) and install that before running the CVS configure script. Be aware that the GDBM 1.5 release does NOT install the header file included with the release automatically. You may have to install it by hand. If you configure CVS to use the ndbm(3) libraries, you cannot compile CVS with GNU cc (gcc) on Sun-4 SPARC systems. However, gcc 2.0 may have fixed this limitation if -fpcc-struct-return is defined. When using gcc on other systems to compile CVS, you *may* need to specify the -fpcc-struct-return option to gcc (you will *know* you have to if "cvs checkout" core dumps in some ndbm function). You can do this as follows: $ CC=gcc DEFS=-fpcc-struct-return ./configure for sh, bash, and ksh users and: % setenv CC gcc % setenv DEFS -fpcc-struct-return % ./configure for csh and tcsh users. END OF NOTE FOR NDBM GUNK. This release of CVS also requires RCS commands to be installed in the user's PATH (or a path you have configured in src/config.h). If you don't have RCS, you will need to get it from GNU as well. It is best to get the version 5.6 (or later) version of RCS, available from prep.ai.mit.edu in the file pub/gnu/rcs-5.6.tar.Z. Along with RCS, you will want to run GNU diff. This will allow revision control of files with binary data (a real nice feature). You will need at least version 1.15 of GNU diff for this to work. 3) Try to build it: $ make This will (hopefully) make the needed CVS binaries within the "src" directory. Send me your "config.status" file with your host type, operating system information, and make output if something fails for your system. 4) Install the binaries/documentation: $ make install Depending on your installation's configuration, you may need to be root to do this. 5) Take a look at the CVS manual page. $ man cvs See what it can do for you, and if it fits your environment (or can possibly be made to fit your environment). If things look good, continue on... 6) Setup the master source repository. Choose a directory with ample disk space available for source files. This is where the RCS ",v" files will be stored. Note that this should be some shared directory for your site. It should probably be auto-mounted, if you're running NFS. Say you choose "/src/master" as the root of your source repository. Run the "cvsinit" script to help you set it up. It will ask you to enter the path to your CVSROOT area. You would enter /src/master in this example. $ ./cvsinit The cvsinit script will setup a reasonable CVSROOT area to start with. It is also valuable to folks who already have a CVSROOT area setup from using earlier releases of CVS. It assumes that you have installed CVS already (step 4) and that the RCS programs (co and ci) are in your PATH. There are many ways to customize CVS for your site. Read the cvs(5) manual page when you get the chance. 7) Have all users of the CVS system set the CVSROOT environment variable appropriately to reflect the placement of your source repository. If the above example is used, the following commands can be placed in user's ~/.profile, ~/.bash_profile, or ~/.login file: CVSROOT=/src/master; export CVSROOT for sh/bash/ksh users, or setenv CVSROOT /src/master for csh/tcsh users. If these environment variables are not already set in your current shell, set them now (or source the login script you just edited). You will need to have the CVSROOT environment variable set to continue on to the next step. 8) It might be a good idea to jump right in and put the CVS distribution directly under CVS control. From within the top-level directory of the CVS distribution (the one that contains this README file) do the following commands: $ make realclean $ cvs import -m 'CVS 1.3 distribution' cvs CVS CVS1_3 9) Having done step 8, one should be able to checkout a fresh copy of the CVS distribution and hack away at the sources with the following command: $ cd $ cvs checkout cvs This will make the directory "cvs" in your current directory and populate it with the appropriate CVS files and directories. 10) Remember to edit the modules file manually when sources are checked in with "cvs import" or "cvs add". A copy of the modules file for editing can usually be retrieved with the "cvs checkout modules" command, and definitely with the "cvs checkout CVSROOT" command. See cvs(5). 11) Read the ChangeLog file to see what's new. REALLY! I use the ChangeLog file as the Release Notes. 12) Hack away. ------------------------------------------------------------------------------- Detailed info about your interaction with "configure": The "configure" script and its interaction with its options and the environment is described here. Supported options are: --srcdir=DIR Useful for compiling on many different machines sharing one source tree. --prefix=DIR The root of where to install the various pieces of CVS (/usr/local). --exec_prefix=DIR If you want executables in a host-dependent place and shared things in a host-independent place. The following environment variables override configure's default behaviour: CC If not set, tries to use gcc first, then cc. Also tries to use "-g -O" as options, backing down to -g alone if that doesn't work. INSTALL If not set, tries to use "install", then "cp" as a final choice. RANLIB If not set, tries to determine if "ranlib" is available, choosing "echo" if it doesn't appear to be. YACC If not set, tries to determine if "bison" is available, choosing "yacc" if it doesn't appear to be. ------------------------------------------------------------------------------- usr/doc/cvs-1.3/Makefile.in100644 2122 1750 14266 5171360570 14532 0ustar steinberert# Master Makefile for the GNU Concurrent Versions System. # Copyright (C) 1986, 1988-1992 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # @(#)Makefile.in 1.17 92/04/10 SHELL = /bin/sh #### Start of system configuration section. #### srcdir = @srcdir@ @VPATH@ # If you use gcc, you should either run the fixincludes script that # comes with it or else use gcc with the -traditional option. Otherwise # ioctl calls will be compiled incorrectly on some systems. CC = @CC@ AR = ar # Older makes don't set $(MAKE), so we set it for them. MAKE = make # Set RANLIB = echo if your system doesn't have or need ranlib. RANLIB = @RANLIB@ # Set YACC = bison or yacc, depending on which you have on your system YACC = @YACC@ # Use cp if you don't have install. INSTALL = @INSTALL@ INSTALLDATA = @INSTALLDATA@ # Things you might add to DEFS: # -DSTDC_HEADERS If you have ANSI C headers and libraries. # -DPOSIX If you have POSIX.1 headers and libraries. # Also need to define -DDIRENT. # -DUSG If you have System V/ANSI C string and # memory functions and headers, ndir.h, # sys/sysmacros.h, no sys/times.h, fcntl.h, # getcwd. # -DSIGTYPE=int If your signal handlers return int, not void. # -DDIRENT If you have dirent.h. # -DSYSNDIR Old Xenix systems (selects sys/ndir.h). # -DNDIR Uses instead od . # -Duid_t=int If does not define uid_t. # -Dgid_t=int If does not define gid_t. # -Dmode_t=int If does not define mode_t. # -Dsize_t=int If does not define size_t. # -D__CHAR_UNSIGNED__ If type `char' is unsigned. # -DTM_IN_SYS_TIME If does not define struct tm. # -DFCHMOD_MISSING If you lack fchmod system call. # -DFSYNC_MISSING If you lack fsync system call. # -DFTIME_MISSING If you lack ftime function. # -DMKFIFO_MISSING If you lack mkfifo system call, but have FIFOs. # -DPUTENV_MISSING If you lack putenv function. # -DSTRERROR_MISSING If you lack strerror function. # -DSETVBUF_MISSING If you lack setvbuf function. # -DVFORK_MISSING If you lack vfork system call. # -DVPRINTF_MISSING If you lack vprintf function (but have _doprnt). # -DDOPRNT_MISSING If you lack _doprnt function. Also need to define # -DVPRINTF_MISSING. # -DTIMEB_H_MISSING If you don't have a include file. # -DHAVE_TIMEZONE If you lack ftime, but do have a timezone function. # -DBSD_SIGNALS If you lack POSIX signals, but have BSD signals. # -DFTRUNCATE_MISSING If you lack ftruncate system call. # -DUTIME_NULL_MISSING If your utime system call does not use the # current time when passed a null time pointer. # -DMVDIR=libdir/mvdir If you lack rename system call. DEFS = @DEFS@ LIBS = @LIBS@ LIBPROGS = @LIBPROGS@ CDEBUG = @CDEBUG@ INCLUDES = -I. -I../lib @includeopt@ CFLAGS = $(CDEBUG) $(DEFS) $(INCLUDES) LDFLAGS = $(CDEBUG) prefix = @prefix@ exec_prefix = @exec_prefix@ # Where to install the executables. bindir = $(exec_prefix)/bin # Where to put the system-wide .cvsrc file libdir = $(prefix)/lib # Where to put the manual pages. mandir = $(prefix)/man #### End of system configuration section. #### MDEFINES = bindir='$(bindir)' libdir='$(libdir)' mandir='$(mandir)' \ INSTALL='$(INSTALL)' INSTALLDATA='$(INSTALLDATA)' \ LIBS='$(LIBS)' LIBPROGS='$(LIBPROGS)' MAKE='$(MAKE)' \ AR='$(AR)' RANLIB='$(RANLIB)' \ YACC='$(YACC)' CFLAGS='$(CFLAGS)' LDFLAGS='$(LDFLAGS)' LIBS='$(LIBS)' \ CC='$(CC)' INCLUDES='$(INCLUDES)' DEFS='$(DEFS)' DISTFILES = COPYING COPYING.LIB ChangeLog INSTALL Makefile.in README TODO configure # Subdirectories to run make in for the primary targets. SUBDIRS = lib src man doc examples contrib # Only make TAGS/tags files in these directories, in this order TSUBDIRS= src lib all: @for dir in $(SUBDIRS); do echo making $@ in $$dir; cd $$dir; $(MAKE) $(MDEFINES) $@ || exit 1; cd ..; done .PHONY: all info: clean-info: install-info: install: @for dir in $(SUBDIRS); do echo making $@ in $$dir; cd $$dir; $(MAKE) $(MDEFINES) $@ || exit 1; cd ..; done .PHONY: install tags: @for dir in $(TSUBDIRS); do echo making $@ in $$dir; cd $$dir; $(MAKE) $(MDEFINES) $@ || exit 1; cd ..; done @echo making $@ in . @ctags `for i in \`$(MAKE) SUBDIRS="$(TSUBDIRS)" ls\` ; do echo $(srcdir)/$$i ; done` .PHONY: tags TAGS: @for dir in $(TSUBDIRS); do echo making $@ in $$dir; cd $$dir; $(MAKE) $(MDEFINES) $@ || exit 1; cd ..; done @echo making $@ in . @etags `for i in \`$(MAKE) SUBDIRS="$(TSUBDIRS)" ls\` ; do echo $(srcdir)/$$i ; done` ls: @echo $(DISTFILES) @for dir in $(SUBDIRS); do \ for i in `cd $$dir; $(MAKE) $(MDEFINES) $@` ; do \ echo $$dir/$$i ; \ done ; \ done .PHONY: ls clean: @for dir in $(SUBDIRS); do echo making $@ in $$dir; cd $$dir; $(MAKE) $(MDEFINES) $@ || exit 1; cd ..; done .PHONY: clean distclean: @for dir in $(SUBDIRS); do echo making $@ in $$dir; cd $$dir; $(MAKE) $(MDEFINES) $@ || exit 1; cd ..; done rm -f Makefile config.status tags TAGS .PHONY: distclean realclean: @for dir in $(SUBDIRS); do echo making $@ in $$dir; cd $$dir; $(MAKE) $(MDEFINES) $@ || exit 1; cd ..; done rm -f Makefile config.status tags TAGS .PHONY: realclean saber: @for dir in $(SUBDIRS); do cd $$dir; $(MAKE) $(MDEFINES) $@ || exit 1; cd ..; done .PHONY: saber lint: @for dir in $(SUBDIRS); do cd $$dir; $(MAKE) $(MDEFINES) xlint || exit 1; cd ..; done .PHONY: lint dist: echo cvs-`sed -e '/version_string/!d' -e 's/[^0-9.]*\([0-9.]*\).*/\1/' -e q src/version.c` > .fname rm -rf `cat .fname` mkdir `cat .fname` ln $(DISTFILES) `cat .fname` for dir in $(SUBDIRS); do mkdir `cat .fname`/$$dir; cd $$dir; $(MAKE) $@; cd ..; done tar chZf `cat .fname`.tar.Z `cat .fname` rm -rf `cat .fname` .fname usr/doc/cvs-1.3/README100644 2122 1750 23701 5171362530 13335 0ustar steinberert@(#)README 1.23 92/04/10 CVS Kit, Version 1.3 Copyright (c) 1992 Brian Berliner and Jeff Polk Copyright (c) 1989-1992, Brian Berliner All Rights Reserved This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ------------------------------------------------------------------------------- CVS is a freely available collection of programs that provide for software release and revision control functions in a UNIX environment. It is designed to work on top of the RCS distribution, V4 and later. CVS does understand how to parse older RCS formats, but cannot do any of the fancier features (like vendor branch support) without RCS branch support. Short blurb from the manual page (larger blurb is included there): cvs is a front end to the rcs(1) revision control system which extends the notion of revision control from a collec- tion of files in a single directory to a hierarchical col- lection of directories consisting of revision controlled files. These directories and files can be combined together to form a software release. cvs provides the functions necessary to manage these software releases and to control the concurrent editing of source files among multiple software developers. And a whole lot more. See the man/cvs.1 file for more information. ------------------------------------------------------------------------------- Special note to current CVS 1.0 and CVS 1.2 users: --> You can skip this section and go straight to "Installation" if you <-- --> have not been running any previous releases of CVS. <-- The location of CVS administrative files has changed both for checked out files and administrative files in the $CVSROOT. For checked out files the old directory created was named "CVS.adm". The new directory is now named "CVS". This release will take care to convert your old CVS.adm directories into CVS directories when you first execute CVS 1.3 within the directory. Also, the CVS/Entries file has changed format with this release, to support the added functionality. The format is changed automagically when CVS notices that your Entries file is in the old format. No tools are provided for going back to the old formats, though. So, be sure that CVS 1.3 is working at your site before you unleash it on your unsuspecting users! Remember, this is an unsupported product, after all :-). Within the source repository ($CVSROOT) the administrative files were kept in the "CVSROOT.adm" directory. They are now kept within the "CVSROOT" directory. Again, CVS 1.3 will attempt to rename the directory to CVSROOT when it is first run. If you wish to run with CVS 1.3 and older CVS releases for some time, you can make a symbolic link (after the rename has occurred) so that the older CVS binaries will continue to work: $ ln -s CVSROOT $CVSROOT/CVSROOT.adm While CVS automagically renames the directory within $CVSROOT, it does *not* rename any CVS/Repository pointers for checked out files. So, if you had the modules file checked out based on CVS 1.2, you will need to fix the CVS/Repository file by hand for CVS 1.3. The file formats within $CVSROOT/CVSROOT are the same right now. But, CVS 1.3 has extended the modules format, which will break CVS 1.2 if you are running them both. I suggest upgrading your entire network to CVS 1.3 as soon as possible (once you have tested it, of course). ==> See the ChangeLog file in this directory to get a feel for what has ==> changed since the CVS 1.2 release. There is a lot there. Finally, I do NOT recommend importing this CVS release on top of your existing CVS 1.0 or CVS 1.2 release. There have been too many changes to even bother with trying to use CVS for the merge. Instead, if you have made local hacks to CVS, do: $ cvs patch -rCVS1_2 cvs > cvs.local.hacks Then move your CVS 1.0 or CVS 1.2 sources to a backup area with: $ mv $CVSROOT/cvs $CVSROOT/cvs.old Then follow the instructions below. When you are done installing the new CVS, you can merge your hacks in (with patch or by hand) into your new CVS 1.3 sources. If you have already imported the CVS 1.3 ALPHA or CVS 1.3 BETA release, you are welcome to import this CVS 1.3 release on top of that. ------------------------------------------------------------------------------- Please read the INSTALL file for installation instructions. Brief summary: $ ./configure $ make $ make install $ ./cvsinit ------------------------------------------------------------------------------- Mailing Lists: I have setup the following mailing list for CVS users and other interested parties. I have no idea what kind of volume will be generated on this list. Nor can I guarantee to personally respond to questions posted to the list. Anyway, the mailing list is: info-cvs-request@prep.ai.mit.edu Requests for addition to or removal from the mailing list must be sent to this address. Problems with the list (like bounced mail) should also be sent here. Please be specific about your email address. info-cvs@prep.ai.mit.edu Questions, bugs, porting problems, hints, or whatever can be sent to this address. ------------------------------------------------------------------------------- Credits: The conflict-resolution algorithms and much of the administrative file definitions of CVS were based on the original package written by Dick Grune at Vrije Universiteit in Amsterdam , and posted to comp.sources.unix in the volume 6 release sometime in 1986. This original version was a collection of shell scripts. I am thankful that Dick made his work available. Brian Berliner from Prisma, Inc. (now at Sun Microsystems, Inc.) converted the original CVS shell scripts into reasonably fast C and added many, many features to support software release control functions. See the manual page in the "man" directory. A copy of the USENIX article presented at the Winter 1990 USENIX Conference, Washington D.C., is included in the "doc" directory. Jeff Polk from BSDI converted the CVS 1.2 sources into much more readable and maintainable C code. He also added a whole lot of functionality and modularity to the code in the process. See the ChangeLog file. David G. Grubbs contributed the CVS "history" and "release" commands. As well as the ever-so-useful "-n" option of CVS which tells CVS to show what it would do, without actually doing it. He also contributed support for the .cvsignore file. The Free Software Foundation (GNU) contributed most of the portability framework that CVS now uses. This can be found in the "configure" script, the Makefile's, and basically most of the "lib" directory. K. Richard Pixley, Cygnus Support contributed many bug fixes/enhancement as well as completing early reviews of the CVS 1.3 manual pages. Roland Pesch, Cygnus Support contributed brand new cvs(1) and cvs(5) manual pages. We should all thank him for saving us from my poor use of our language! Paul Sander, HaL Computer Systems, Inc. wrote and contributed the code in lib/sighandle.c. I added support for POSIX, BSD, and non-POSIX/non-BSD systems. In addition to the above contributors, the following Beta testers deserve special mention for their support. If I have left off your name, I apologize. Just write to me and let me know. Adam Stoller Al Gaspar Arnold Goldberg Bob Forrest Brett Bergquist Carl Schaefer Charlie Xiaoli Huang Chris Moran Christopher C. Powell D. Jason Penney David C. Martin David C. Martin David Hampton David Keaton Francois Felix Ingrand George C. Hwa Greg Onufer , Jeffrey P. Bakke Jeffry Scott , John Clyne John Lagrue John P. Rouillard Josh Siegel Kent Williams Lee E. Busby Lee Iverson Les Pennington Matthew Kwan Michael Batchelor Patrick Smith Paul Eggert Per Cederqvist Ray Essick Rich Mayfield Rob Savoye Robert A. Osborne Rusty Carruth Sam Drake Stephan Fruehauf Teemu Torma Walter F. Hartheimer Many contributors have added code to the "contrib" directory. See the README file there for a list of what is available. There is also a contributed GNU Emacs CVS-mode in contrib/pcl-cvs. ------------------------------------------------------------------------------- Jeff Polk polk@BSDI.COM Brian Berliner berliner@Sun.COM usr/doc/cvs-1.3/TODO100644 2122 1750 53407 5171362532 13155 0ustar steinberert@(#)TODO 1.22 92/04/10 14. Pathname stripper, for checkout, as well as for writing the Repository file. [[ I have a simple one, but need to make sure to call it at all the appropriate points ]] 16. List of current users of a directory needs to be maintained. [[ sort of solved by history database ]] 22. Catch signals for cleanup when "add"ing files. 24. Insist on a log message. 30. Add "patch" program option to the modules database. 31. Think hard about ^C recovery. 35. Add "admin" command as an interface to "rcs". [[ a cheesy version is there, but it should be re-done ]] 38. Think hard about using RCS state information to allow one to checkin a new vendor release without having it be accessed until it has been integrated into the local changes. 39. Think about allowing parallel source trees that can easily track each other. [[ sort of solved with the automagic branch support, but I want more ]] 45. Consider enhancing the "patch" and "tag" command support in the module database -- they seem hard to use since these commands deal directly with the RCS ,v files. 46. Perhaps checkout/checkin/tag/patch commands should be imbedded in the file system directly, using special known command names? 49. cvs xxx commands should be able to deal with files in other directories. I want to do a cvs ci foo/bar.c. This complicates things a bit because one might specify files in different directories, but you could just bucket sort them and do everything for each directory together. Other than that, it's just a matter of using the adm directory from the directory containing the file rather than the cwd. [[ most commands now use the generic recursion processor, but not all; this note is left here to remind me to fix the others ]] 51. a way to identify what files other people are working on. Imagine "cvs modified", which prints out a table like file modifiers ===== ========= foo.c bar.c wsd baz.c nrt jda I think this would be pretty difficult; I don't know if this information is stored anywhere. Also it's hard to say how one gets a user name, maybe a path to their local hierarchy is all you could get. [[ the history stuff does some of this, but not all ]] 52. SCCS has a feature that I would *love* to see in CVS, as it is very useful. One may make a private copy of SCCS suid to a particular user, so other users in the authentication list may check files in and out of a project directory without mucking about with groups. Is there any plan to provide a similar functionality to CVS? Our site (and, I'd imagine, many other sites with large user bases) has decided against having the user-groups feature of unix available to the users, due to perceived administrative, technical and performance headaches. A tool such as CVS with features that provide group-like functionality would be a huge help. 53. I'd suggest a way to notify users if/when a file(s) is being worked on. I suggest: + Always checkout/update files a readonly. + To work on a file, the user should do: cvs advise filename + This would maintain their email address associated with that file name in the repository and change the file mode to writable. + If other references to that file exist, the registered individuals are notified via email that another user(s) is going to be working on same. + When a committ occurs, the user is automatically 'unadvise'd (the inverse command should be supported as well) and other's are notified that a merge will be necessary before their checkin can be successful. 56. There should be a .cvsrc file that is sourced to customize various variables. Perhaps there should be a system-wide .cvsrc file that is sourced, then the one in one's home directory, then the environment variables are checked for overriding values. 62. Consider using revision controlled files and directories to handle the new module format -- consider a cvs command front-end to add/delete/modify module contents, maybe. 63. The "import" and vendor support commands (co -j) need to be documented better. 64. Need to greatly increase the performance of an initial checkout. [[ it got better, then we added functionality, making it worse again ]] 66. Length of the CVS temporary files must be limited to 14 characters for System-V stupid support. As weel as the length on the CVS.adm files. 67. cvs import should populate the vendor sources with CVS.adm files so that one could use the vendor sources directly without having the check them out. 69. Consider enhacing import to add a module automatically to the module database. Perhaps with a new option, or perhaps with an editor. 72. Consider re-design of the module -o, -i, -t options to use the file system more intuitively. 73. Consider an option (in .cvsrc?) to automatically add files that are new and specified to commit. 74. Consider adding a way to remove directories/files that you are done with... somehow. [[ cvs release sort of does this ]] 76. Consider adding a layer of abstraction so that CVS can work with both RCS and SCCS files. Larry says this should be #ifdef'ed. 79. Might be nice to have some sort of interface to TFS and tagged revisions. 82. Maybe the import stuff should allow an arbitrary revision to be specified. 84. Improve the documentation about administration of the repository and how to add/remove files and the use of symbolic links. 85. Add revision controlled symbolic links to CVS using one of the tag fields in the RCS file. 87. Consider renaming directories and files. 88. Consider using mmap to read files on Sun systems and using a smaller buffer to read files on other systems. A patch has been supplied. 89. Study the new Dick Grune version of CVS and port any new interesting features to my version of CVS. 91. Better document the format of the source repository and how one might convert their current SCCS or RCS files into CVS format. 92. Look into this: After a bit of soul searching via dbx, I realized my sin was that I'd specified "echo" as the program to call from loginfo. The commit procedure worked fine till it hit my echo, then silently aborted leaving the lockfiles intact. Since I needn't use the loginfo facility, I simply removed those commands and it all works. 93. Need to think hard about release and development environments. Think about execsets as well. 94. Need to think hard about remote source control and environments together. [[ a contributor has this working over Internet TCP links! ]] 97. Think about some way to undo a change. This looks hard given the current framework of CVS. 98. If diff3 bombs out (too many differences) cvs then thinks that the file has been updated and is OK to be commited even though the file has not yet been merged. 100. Checked out files should have revision control support. Maybe. 102. Perhaps directory modes should be propagated on all import check-ins. Not necessarily uid/gid changes. 103. setuid/setgid on files is suspect. 104. cvs should recover nicely on unreadable files/directories. 105. cvs should have administrative tools to allow for changing permissions and modes and what not. 106. Need to figure out how to delete and rename directories from a release and yet have old releases still be accessible. 107. It should be possible to specify a list of symbolic revisions to checkout such that the list is processed in reverse order looking for matches within the RCS file for the symbolic revision. If there is not a match, the next symbolic rev on the list is checked, and so on, until all symbolic revs are exhausted. This would allow one to, say, checkout "4.0" + "4.0.3" + "4.0.3Patch1" + "4.0.3Patch2" to get the most recent 4.x stuff. This is usually handled by just specifying the right release_tag, but most people forget to do this. 108. If someone creates a whole new directory (i.e. adds it to the cvs repository) and you happen to have a directory in your source farm by the same name, when you do your cvs update -d it SILENTLY does *nothing* to that directory. At least, I think it was silent; certainly, it did *not* abort my cvs update, as it would have if the same thing had happened with a file instead of a directory. 109. I had gotten pieces of the sys directory in the past but not a complete tree. I just did something like: cvs get * Where sys was in * and got the message cvs get: Executing 'sys/tools/make_links sys' sh: sys/tools/make_links: not found I suspect this is because I didn't have the file in question, but I do not understand how I could fool it into getting an error. I think a later cvs get sys seemed to work so perhaps something is amiss in handling multiple arguments to cvs get? 112. When merging in changes (Glist) and the file ends up exactly as the RCS revision, an "M" is displayed as the "cvs update" output. This should really just be a "U". Just an optimization. 113. The "cvs update" command should tee its output to a log file in ".". 114. I wanted to check in my metapreen code tonight, which I had put into a new file called preen.c. So, recalling your excellent instructions, I typed "cvs add preen.c". However, cvs complained that there was already a preen.c in /master/etc/fsck/Attic and therefore it wouldn't take mine. Now what? 115. I still think "cvs modules" is a good idea. Since everything else is inside cvs, "mkmodules" should be in there too: Add a "modules" (synonym "mod") command directly in cvs. ("checkout -c" is not really intuitive. I'd move it into "mod -s".) "mod" Print database as typed. (line count as record id?) "mod -s" Print the sorted database (as "checkout -c" does now) "mod -m" Internal replacement for "mkmodules" command. "mod module ..." Print the raw dbm record for the named modules "mod -p module ..." Print relative filenames contained in modules.(no ",v") "mod -l module ..." Prints more info about relative filenames ("ls -l"?) "mod -f file ..." Tells you what module(s) the filenames are in. 116. The first thing import did was to complain about a missing CVSROOT.adm. How about having "import()" copy some "CVSROOT.adm/{loginfo,modules}" templates into place if it discovers none pointed to by $CVSROOT? As it stands, one has to hand-craft them. It would be real nice to have it happen automatically. [[ I hope to add a "cvsinit" command to the installation instructions ]] 119. Consider an option to have import checkout the RCS or SCCS files if necessary. 122. If Name_Repository fails, it currently causes CVS to die completely. It should instead return NULL and have the caller do something reasonable. 123. Add a flag to import to not build vendor branches for local code. 124. Anyway, I thought you might want to add something like the following to the cvs and mkmodules man pages: BUGS The sum of the sizes of a module key and its contents are limited. See ndbm(3). 126. Do an analysis to see if CVS is forgetting to close file descriptors. Especially when committing many files (more than the open file limit for the particular UNIX). 127. Look at *info files; they should all be quiet if the files are not there. Should be able to point at a RCS directory and go. 128. When I tag a file, the message tells me that I'm tagging a directory. 129. Something strange seems to have happened here. When I check this out, the update lines (U CFTS/...) seem to report a bogus leading CFTS (e.g. U CFTS/Medusa_TS/...) when the later files are checked out. The directory structure doesn't seem to be botched, just the messages. I don't recall seeing this before. 130. cvs diff with no -r arguments does not need to look up the current RCS version number since it only cares about what's in the Entries file. This should make it much faster. It should ParseEntries itself and access the entries list much like Version_TS does (sticky tags and sticky options may need to be supported here as well). Then it should only diff the things that have the wrong time stamp (the ones that look modified). 134. Make a statement about using hard NFS mounts to your source repository. Look into checking NULL fgets() returns with ferror() to see if an error had occurred. 135. The email CVS sends with each checkin, should include the version number of each file it is checking in. [[ Sort of solved by contrib/log.pl, which does a good job of this ]] 136. Is it possible to specify a command to be run on each file when it is checked out and another command to be run before it is checked in? My idea of how this feature would be used: On checkout: run indent with user's preferred style On checkin: run indent with space-saving, style-free for checkin 137. Some sites might want CVS to fsync() the RCS ,v file to protect against nasty hardware errors. There is a slight performance hit with doing so, though, so it should be configurable in the .cvsrc file. Also, along with this, we should look at the places where CVS itself could be a little more synchronous so as not to lose data. [[ I've done some of this, but it could use much more ]] 138. Some people have suggested that CVS use a VPATH-like environment variable to limit the amount of sources that need to be duplicated for sites with giant source trees and no disk space. 139. murf@dingus.sps.mot.com (Steve Murphy) suggests adding a mode where CVS can work across e-mail to a single repository located at some "known" mail address. The update/commit operations would work through email aliases, causing them to be slow, but would work nonetheless. This could allow for very cheap remote development sites. [[ We may get to TCP connections over the Internet for the next release, but probably won't do an e-mail linkup right away ]] 141. Import should accept modules as its directory argument. 143. Update the documentation to show that the source repository is something far away from the files that you work on. 144. Have cvs checkout look for the environment variable CVSPREFIX (or CVSMODPREFIX or some such). If it's set, then when looking up an alias in the modules database, first look it up with the value of CVSPREFIX attached, and then look for the alias itself. This would be useful when you have several projects in a single repository. You could have aliases abc_src and xyz_src and tell people working on project abc to put "setenv CVSPREFIX abc_" in their .cshrc file (or equivalent for other shells). Then they could do "cvs co src" to get a copy of their src directory, not xyz's. (This should create a directory called src, not abc_src.) 145. After you create revision 1.1.1.1 in the previous scenario, if you do "cvs update -r1 filename" you get revision 1.1, not 1.1.1.1. It would be nice to get the later revision. Again, this restriction comes from RCS and is probably hard to change in CVS. Sigh. |"cvs update -r1 filename" does not tell RCS to follow any branches. CVS |tries to be consistent with RCS in this fashion, so I would not change |this. Within CVS we do have the flexibility of extending things, like |making a revision of the form "-r1HEAD" find the most recent revision |(branch or not) with a "1." prefix in the RCS file. This would get what |you want maybe. This would be very useful. Though I would prefer an option such as "-v1" rather than "-r1HEAD". This option might be used quite often. 146. The merging of files should be controlled via a hook so that programs other than "rcsmerge" can be used, like Sun's filemerge or emacs's emerge.el. 148. It would be nice if cvs import (and perhaps commit when the rcs file is created) would set the comment leader automagically to the prefix string of $Log entry, if some option is given. For example, if a file has a line `%*&# $Log...' the comment leader would be set to `%*&# '. It would help a lot for unknown files with unknown suffix, and if the comment leader is not standard. Perhaps for cvs 1.4. 149. On Sun, 2 Feb 92 22:01:38 EST, rouilj@dl5000.bc.edu (John P. Rouillard) said: Maybe there should be an option to cvs admin that allows a user to change the Repository file with some degree of error checking? Something like "cvs admin reposmv /old/path /new/pretty/path". Before it does the replace it check to see that the files /new/pretty/path/

/ exist. 150. I have a customer request for a way to specify log message per file, non-interactively before the commit, such that a single, fully recursive commit prompts for one commit message, and concatenates the per file messages for each file. In short, one commit, one editor session, log messages allowed to vary across files within the commit. Also, the per file messages should be allowed to be written when the files are changed, which may predate the commit considerably. A new command seems appropriate for this. The state can be saved in the CVS directory. I.e., % cvs msg foo.c Enter log message for foo.c >> fixed an uninitialized variable >> ^D The text is saved as CVS/foo.c,m (or some such name) and commit is modified to append (prepend?) the text (if found) to the log message specified at commit time. Easy enough. 151. Also, is there a flag I am missing that allows replacing Ulrtx_Build by Ultrix_build? I.E. I would like a tag replacement to be a one step operation rather than a two step "cvs rtag -r Ulrtx_Build Ultrix_Build" followed by "cvs trag -d Ulrtx_Build" 152. The "cvs -n" option does not work as one would expect for all the commands. In particular, for "commit" and "import", where one would also like to see what it would do, without actually doing anything. 153. There should be some command (maybe I just haven't figured out which one...) to import a source directory which is already RCS-administered without losing all prior RCS gathered data. Thus, it would have to examine the RCS files and choose a starting version and branch higher than previous ones used. 154. When committing the modules file, a pre-commit check should be done to verify the validity of the new modules file before allowing it to be committed. This could easily be done by adding an option to mkmodules to perform the verification. 155. The options for "cvs history" are mutually exclusive, even though useful queries can be done if they are not, as in specifying both a module and a tag. A workaround is to specify the module, then run the output through grep to only display lines that begin with T, which are tag lines. 156. Also, how hard would it be to allow continuation lines in the {commit,rcs,log}info files? It would probably be useful with all of the various flags that are now available, or if somebody has a lot of files to put into a module. 157. The "cvs release" command does not understand about module names with the same flexibility that the "checkout" and "rdiff" commands do. It should, though, since it's confusing right now. 158. If I do a recursive commit and find that the same RCS file is checked out (and modified!) in two different places within my checked-out files (but within the realm of a single "commit"), CVS will commit the first change, then overwrite that change with the second change. We should catch this (typically unusual) case and issue an appropriate diagnostic and die. 159. On "update", when a merge is done, CVS should remember that your file was merged into and should keep reminding you of this fact until you actually look at the file (change its access time). Once you do this, it should go back to being a normal, unmodified file. This way, after a big update, you can run update again to see which files just got merged and may need attention. 160. The checks that the commit command does should be extended to make sure that the revision that we will lock is not already locked by someone else. Maybe it should also lock the new revision if the old revision was already locked by the user as well, thus moving the lock forward after the commit. 161. The date parser included with CVS (lib/getdate.y) does not support such RCS-supported dates as "1992/03/07". It probably should. 162. We have had a number of cases where some idiot does a "cd" into $CVSROOT and tries to run checkout. I suggest you make it impossible for someone to check out anything directly into $CVSROOT. This works (though there is no error checking): getwd(curdir); chdir(getenv("CVSROOT")); getwd(cvsrootdir); strcat(cvsrootdir, "/"); chdir(curdir); if (!strncmp (curdir, cvsrootdir, strlen(cvsrootdir))) { abort with a nasty message about writing into the repository. } (In other words, if the real path where $CVSROOT is stored is a parent of the real pathname of your current directory, die horribly.) 163. The rtag/tag commands should have an option that removes the specified tag from any file that is in the attic. This allows one to re-use a tag (like "Mon", "Tue", ...) all the time and still have it tag the real main-line code. 164. The rcsinfo file should be able to expand environment variables to find the pathname to the template file. Perhaps it should just popen("cat "); and read the resulting output, to let the shell do the dirty work. usr/doc/cvs-1.3/configure100755 2122 1750 41214 5171202626 14362 0ustar steinberert: # Guess values for system-dependent variables and create `Makefile'. # Copyright (C) 1991 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # Usage: #configure [--srcdir=DIR] [--prefix=DIR] [--host=HOST] [--gas] [--nfp] [TARGET] #All args except --srcdir=DIR, --prefix=DIR, and --exec_prefix=DIR are ignored. # @(#)configure 1.26 92/04/10 trap 'rm -f conftest* core* uttest; exit 1' 1 2 3 15 # Uncomment out the next line if your sh aborts if an unset variable # is referenced; some popular systems do not understand +u and most # bourne shells should already have this set as the default... #set +u # Make sure we don't find the System V /etc/install. PATH=`echo $PATH|sed ' s,^:,|, s,:$,|, s,:/usr/etc\([:|]\),\1,g s,:/usr/etc$,,g s,\([:|]\)/usr/etc:,\1,g s,^/usr/etc:,,g s,:/usr/sbin\([:|]\),\1,g s,:/usr/sbin$,,g s,\([:|]\)/usr/sbin:,\1,g s,^/usr/sbin:,,g s,:/etc\([:|]\),\1,g s,:/etc$,,g s,\([:|]\)/etc:,\1,g s,^/etc:,,g s,|,:,g'` # A filename unique to this package, relative to the directory that # configure is in, which we can look for to find out if srcdir is correct. unique_file=src/update.c # Default destination directory is /usr/local # Binaries go in "bin", libraries in "lib", manual pages in "man". prefix=/usr/local for arg in $*; do # Handle --srcdir with a space before the argument. if [ x$next_srcdir = xyes ]; then srcdir=$arg; next_srcdir= # Handle --prefix with a space before the argument. elif [ x$next_prefix = xyes ]; then prefix=$arg; next_prefix= # Handle --exec_prefix with a space before the argument. elif [ x$next_exec_prefix = xyes ]; then exec_prefix=$arg; next_prefix= # Handle --host with a space before the argument. elif [ x$next_host = xyes ]; then next_host= else case $arg in -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=* | --s=*) srcdir=`echo $arg | sed 's/^[-a-z]*=//'` ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr | --s) next_srcdir=yes ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=`echo $arg | sed 's/^[-a-z]*=//'` ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) next_prefix=yes ;; -exec_prefix=* | --exec_prefix=* | --exec_prefi=* | --exec_pref=* | --exec_pre=* | --exec_pr=* | --exec_p=* | --exec_=* | --exec=* | --exe=* | --ex=* | --e=*) exec_prefix=`echo $arg | sed 's/^[-a-z_]*=//'` ;; -exec_prefix | --exec_prefix | --exec_prefi | --exec_pref | --exec_pre | --exec_pr | --exec_p | --exec_ | --exec | --exe | --ex | --e) next_exec_prefix=yes ;; -host=* | --host=* | --hos=* | --ho=* | --h=*) ;; -host | --host | --hos | --ho | --h) next_host=yes ;; -gas | --gas | --ga | --g) ;; -nfp | --nfp | --nf | --n) ;; *) ;; esac fi done if [ -z "${exec_prefix}" ] ; then exec_prefix=${prefix} ; fi vpsub='s@\$\([-./a-zA-Z0-9]*\)<@\1@g' # Find the source files, if location was not specified. if [ x$srcdir = x ]; then srcdirdefaulted=yes; srcdir=. if [ ! -r $unique_file ]; then srcdir=`pwd`/..; fi fi if [ $srcdir != . ]; then VPATH='VPATH = $(srcdir)' vpsub='s@\$\([-./a-zA-Z0-9]*\)<@\$<@g' fi if [ ! -r $srcdir/$unique_file ]; then if [ x$srcdirdefaulted = xyes ]; then echo "$0: Can not find sources in \`.' or \`..'." 1>&2 else echo "$0: Can not find sources in \`${srcdir}'." 1>&2 fi exit 1 fi if grep '^#.*define.*MY_NDBM' ${srcdir}/src/config.h >/dev/null 2>/dev/null; then : CC1=gcc CC2=cc else CC1=cc CC2=gcc fi if test "$RANDOM" = "$RANDOM"; then # Plain old Bourne shell. if test -z "$CC"; then echo checking for cc/gcc test -n "`$CC1 / 2>&1`" && CC="$CC1" if test -z "$CC"; then test -n "`$CC2 2>&1`" && CC="$CC2" fi fi echo checking for install if test -z "$INSTALL" && test -n "`install 2>&1`"; then INSTALL="install -c" INSTALLDATA="install -c -m 644" fi echo checking for ranlib test -z "$RANLIB" && test -n "`ranlib conftest 2>&1`" && RANLIB=ranlib rm -f conftest* echo checking for bison/yacc test -z "$YACC" && test -n "`bison 2>&1`" && YACC="bison -y" else # ksh, bash or zsh. ksh and zsh write "command not found" to stderr. if test -z "$CC"; then echo checking for cc/gcc type $CC1 && CC="$CC1" test -z "$CC" && type $CC2 && CC="$CC2" fi echo checking for install if test -z "$INSTALL" && type install; then INSTALL="install -c" INSTALLDATA="install -c -m 644" fi echo checking for ranlib test -z "$RANLIB" && type ranlib && RANLIB=ranlib echo checking for bison/yacc test -z "$YACC" && type bison && YACC="bison -y" fi CC=${CC-cc} INSTALL=${INSTALL-cp} INSTALLDATA=${INSTALLDATA-cp} RANLIB=${RANLIB-echo} YACC=${YACC-yacc} rm -f conftest* compile='$CC $DEFS $TDEFS conftest.c -o conftest $TLIBS $LIBS >/dev/null 2>&1' # Check for various header files. echo checking for Minix if test -d /usr/include/minix; then DEFS="$DEFS -UUSG -D_POSIX_SOURCE -D_POSIX_1_SOURCE=2 -D_POSIX_C_SOURCE=2 -D_MINIX" else echo checking for BSD string and memory functions echo " #include main() { exit(0); } t() { rindex(0, 0); bzero(0, 0); }" > conftest.c eval $compile if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then : else DEFS="$DEFS -DUSG" fi rm -f conftest* fi echo checking signal handler return type echo " #include #include void foo() { exit(0); } main() { exit(0); } t() { signal(SIGINT, foo); kill(getpid(), SIGINT); }" > conftest.c eval $compile if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then : else DEFS="$DEFS -DSIGTYPE=int" fi rm -f conftest* echo checking for directory library header echo ' #include #ifdef DIRENT #include #ifdef direct #undef direct #endif #define direct dirent #else #ifdef SYSNDIR #include #else #ifdef NDIR #include #else /* must be BSD */ #include #endif #endif #endif main() { DIR *d = opendir("."); struct direct *e; while ((e = readdir(d))) if (strcmp(e->d_name, "conftestfile") == 0) exit(0); exit(1); }' > conftest.c > conftestfile TDEFS=-DDIRENT eval $compile TDEFS= if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then DEFS="$DEFS -DDIRENT" else rm -f conftest TDEFS=-DDIRENT TLIBS=-ldir eval $compile TDEFS= TLIBS= if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then DEFS="$DEFS -DDIRENT" LIBS="-ldir $LIBS" else rm -f conftest TDEFS=-DSYSNDIR eval $compile TDEFS= if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then DEFS="$DEFS -DSYSNDIR" else rm -f conftest TDEFS=-DSYSNDIR TLIBS=-lx eval $compile TDEFS= TLIBS= if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then DEFS="$DEFS -DSYSNDIR" LIBS="$LIBS -lx" else rm -f conftest TDEFS=-DNDIR eval $compile TDEFS= if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then DEFS="$DEFS -DNDIR" else eval $compile if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then : else echo >&2 "configure: opendir() is missing; cannot continue" rm -f conftest* exit 1 fi fi fi fi fi fi rm -f foo conftest* echo checking for ANSI C header files echo "#include #include #include main() { exit(0); }" > conftest.c eval $compile if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then DEFS="$DEFS -DSTDC_HEADERS" fi rm -f conftest* echo checking for POSIX.1 header files echo "#include main() { #ifdef _POSIX_VERSION exit(0); #else exit(1); #endif }" > conftest.c eval $compile if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then DEFS="$DEFS -DPOSIX" fi rm -f conftest* echo checking for uid_t in sys/types.h echo "#include main() { exit(0); } t() { uid_t x; }" > conftest.c eval $compile if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then : else DEFS="$DEFS -Duid_t=int -Dgid_t=int" fi rm -f conftest* echo checking for mode_t in sys/types.h echo "#include main() { exit(0); } t() { mode_t x; }" > conftest.c eval $compile if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then : else DEFS="$DEFS -Dmode_t=int" fi rm -f conftest* echo checking for size_t in sys/types.h echo "#include main() { exit(0); } t() { size_t x; }" > conftest.c eval $compile if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then : else DEFS="$DEFS -Dsize_t=unsigned" fi rm -f conftest* echo checking for unsigned characters echo 'main() { char c = 255; exit(c < 0); }' > conftest.c eval $compile if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then DEFS="$DEFS -D__CHAR_UNSIGNED__" fi rm -f conftest* echo checking whether time.h has struct tm echo '#include #include main() { struct tm *tp; exit(0); }' > conftest.c eval $compile if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then : else DEFS="$DEFS -DTM_IN_SYS_TIME" fi rm -f conftest* # Check whether various functions exist. # Functions we provide replacements for. for func in fnmatch getwd mkdir rename strdup do echo checking for $func echo "main() { exit(0); } t() { ${func}(); }" > conftest.c eval $compile if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then : else LIBOBJS="$LIBOBJS ${func}.o" fi rm -f conftest* done func=gethostname echo checking for $func echo "main() { exit(0); } t() { ${func}(); }" > conftest.c eval $compile if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then : else LIBOBJS="$LIBOBJS hostname.o" fi rm -f conftest* func=re_exec echo checking for $func echo "main() { exit(0); } t() { ${func}(); }" > conftest.c eval $compile if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then : else LIBOBJS="$LIBOBJS regex.o" fi rm -f conftest* func=dup2 echo checking for $func echo "main() { exit(0); } t() { ${func}(); }" > conftest.c eval $compile if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then : else LIBOBJS="$LIBOBJS dup2.o" fi rm -f conftest* # Functions whose absence we work around. for func in fchmod fsync ftime mkfifo putenv strerror setvbuf vfork vprintf do echo checking for $func echo "main() { exit(0); } t() { ${func}(); }" > conftest.c eval $compile if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then : else DEFS="$DEFS -D`echo $func|tr '[a-z]' '[A-Z]'`_MISSING" fi rm -f conftest* done echo checking for timeb.h header file echo ' #include #include #ifdef TM_IN_SYS_TIME #include #else #include #endif #include main() { exit(0); } t() { struct timeb tb; printf("%d", sizeof(tb)); }' > conftest.c eval $compile if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then : else DEFS="$DEFS -DTIMEB_H_MISSING" fi rm -f conftest* case "$DEFS" in *VPRINTF_MISSING*) func=_doprnt echo checking for $func echo "main() { exit(0); } t() { ${func}(); }" > conftest.c eval $compile if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then : else DEFS="$DEFS -DDOPRNT_MISSING" fi rm -f conftest* ;; esac case "$DEFS" in *FTIME_MISSING*) echo checking for timezone echo "main() { extern char *timezone(); printf(\"%s\",timezone(0,0)); exit(0); }" > conftest.c eval $compile if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then DEFS="$DEFS -DHAVE_TIMEZONE" fi rm -f conftest* core* ;; esac case "$DEFS" in *POSIX*) ;; *) echo checking for BSD signals echo " #include main() { exit(0); } t() { sigvec(); sigblock(); }" > conftest.c eval $compile if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then DEFS="$DEFS -DBSD_SIGNALS" fi rm -f conftest* ;; esac func=ftruncate echo checking for $func echo "main() { exit(0); } t() { ${func}(); }" > conftest.c eval $compile if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then : else rm -f conftest* echo " #include #include main() { exit(0); } #if !defined(F_CHSIZE) && !defined(F_FREESP) t() { chsize(); } #endif " > conftest.c eval $compile if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then LIBOBJS="$LIBOBJS ${func}.o" else DEFS="$DEFS -D`echo $func|tr '[a-z]' '[A-Z]'`_MISSING" fi fi rm -f conftest* # Check other misc. things. echo checking utime with null argument rm -f uttest; > uttest # Sequent interprets utime(file, 0) to mean use start of epoch. Wrong. echo '#include #include main() { struct stat s, t; exit(!(stat ("uttest", &s) == 0 && utime("uttest", (long *)0) == 0 && stat("uttest", &t) == 0 && t.st_mtime - s.st_mtime < 120)); }' > conftest.c eval $compile test -s conftest && (./conftest) >/dev/null 2>/dev/null || DEFS="$DEFS -DUTIME_NULL_MISSING" rm -f conftest* core* uttest case "$LIBOBJS" in *rename.o*) LIBPROGS="$LIBPROGS mvdir" DEFS="$DEFS -DMVDIR="'\\"$(libdir)/mvdir\\"' ;; esac echo checking how to get alloca echo ' #ifdef __GNUC__ #define alloca __builtin_alloca #else #ifdef sparc #include #else #ifdef _AIX #pragma alloca #else char *alloca (); #endif #endif #endif main() { char *p = (char *) alloca(1); exit(0); }' > conftest.c eval $compile if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then : else # I've had some problems with this stuff. If you need -lPW for some # reason, try uncommenting the lines below # rm -f conftest* # echo 'char *alloca(); #main() { char *p = alloca(1); exit(0); }' > conftest.c # eval $compile -lPW # if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then LIBS="$LIBS -lPW" # else LIBOBJS="$LIBOBJS alloca.o" # fi fi rm -f conftest* if grep '^#.*define.*MY_NDBM' ${srcdir}/src/config.h >/dev/null 2>/dev/null; then : else echo checking for ndbm support echo '#include main() { exit(0); } t() { dbm_open(0); dbm_close(0); }' > conftest.c eval $compile if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then : else TLIBS=-lgdbm eval $compile TLIBS= if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then LIBS="$LIBS -lgdbm" else TDEFS="-I${prefix}/include" TLIBS="-L${prefix}/lib -lgdbm" eval $compile TDEFS= TLIBS= if test -s conftest && (./conftest) >/dev/null 2>/dev/null; then DEFS="$DEFS -I${prefix}/include" LIBS="$LIBS -L${prefix}/lib -lgdbm" else echo 'configure: Warning: you will likely have to install GNU dbm' echo ' (including the header file)' echo ' and re-run this configure script' fi fi fi rm -f conftest* fi echo checking for $CC -g -O combination echo "main() { exit(0); }" > conftest.c if test -n "`$CC -g -O -o conftest conftest.c 2>&1`"; then if test -n "`$CC -g -o conftest conftest.c 2>&1`"; then CDEBUG= else CDEBUG="-g" fi else CDEBUG="-g -O" fi rm -f conftest* trap 'rm -f Makefile lib/Makefile src/Makefile man/Makefile doc/Makefile examples/Makefile contrib/Makefile config.status conftest*; exit 1' 1 2 3 15 for dir in . lib src man doc examples contrib do test -d $dir || mkdir $dir if test "$srcdir" = "."; then xsrcdir="." includeopt= else case $srcdir in /*) xsrcdir=$srcdir/$dir includeopt="-I$srcdir/lib" ;; *) xsrcdir=../$srcdir/$dir includeopt="-I../$srcdir/lib" ;; esac if test "$dir" = "."; then xsrcdir=$srcdir fi fi echo '# Generated automatically from Makefile.in by configure.' > $dir/Makefile sed -e " $vpsub s,@srcdir@,$xsrcdir, s,@prefix@,$prefix, s,@exec_prefix@,$exec_prefix, s,@includeopt@,$includeopt, s,@VPATH@,$VPATH, s,@CC@,$CC, s,@RANLIB@,$RANLIB, s,@YACC@,$YACC, s,@INSTALL@,$INSTALL, s,@INSTALLDATA@,$INSTALLDATA, s,@DEFS@,$DEFS, s,@LIBS@,$LIBS, s,@LIBPROGS@,$LIBPROGS, s,@LIBOBJS@,$LIBOBJS, s,@CDEBUG@,$CDEBUG, " $srcdir/$dir/Makefile.in >> $dir/Makefile done echo "srcdir = $srcdir prefix = $prefix exec_prefix = $exec_prefix includeopt = $includeopt VPATH = $VPATH CC = $CC RANLIB = $RANLIB YACC = $YACC INSTALL = $INSTALL INSTALLDATA = $INSTALLDATA DEFS = $DEFS LIBS = $LIBS LIBPROGS = $LIBPROGS LIBOBJS = $LIBOBJS CDEBUG = $CDEBUG" > config.status usr/doc/cvs-1.3/cvsinit100755 2122 1750 17350 5165764074 14101 0ustar steinberert: # # Copyright (c) 1992, Brian Berliner # # You may distribute under the terms of the GNU General Public License as # specified in the README file that comes with the CVS 1.3 kit. # # @(#)cvsinit 1.1 92/03/31 # # This script should be run once to help you setup your site for CVS. # Make sure that the CVSROOT variable is set if [ "x$CVSROOT" = x ]; then echo "The CVSROOT environment variable is not set." echo "" echo "You should choose a location for your source repository" echo "that can be shared by many developers. It also helps to" echo "place the source repository on a file system that has" echo "plenty of free space." echo "" echo "Please enter the full path for your CVSROOT source repository:" read CVSROOT remind_cvsroot=yes else echo "Using $CVSROOT as the source repository." remind_cvsroot=no fi echo "" # Now, create the $CVSROOT if it is not already there if [ ! -d $CVSROOT ]; then echo "Hmmm... $CVSROOT does not exist; trying to make it..." path= for comp in `echo $CVSROOT | sed -e 's,/, ,g'`; do path=$path/$comp if [ ! -d $path ]; then mkdir $path fi done else echo "Good... $CVSROOT already exists." fi # Next, check for $CVSROOT/CVSROOT if [ ! -d $CVSROOT/CVSROOT ]; then if [ -d $CVSROOT/CVSROOT.adm ]; then echo "You have the old $CVSROOT/CVSROOT.adm directory." echo "I will rename it to $CVSROOT/CVSROOT for you..." mv $CVSROOT/CVSROOT.adm $CVSROOT/CVSROOT else echo "Making the $CVSROOT/CVSROOT directory..." mkdir $CVSROOT/CVSROOT fi else echo "Wow!... so does $CVSROOT/CVSROOT." fi echo "" if [ ! -d $CVSROOT/CVSROOT ]; then echo "You still don't have a $CVSROOT/CVSROOT directory." echo "I give up." exit 1 fi # Create the special *info files within $CVSROOT/CVSROOT # Trump up a simple modules file, if one doesn't exist if [ -f $CVSROOT/CVSROOT/modules,v ]; then if [ ! -f $CVSROOT/CVSROOT/modules ]; then echo "You have a $CVSROOT/CVSROOT/modules,v file," echo "But no $CVSROOT/CVSROOT/modules file. This is OK." echo "I'll checkout a fresh copy..." (cd $CVSROOT/CVSROOT; co -q modules) echo "" fi else if [ -f $CVSROOT/CVSROOT/modules ]; then echo "You have a $CVSROOT/CVSROOT/modules file," echo "But no $CVSROOT/CVSROOT/modules,v file." echo "I'll create one for you, but otherwise leave it alone..." else echo "The $CVSROOT/CVSROOT/modules file does not exist." echo "Making a simple one for you..." cat > $CVSROOT/CVSROOT/modules <<"HERE" # # The CVS modules file # # Three different line formats are valid: # key -a aliases... # key [options] directory # key [options] directory files... # # Where "options" are composed of: # -i prog Run "prog" on "cvs commit" from top-level of module. # -o prog Run "prog" on "cvs checkout" of module. # -t prog Run "prog" on "cvs rtag" of module. # -u prog Run "prog" on "cvs update" of module. # -d dir Place module in directory "dir" instead of module name. # -l Top-level directory only -- do not recurse. # # And "directory" is a path to a directory relative to $CVSROOT. # # The "-a" option specifies an alias. An alias is interpreted as if # everything on the right of the "-a" had been typed on the command line. # # You can encode a module within a module by using the special '&' # character to interpose another module into the current module. This # can be useful for creating a module that consists of many directories # spread out over the entire source repository. # # Convenient aliases world -a . # CVSROOT support; run mkmodules whenever anything changes. CVSROOT -i mkmodules CVSROOT modules -i mkmodules CVSROOT modules loginfo -i mkmodules CVSROOT loginfo commitinfo -i mkmodules CVSROOT commitinfo rcsinfo -i mkmodules CVSROOT rcsinfo editinfo -i mkmodules CVSROOT editinfo # Add other modules here... HERE fi (cd $CVSROOT/CVSROOT; ci -q -u -t/dev/null -m'initial checkin of modules' modules) echo "" fi # check to see if there are any references to the old CVSROOT.adm directory if grep CVSROOT.adm $CVSROOT/CVSROOT/modules >/dev/null 2>&1; then echo "Warning: your $CVSROOT/CVSROOT/modules file still" echo " contains references to the old CVSROOT.adm directory" echo " You should really change these to the new CVSROOT directory" echo "" fi # loginfo, like modules, is special-cased if [ -f $CVSROOT/CVSROOT/loginfo,v ]; then if [ ! -f $CVSROOT/CVSROOT/loginfo ]; then echo "You have a $CVSROOT/CVSROOT/loginfo,v file," echo "But no $CVSROOT/CVSROOT/loginfo file. This is OK." echo "I'll checkout a fresh copy..." (cd $CVSROOT/CVSROOT; co -q loginfo) echo "" fi else if [ -f $CVSROOT/CVSROOT/loginfo ]; then echo "You have a $CVSROOT/CVSROOT/loginfo file," echo "But no $CVSROOT/CVSROOT/loginfo,v file." echo "I'll create one for you, but otherwise leave it alone..." else echo "The $CVSROOT/CVSROOT/loginfo file does not exist." echo "Making a simple one for you..." # try to find perl; use fancy log script if we can for perlpath in `echo $PATH | sed -e 's/:/ /g'` x; do if [ -f $perlpath/perl ]; then echo "#!$perlpath/perl" > $CVSROOT/CVSROOT/log.pl cat contrib/log.pl >> $CVSROOT/CVSROOT/log.pl chmod 755 $CVSROOT/CVSROOT/log.pl cp examples/loginfo $CVSROOT/CVSROOT/loginfo break fi done if [ $perlpath = x ]; then # we did not find perl anywhere, so make a simple loginfo file cat > $CVSROOT/CVSROOT/loginfo <<"HERE" # # The "loginfo" file is used to control where "cvs commit" log information # is sent. The first entry on a line is a regular expression which is tested # against the directory that the change is being made to, relative to the # $CVSROOT. If a match is found, then the remainder of the line is a filter # program that should expect log information on its standard input. # # The filter program may use one and only one % modifier (ala printf). If # %s is specified in the filter program, a brief title is included (enclosed # in single quotes) showing the modified file names. # # If the repository name does not match any of the regular expressions in this # file, the "DEFAULT" line is used, if it is specified. # # If the name ALL appears as a regular expression it is always used # in addition to the first matching regex or DEFAULT. # DEFAULT (echo ""; echo $USER; date; cat) >> $CVSROOT/CVSROOT/commitlog HERE fi fi (cd $CVSROOT/CVSROOT; ci -q -u -t/dev/null -m'initial checkin of loginfo' loginfo) echo "" fi # The remaining files are generated from the examples files. for info in commitinfo rcsinfo editinfo; do if [ -f $CVSROOT/CVSROOT/${info},v ]; then if [ ! -f $CVSROOT/CVSROOT/$info ]; then echo "You have a $CVSROOT/CVSROOT/${info},v file," echo "But no $CVSROOT/CVSROOT/$info file. This is OK." echo "I'll checkout a fresh copy..." (cd $CVSROOT/CVSROOT; co -q $info) echo "" fi else if [ -f $CVSROOT/CVSROOT/$info ]; then echo "You have a $CVSROOT/CVSROOT/$info file," echo "But no $CVSROOT/CVSROOT/${info},v file." echo "I'll create one for you, but otherwise leave it alone..." else echo "The $CVSROOT/CVSROOT/$info file does not exist." echo "Making a simple one for you..." sed -e 's/^\([^#]\)/#\1/' examples/$info > $CVSROOT/CVSROOT/$info fi (cd $CVSROOT/CVSROOT; ci -q -u -t/dev/null -m"initial checkin of $info" $info) echo "" fi done # Turn on history logging by default if [ ! -f $CVSROOT/CVSROOT/history ]; then echo "Enabling CVS history logging..." touch $CVSROOT/CVSROOT/history echo "" fi # finish up by running mkmodules echo "All done! Running 'mkmodules' as my final step..." mkmodules $CVSROOT/CVSROOT # and, if necessary, remind them about setting CVSROOT if [ $remind_cvsroot = yes ]; then echo "Remember to set the CVSROOT environment variable in your login script" fi exit 0 usr/doc/cvs-1.3/examples/ 42755 2122 1750 0 5322042440 14146 5ustar steinberertusr/doc/cvs-1.3/examples/.cvsignore100644 2122 1750 11 5107622017 16176 0ustar steinberertMakefile usr/doc/cvs-1.3/examples/Makefile.in100644 2122 1750 2417 5171360574 16327 0ustar steinberert# Makefile for GNU CVS example files. # Do not use this makefile directly, but only from `../Makefile'. # Copyright (C) 1986, 1988-1990 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # @(#)Makefile.in 1.3 92/04/10 SHELL = /bin/sh srcdir = @srcdir@ @VPATH@ DISTFILES = Makefile.in commitinfo loginfo modules rcsinfo all: .PHONY: all install: all .PHONY: install tags: .PHONY: tags TAGS: .PHONY: TAGS ls: @echo $(DISTFILES) .PHONY: ls clean: /bin/rm -f *.o core .PHONY: clean distclean: clean rm -f Makefile .PHONY: distclean realclean: distclean .PHONY: realclean dist: ln $(DISTFILES) ../`cat ../.fname`/examples .PHONY: dist usr/doc/cvs-1.3/examples/commitinfo100644 2122 1750 1513 5165764143 16350 0ustar steinberert# # commitinfo,v 1.2 1992/03/31 04:19:47 berliner Exp # # The "commitinfo" file is used to control pre-commit checks. # The filter on the right is invoked with the repository and a list # of files to check. A non-zero exit of the filter program will # cause the commit to be aborted. # # The first entry on a line is a regular expression which is tested # against the directory that the change is being committed to, relative to the # $CVSROOT. If a match is found, then the remainder of the line is the # name of the filter to run. # # If the repository name does not match any of the regular expressions in this # file, the "DEFAULT" line is used, if it is specified. # # If the name ALL appears as a regular expression it is always used # in addition to the first matching regex or DEFAULT. # ^cvs checkforcvsid DEFAULT checkforid usr/doc/cvs-1.3/examples/editinfo100644 2122 1750 2440 5162556203 15776 0ustar steinberert# # editinfo,v 1.1 1992/03/21 06:49:39 berliner Exp # # The "editinfo" file is used to allow verification of logging # information. It works best when a template (as specified in the # rcsinfo file) is provided for the logging procedure. Given a # template with locations for, a bug-id number, a list of people who # reviewed the code before it can be checked in, and an external # process to catalog the differences that were code reviewed, the # following test can be applied to the code: # # Making sure that the entered bug-id number is correct. # Validating that the code that was reviewed is indeed the code being # checked in (using the bug-id number or a seperate review # number to identify this particular code set.). # # If any of the above test failed, then the commit would be aborted. # # Actions such as mailing a copy of the report to each reviewer are # better handled by an entry in the loginfo file. # # Although these test could be handled by an interactive script being # called via an entry in commitinfo, The information reported in # such a script can't be easily merged into the report. # # One thing that should be noted is the the ALL keyword is not # supported. There can be only one entry that matches a given # repository. # DEFAULT $CVSROOT/CVSROOT/edit "%s" usr/doc/cvs-1.3/examples/loginfo100644 2122 1750 1651 5165764144 15645 0ustar steinberert# # @(#)loginfo 1.5 92/03/31 # # The "loginfo" file is used to control where "cvs commit" log information # is sent. The first entry on a line is a regular expression which is tested # against the directory that the change is being made to, relative to the # $CVSROOT. If a match is found, then the remainder of the line is a filter # program that should expect log information on its standard input. # # The filter program may use one and only one % modifier (ala printf). If # %s is specified in the filter program, a brief title is included (enclosed # in single quotes) showing the modified file names. # # If the repository name does not match any of the regular expressions in this # file, the "DEFAULT" line is used, if it is specified. # # If the name ALL appears as a regular expression it is always used # in addition to the first matching regex or DEFAULT. # DEFAULT $CVSROOT/CVSROOT/log.pl %s $CVSROOT/CVSROOT/commitlog usr/doc/cvs-1.3/examples/modules100644 2122 1750 34601 5165764146 15703 0ustar steinberert# # CVS Modules file for Prisma sources # @(#)modules 1.5 92/03/31 # # Three different line formats are valid: # key -a aliases... # key [options] directory # key [options] directory files... # # Where "options" are composed of: # -i prog Run "prog" on "cvs commit" from top-level of module. # -o prog Run "prog" on "cvs checkout" of module. # -t prog Run "prog" on "cvs rtag" of module. # -u prog Run "prog" on "cvs update" of module. # -d dir Place module in directory "dir" instead of module name. # -l Top-level directory only -- do not recurse. # # And "directory" is a path to a directory relative to $CVSROOT. # # The "-a" option specifies an alias. An alias is interpreted as if # everything on the right of the "-a" had been typed on the command line. # # You can encode a module within a module by using the special '&' # character to interpose another module into the current module. This # can be useful for creating a module that consists of many directories # spread out over the entire source repository. # # Convenient aliases world -a . kernel -a sys lang/adb sparcsim # CVSROOT support CVSROOT -i /usr/local/bin/mkmodules CVSROOT modules -i /usr/local/bin/mkmodules CVSROOT modules loginfo -i /usr/local/bin/mkmodules CVSROOT loginfo commitinfo -i /usr/local/bin/mkmodules CVSROOT commitinfo rcsinfo -i /usr/local/bin/mkmodules CVSROOT rcsinfo # The "sys" entry exists only to make symbolic links after checkout sys -o sys/tools/make_links sys # Sub-directories of "bin" awk bin/awk csh bin/csh diff bin/diff make bin/make sed bin/sed sh bin/sh # Programs that live in "bin" cat bin Makefile cat.c chgrp bin Makefile chgrp.c chmod bin Makefile chmod.c cmp bin Makefile cmp.c cp bin Makefile cp.c date bin Makefile date.c dd bin Makefile dd.c df bin Makefile df.c domainname bin Makefile domainname.c du bin Makefile du.c echo bin Makefile echo.c ed bin Makefile ed.c env bin Makefile env.c expr bin Makefile expr.c grep bin Makefile grep.c hostid bin Makefile hostid.c hostname bin Makefile hostname.c kill bin Makefile kill.c ldd bin Makefile ldd.c line bin Makefile line.c ln bin Makefile ln.c login bin Makefile login.c ls bin Makefile ls.c mail bin Makefile mail.c mkdir bin Makefile mkdir.c mt bin Makefile mt.c mv bin Makefile mv.c newgrp bin Makefile newgrp.c nice bin Makefile nice.c od bin Makefile od.c pagesize bin Makefile pagesize.c passwd bin Makefile passwd.c pr bin Makefile pr.c ps bin Makefile ps.c pwd bin Makefile pwd.c rm bin Makefile rm.c rmail bin Makefile rmail.c rmdir bin Makefile rmdir.c stty bin Makefile stty.c su bin Makefile su.c sync bin Makefile sync.c tar bin Makefile tar.c tee bin Makefile tee.c test bin Makefile test.c time bin Makefile time.c wall bin Makefile wall.c who bin Makefile who.c write bin Makefile write.c # Sub-directories of "etc" dump etc/dump files etc/files fsck etc/fsck getty etc/getty in.routed etc/in.routed restore etc/restore rpc.lockd etc/rpc.lockd rpc.statd etc/rpc.statd # Programs that live in "etc" arp etc Makefile arp.c biod etc Makefile biod.c chown etc Makefile chown.c clri etc Makefile clri.c dkinfo etc Makefile dkinfo.c dmesg etc Makefile dmesg.c fsirand etc Makefile fsirand.c halt etc Makefile halt.c ifconfig etc Makefile ifconfig.c in.rlogind etc Makefile in.rlogind.c in.rshd etc Makefile in.rshd.c inetd etc Makefile inetd.c init etc Makefile init.c mkfs etc Makefile mkfs.c mknod etc Makefile mknod.c mount etc Makefile mount.c newfs etc Makefile newfs.c nfsd etc Makefile nfsd.c portmap etc Makefile portmap.c pstat etc Makefile pstat.c reboot etc Makefile reboot.c renice etc Makefile renice.c rmt etc Makefile rmt.c shutdown etc Makefile shutdown.c syslogd etc Makefile syslogd.c umount etc Makefile umount.c update etc Makefile update.c vipw etc Makefile vipw.c ypbind etc Makefile ypbind.c # Sub-directories of "games" adventure games/adventure backgammon games/backgammon battlestar games/battlestar boggle games/boggle chess games/chess ching games/ching cribbage games/cribbage fortune games/fortune hack games/hack hangman games/hangman hunt games/hunt life games/life mille games/mille monop games/monop quiz games/quiz robots games/robots sail games/sail snake games/snake trek games/trek # Programs that live in "games" arithmetic games Makefile arithmetic.c banner games Makefile banner.c bcd games Makefile bcd.c bj games Makefile bj.c btlgammon games Makefile btlgammon.c canfield games Makefile canfield.c cfscores games Makefile cfscores.c craps games Makefile craps.c factor games Makefile factor.c fish games Makefile fish.c moo games Makefile moo.c number games Makefile number.c primes games Makefile primes.c rain games Makefile rain.c random games Makefile random.c worm games Makefile worm.c worms games Makefile worms.c wump games Makefile wump.c # Sub-directories of "lang" adb lang/adb as lang/as boot lang/boot c2 lang/c2 cgrdr lang/cgrdr compile lang/compile cpp lang/cpp dbx lang/dbx f77 lang/f77 inline lang/inline iropt lang/iropt ld lang/ld lint lang/lint m4 lang/m4 pascal lang/pascal pcc lang/pcc ratfor lang/ratfor rtld lang/rtld tcov lang/tcov vroot lang/vroot # Programs that live in "lang" ar lang Makefile ar.c nm lang Makefile nm.c ranlib lang Makefile ranlib.c size lang Makefile size.c strip lang Makefile strip.c symorder lang Makefile symorder.c # Sub-directories of "lib" csu lib/csu libc lib/libc # Programs that live in "lib" # NONE # Sub-directories of "lib/libc" libc_compat lib/libc/compat libc_crt lib/libc/crt libc_des lib/libc/des libc_gen lib/libc/gen libc_net lib/libc/net libc_inet lib/libc/inet libc_rpc lib/libc/rpc libc_stdio lib/libc/stdio libc_sun lib/libc/sun libc_sys lib/libc/sys libc_yp lib/libc/yp # Programs that live in "lib/libc" # NONE #Sub-directories of "local" notes local/notes # Sub-directories of "man" man1 man/man1 man2 man/man2 man3 man/man3 man4 man/man4 man5 man/man5 man6 man/man6 man7 man/man7 man8 man/man8 manl man/manl # Programs that live in "man" # NONE # Sub-directories of "old" old_compact old/compact old_eyacc old/eyacc old_filemerge old/filemerge old_make old/make # Programs that live in "old" old_analyze old Makefile analyze.c old_prmail old Makefile prmail.c old_pti old Makefile pti.c old_syslog old Makefile syslog.c # Sub-directories of "ucb" Mail ucb/Mail compress ucb/compress error ucb/error ex ucb/ex ftp ucb/ftp gprof ucb/gprof indent ucb/indent lpr ucb/lpr more ucb/more msgs ucb/msgs netstat ucb/netstat rdist ucb/rdist talk ucb/talk tftp ucb/tftp tset ucb/tset vgrind ucb/vgrind # Programs that live in "ucb" biff ucb Makefile biff.c checknr ucb Makefile checknr.c clear ucb Makefile clear.c colcrt ucb Makefile colcrt.c colrm ucb Makefile colrm.c ctags ucb Makefile ctags.c expand ucb Makefile expand.c finger ucb Makefile finger.c fold ucb Makefile fold.c from ucb Makefile from.c fsplit ucb Makefile fsplit.c gcore ucb Makefile gcore.c groups ucb Makefile groups.c head ucb Makefile head.c last ucb Makefile last.c lastcomm ucb Makefile lastcomm.c leave ucb Makefile leave.c logger ucb Makefile logger.c man_prog ucb Makefile man.c mkstr ucb Makefile mkstr.c printenv ucb Makefile printenv.c quota ucb Makefile quota.c rcp ucb Makefile rcp.c rdate ucb Makefile rdate.c rlogin ucb Makefile rlogin.c rsh ucb Makefile rsh.c rup ucb Makefile rup.c ruptime ucb Makefile ruptime.c rusers ucb Makefile rusers.c rwho ucb Makefile rwho.c sccs ucb Makefile sccs.c script ucb Makefile script.c soelim ucb Makefile soelim.c strings ucb Makefile strings.c tail ucb Makefile tail.c tcopy ucb Makefile tcopy.c telnet ucb Makefile telnet.c ul ucb Makefile ul.c unexpand ucb Makefile unexpand.c unifdef ucb Makefile unifdef.c users ucb Makefile users.c vmstat ucb Makefile vmstat.c w ucb Makefile w.c wc ucb Makefile wc.c what ucb Makefile what.c whatis ucb Makefile whatis.c whereis ucb Makefile whereis.c whoami ucb Makefile whoami.c whois ucb Makefile whois.c xstr ucb Makefile xstr.c yes ucb Makefile yes.c # Sub-directories of "usr.bin" calendar usr.bin/calendar cflow usr.bin/cflow ctrace usr.bin/ctrace cxref usr.bin/cxref dc usr.bin/dc des usr.bin/des diff3 usr.bin/diff3 sun_eqn usr.bin/eqn file usr.bin/file find usr.bin/find graph usr.bin/graph lex usr.bin/lex sun_neqn usr.bin/neqn sun_nroff usr.bin/nroff sun_plot usr.bin/plot prof usr.bin/prof refer usr.bin/refer rpcgen usr.bin/rpcgen spell usr.bin/spell sun_tbl usr.bin/tbl tip usr.bin/tip trace usr.bin/trace sun_troff usr.bin/troff uucp usr.bin/uucp xsend usr.bin/xsend yacc usr.bin/yacc # Programs that live in "usr.bin" basename usr.bin Makefile basename.c bc usr.bin Makefile bc.c cal usr.bin Makefile cal.c cb usr.bin Makefile cb.c checkeq usr.bin Makefile checkeq.c chkey usr.bin Makefile chkey.c click usr.bin Makefile click.c col usr.bin Makefile col.c comm usr.bin Makefile comm.c cpio usr.bin Makefile cpio.c crypt usr.bin Makefile crypt.c csplit usr.bin Makefile csplit.c cut usr.bin Makefile cut.c deroff usr.bin Makefile deroff.c egrep usr.bin Makefile egrep.c fgrep usr.bin Makefile fgrep.c getopt usr.bin Makefile getopt.c id usr.bin Makefile id.c installcmd usr.bin Makefile installcmd.c iostat usr.bin Makefile iostat.c ipcrm usr.bin Makefile ipcrm.c ipcs usr.bin Makefile ipcs.c join usr.bin Makefile join.c keylogin usr.bin Makefile keylogin.c logname usr.bin Makefile logname.c look usr.bin Makefile look.c mesg usr.bin Makefile mesg.c nl usr.bin Makefile nl.c pack usr.bin Makefile pack.c paste usr.bin Makefile paste.c ptx usr.bin Makefile ptx.c rev usr.bin Makefile rev.c screenblank usr.bin Makefile screenblank.c sdiff usr.bin Makefile sdiff.c sleep usr.bin Makefile sleep.c sort usr.bin Makefile sort.c spline usr.bin Makefile spline.c split usr.bin Makefile split.c sum usr.bin Makefile sum.c touch usr.bin Makefile touch.c tr usr.bin Makefile tr.c tsort usr.bin Makefile tsort.c tty usr.bin Makefile tty.c uniq usr.bin Makefile uniq.c units usr.bin Makefile units.c unpack usr.bin Makefile unpack.c xargs usr.bin Makefile xargs.c ypcat usr.bin Makefile ypcat.c ypmatch usr.bin Makefile ypmatch.c yppasswd usr.bin Makefile yppasswd.c ypwhich usr.bin Makefile ypwhich.c # Sub-directories of "usr.etc" automount usr.etc/automount c2convert usr.etc/c2convert config usr.etc/config cron usr.etc/cron eeprom usr.etc/eeprom etherfind usr.etc/etherfind format usr.etc/format htable usr.etc/htable implog usr.etc/implog in.ftpd -a usr.etc/in.ftpd ucb/ftp in.named usr.etc/in.named in.rwhod usr.etc/in.rwhod keyserv usr.etc/keyserv ndbootd usr.etc/ndbootd praudit usr.etc/praudit rexd usr.etc/rexd rpc.bootparamd usr.etc/rpc.bootparamd termcap usr.etc/termcap upgrade usr.etc/upgrade yp usr.etc/yp zic usr.etc/zic # Programs that live in "usr.etc" ac usr.etc Makefile ac.c accton usr.etc Makefile accton.c audit usr.etc Makefile audit.c auditd usr.etc Makefile auditd.c catman usr.etc Makefile catman.c chroot usr.etc Makefile chroot.c dcheck usr.etc Makefile dcheck.c devnm usr.etc Makefile devnm.c dumpfs usr.etc Makefile dumpfs.c edquota usr.etc Makefile edquota.c exportfs usr.etc Makefile exportfs.c foption usr.etc Makefile foption.c gettable usr.etc Makefile gettable.c grpck usr.etc Makefile grpck.c icheck usr.etc Makefile icheck.c in.comsat usr.etc Makefile in.comsat.c in.fingerd usr.etc Makefile in.fingerd.c in.rexecd usr.etc Makefile in.rexecd.c in.telnetd usr.etc Makefile in.telnetd.c in.tnamed usr.etc Makefile in.tnamed.c kgmon usr.etc Makefile kgmon.c link usr.etc Makefile link.c mkfile usr.etc Makefile mkfile.c mkproto usr.etc Makefile mkproto.c mount_lo usr.etc Makefile mount_lo.c ncheck usr.etc Makefile ncheck.c nfsstat usr.etc Makefile nfsstat.c ping usr.etc Makefile ping.c pwck usr.etc Makefile pwck.c quot usr.etc Makefile quot.c quotacheck usr.etc Makefile quotacheck.c quotaon usr.etc Makefile quotaon.c rarpd usr.etc Makefile rarpd.c repquota usr.etc Makefile repquota.c route usr.etc Makefile route.c rpc.etherd usr.etc Makefile rpc.etherd.c rpc.mountd usr.etc Makefile rpc.mountd.c rpc.pwdauthd usr.etc Makefile rpc.pwdauthd.c rpc.rquotad usr.etc Makefile rpc.rquotad.c rpc.rstatd usr.etc Makefile rpc.rstatd.c rpc.rusersd usr.etc Makefile rpc.rusersd.c rpc.rwalld usr.etc Makefile rpc.rwalld.c rpc.sprayd usr.etc Makefile rpc.sprayd.c rpc.yppasswdd usr.etc Makefile rpc.yppasswdd.c rpc.ypupdated usr.etc Makefile rpc.ypupdated.c rpcinfo usr.etc Makefile rpcinfo.c rwall usr.etc Makefile rwall.c sa usr.etc Makefile sa.c savecore usr.etc Makefile savecore.c showmount usr.etc Makefile showmount.c spray usr.etc Makefile spray.c swapon usr.etc Makefile swapon.c trpt usr.etc Makefile trpt.c tunefs usr.etc Makefile tunefs.c unlink usr.etc Makefile unlink.c # Sub-directories of "usr.lib" bb_count usr.lib/bb_count fixedwidthfonts usr.lib/fixedwidthfonts libcurses usr.lib/libcurses libdbm usr.lib/libdbm libg usr.lib/libg libkvm usr.lib/libkvm libln usr.lib/libln liblwp usr.lib/liblwp libm usr.lib/libm libmp usr.lib/libmp libpixrect usr.lib/libpixrect libplot usr.lib/libplot libresolv usr.lib/libresolv librpcsvc usr.lib/librpcsvc libtermlib usr.lib/libtermlib liby usr.lib/liby me usr.lib/me ms usr.lib/ms sendmail usr.lib/sendmail sun_tmac usr.lib/tmac vfont usr.lib/vfont # Programs that live in "usr.lib" getNAME usr.lib Makefile getNAME makekey usr.lib Makefile makekey # Sub-directories of "5bin" 5diff3 5bin/diff3 5m4 5bin/m4 # Sub-directories of "5bin", but use sources from other places 5cxref -a 5bin/cxref usr.bin/cxref 5sed -a 5bin/sed bin/sed 5lint -a 5bin/lint lang/pcc lang/lint # Programs that live in "5bin" 5banner 5bin Makefile banner.c 5cat 5bin Makefile cat.c 5du 5bin Makefile du.c 5echo 5bin Makefile echo.c 5expr 5bin Makefile expr.c 5ls 5bin Makefile ls.c 5nohup 5bin Makefile nohup.c 5od 5bin Makefile od.c 5pg 5bin Makefile pg.c 5pr 5bin Makefile pr.c 5sum 5bin Makefile sum.c 5tabs 5bin Makefile tabs.c 5time 5bin Makefile time.c 5tr 5bin Makefile tr.c 5uname 5bin Makefile uname.c # Programs that live in "5bin", but use sources from other places 5chmod -a 5bin/Makefile bin/chmod.c 5date -a 5bin/Makefile bin/date.c 5grep -a 5bin/Makefile bin/grep.c 5stty -a 5bin/Makefile bin/stty.c 5col -a 5bin/Makefile usr.bin/col.c 5sort -a 5bin/Makefile usr.bin/sort.c 5touch -a 5bin/Makefile usr.bin/touch.c # Sub-directories of "5lib" 5compile 5lib/compile 5libcurses 5lib/libcurses 5liby 5lib/liby 5terminfo 5lib/terminfo # Programs that live in "5lib" # NONE usr/doc/cvs-1.3/examples/rcsinfo100644 2122 1750 1331 5171362602 15634 0ustar steinberert# # rcsinfo,v 1.3 1992/04/10 18:59:14 berliner Exp # # The "rcsinfo" file is used to control templates with which the editor # is invoked on commit and import. # # The first entry on a line is a regular expression which is tested # against the directory that the change is being made to, relative to the # $CVSROOT. If a match is found, then the remainder of the line is the # name of the file that contains the template. # # If the repository name does not match any of the regular expressions in this # file, the "DEFAULT" line is used, if it is specified. # # If the name ALL appears as a regular expression it is always used # in addition to the first matching regex or DEFAULT. # DEFAULT /src/master/CVSROOT/rcstemplate usr/doc/cvs-1.3/examples/Makefile100644 2122 1750 2472 5275727127 15731 0ustar steinberert# Generated automatically from Makefile.in by configure. # Makefile for GNU CVS example files. # Do not use this makefile directly, but only from `../Makefile'. # Copyright (C) 1986, 1988-1990 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # @(#)Makefile.in 1.3 92/04/10 SHELL = /bin/sh srcdir = . DISTFILES = Makefile.in commitinfo loginfo modules rcsinfo all: .PHONY: all install: all .PHONY: install tags: .PHONY: tags TAGS: .PHONY: TAGS ls: @echo $(DISTFILES) .PHONY: ls clean: /bin/rm -f *.o core .PHONY: clean distclean: clean rm -f Makefile .PHONY: distclean realclean: distclean .PHONY: realclean dist: ln $(DISTFILES) ../`cat ../.fname`/examples .PHONY: dist usr/doc/cvs-1.3/Makefile100644 2122 1750 14371 5275727553 14137 0ustar steinberert# Generated automatically from Makefile.in by configure. # Master Makefile for the GNU Concurrent Versions System. # Copyright (C) 1986, 1988-1992 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # @(#)Makefile.in 1.17 92/04/10 SHELL = /bin/sh #### Start of system configuration section. #### srcdir = . # If you use gcc, you should either run the fixincludes script that # comes with it or else use gcc with the -traditional option. Otherwise # ioctl calls will be compiled incorrectly on some systems. CC = gcc -pipe -s -O6 AR = ar # Older makes don't set $(MAKE), so we set it for them. MAKE = make # Set RANLIB = echo if your system doesn't have or need ranlib. RANLIB = ranlib # Set YACC = bison or yacc, depending on which you have on your system YACC = bison -y # Use cp if you don't have install. INSTALL = install -c INSTALLDATA = install -c -m 644 # Things you might add to DEFS: # -DSTDC_HEADERS If you have ANSI C headers and libraries. # -DPOSIX If you have POSIX.1 headers and libraries. # Also need to define -DDIRENT. # -DUSG If you have System V/ANSI C string and # memory functions and headers, ndir.h, # sys/sysmacros.h, no sys/times.h, fcntl.h, # getcwd. # -DSIGTYPE=int If your signal handlers return int, not void. # -DDIRENT If you have dirent.h. # -DSYSNDIR Old Xenix systems (selects sys/ndir.h). # -DNDIR Uses instead od . # -Duid_t=int If does not define uid_t. # -Dgid_t=int If does not define gid_t. # -Dmode_t=int If does not define mode_t. # -Dsize_t=int If does not define size_t. # -D__CHAR_UNSIGNED__ If type `char' is unsigned. # -DTM_IN_SYS_TIME If does not define struct tm. # -DFCHMOD_MISSING If you lack fchmod system call. # -DFSYNC_MISSING If you lack fsync system call. # -DFTIME_MISSING If you lack ftime function. # -DMKFIFO_MISSING If you lack mkfifo system call, but have FIFOs. # -DPUTENV_MISSING If you lack putenv function. # -DSTRERROR_MISSING If you lack strerror function. # -DSETVBUF_MISSING If you lack setvbuf function. # -DVFORK_MISSING If you lack vfork system call. # -DVPRINTF_MISSING If you lack vprintf function (but have _doprnt). # -DDOPRNT_MISSING If you lack _doprnt function. Also need to define # -DVPRINTF_MISSING. # -DTIMEB_H_MISSING If you don't have a include file. # -DHAVE_TIMEZONE If you lack ftime, but do have a timezone function. # -DBSD_SIGNALS If you lack POSIX signals, but have BSD signals. # -DFTRUNCATE_MISSING If you lack ftruncate system call. # -DUTIME_NULL_MISSING If your utime system call does not use the # current time when passed a null time pointer. # -DMVDIR=libdir/mvdir If you lack rename system call. DEFS = -DDIRENT -DSTDC_HEADERS -DPOSIX -DSTRERROR_MISSING LIBS = LIBPROGS = CDEBUG = INCLUDES = -I. -I../lib CFLAGS = $(CDEBUG) $(DEFS) $(INCLUDES) LDFLAGS = $(CDEBUG) prefix = /usr/local exec_prefix = /usr/local # Where to install the executables. bindir = $(exec_prefix)/bin # Where to put the system-wide .cvsrc file libdir = $(prefix)/lib # Where to put the manual pages. mandir = $(prefix)/man #### End of system configuration section. #### MDEFINES = bindir='$(bindir)' libdir='$(libdir)' mandir='$(mandir)' \ INSTALL='$(INSTALL)' INSTALLDATA='$(INSTALLDATA)' \ LIBS='$(LIBS)' LIBPROGS='$(LIBPROGS)' MAKE='$(MAKE)' \ AR='$(AR)' RANLIB='$(RANLIB)' \ YACC='$(YACC)' CFLAGS='$(CFLAGS)' LDFLAGS='$(LDFLAGS)' LIBS='$(LIBS)' \ CC='$(CC)' INCLUDES='$(INCLUDES)' DEFS='$(DEFS)' DISTFILES = COPYING COPYING.LIB ChangeLog INSTALL Makefile.in README TODO configure # Subdirectories to run make in for the primary targets. SUBDIRS = lib src man doc examples contrib # Only make TAGS/tags files in these directories, in this order TSUBDIRS= src lib all: @for dir in $(SUBDIRS); do echo making $@ in $$dir; cd $$dir; $(MAKE) $(MDEFINES) $@ || exit 1; cd ..; done .PHONY: all info: clean-info: install-info: install: @for dir in $(SUBDIRS); do echo making $@ in $$dir; cd $$dir; $(MAKE) $(MDEFINES) $@ || exit 1; cd ..; done .PHONY: install tags: @for dir in $(TSUBDIRS); do echo making $@ in $$dir; cd $$dir; $(MAKE) $(MDEFINES) $@ || exit 1; cd ..; done @echo making $@ in . @ctags `for i in \`$(MAKE) SUBDIRS="$(TSUBDIRS)" ls\` ; do echo $(srcdir)/$$i ; done` .PHONY: tags TAGS: @for dir in $(TSUBDIRS); do echo making $@ in $$dir; cd $$dir; $(MAKE) $(MDEFINES) $@ || exit 1; cd ..; done @echo making $@ in . @etags `for i in \`$(MAKE) SUBDIRS="$(TSUBDIRS)" ls\` ; do echo $(srcdir)/$$i ; done` ls: @echo $(DISTFILES) @for dir in $(SUBDIRS); do \ for i in `cd $$dir; $(MAKE) $(MDEFINES) $@` ; do \ echo $$dir/$$i ; \ done ; \ done .PHONY: ls clean: @for dir in $(SUBDIRS); do echo making $@ in $$dir; cd $$dir; $(MAKE) $(MDEFINES) $@ || exit 1; cd ..; done .PHONY: clean distclean: @for dir in $(SUBDIRS); do echo making $@ in $$dir; cd $$dir; $(MAKE) $(MDEFINES) $@ || exit 1; cd ..; done rm -f Makefile config.status tags TAGS .PHONY: distclean realclean: @for dir in $(SUBDIRS); do echo making $@ in $$dir; cd $$dir; $(MAKE) $(MDEFINES) $@ || exit 1; cd ..; done rm -f Makefile config.status tags TAGS .PHONY: realclean saber: @for dir in $(SUBDIRS); do cd $$dir; $(MAKE) $(MDEFINES) $@ || exit 1; cd ..; done .PHONY: saber lint: @for dir in $(SUBDIRS); do cd $$dir; $(MAKE) $(MDEFINES) xlint || exit 1; cd ..; done .PHONY: lint dist: echo cvs-`sed -e '/version_string/!d' -e 's/[^0-9.]*\([0-9.]*\).*/\1/' -e q src/version.c` > .fname rm -rf `cat .fname` mkdir `cat .fname` ln $(DISTFILES) `cat .fname` for dir in $(SUBDIRS); do mkdir `cat .fname`/$$dir; cd $$dir; $(MAKE) $@; cd ..; done tar chZf `cat .fname`.tar.Z `cat .fname` rm -rf `cat .fname` .fname usr/doc/cvs-1.3/config.status100644 2122 1750 440 5275727130 15130 0ustar steinberertsrcdir = . prefix = /usr/local exec_prefix = /usr/local includeopt = VPATH = CC = gcc RANLIB = ranlib YACC = bison -y INSTALL = install -c INSTALLDATA = install -c -m 644 DEFS = -DDIRENT -DSTDC_HEADERS -DPOSIX -DSTRERROR_MISSING LIBS = LIBPROGS = LIBOBJS = fnmatch.o CDEBUG = -g -O home/ 40755 2122 1750 0 5502067255 10621 5ustar steinbererthome/Master/ 40755 2122 1750 0 5501734435 12054 5ustar steinbererthome/Master/CVSROOT/ 42755 2122 1750 0 5501734460 13213 5ustar steinbererthome/Master/CVSROOT/modules100644 2122 1750 2475 5402307216 14704 0ustar steinberert# # The CVS modules file # # Three different line formats are valid: # key -a aliases... # key [options] directory # key [options] directory files... # # Where "options" are composed of: # -i prog Run "prog" on "cvs commit" from top-level of module. # -o prog Run "prog" on "cvs checkout" of module. # -t prog Run "prog" on "cvs rtag" of module. # -u prog Run "prog" on "cvs update" of module. # -d dir Place module in directory "dir" instead of module name. # -l Top-level directory only -- do not recurse. # # And "directory" is a path to a directory relative to $CVSROOT. # # The "-a" option specifies an alias. An alias is interpreted as if # everything on the right of the "-a" had been typed on the command line. # # You can encode a module within a module by using the special '&' # character to interpose another module into the current module. This # can be useful for creating a module that consists of many directories # spread out over the entire source repository. # # Convenient aliases world -a . # CVSROOT support; run mkmodules whenever anything changes. CVSROOT -i mkmodules CVSROOT modules -i mkmodules CVSROOT modules loginfo -i mkmodules CVSROOT loginfo commitinfo -i mkmodules CVSROOT commitinfo rcsinfo -i mkmodules CVSROOT rcsinfo editinfo -i mkmodules CVSROOT editinfo # Add other modules here... home/Master/CVSROOT/log.pl100755 2122 1750 4303 5402307214 14420 0ustar steinberert#!/usr/bin/perl #!/usr/bin/perl # Modified by berliner@Sun.COM to add support for CVS 1.3 2/27/92 # # Date: Tue, 6 Aug 91 13:27 EDT # From: samborn@sunrise.com (Kevin Samborn) # # I revised the perl script I sent you yesterday to use the info you # send in on stdin. (I am appending the newer script to the end) # # now the output looks like this: # # ************************************** # date: Tuesday, August 6, 1991 @ 13:17 # author: samborn # Update of /elmer/cvs/CVSROOT.adm # In directory astro:/home/samborn/CVSROOT.adm # # Modified Files: # test3 # # Added Files: # test6 # # Removed Files: # test4 # # Log Message: # wow, what a test # # RCS: 1.4 /elmer/cvs/CVSROOT.adm/test3,v # RCS: 1.1 /elmer/cvs/CVSROOT.adm/test6,v # RCS: 1.1 /elmer/cvs/CVSROOT.adm/Attic/test4,v # # # turn off setgid # $) = $(; # # parse command line arguments # @files = split(/ /,$ARGV[0]); $logfile = $ARGV[1]; $cvsroot = $ENV{'CVSROOT'}; # # Some date and time arrays # @mos = (January,February,March,April,May,June,July,August,September, October,November,December); @days = (Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday); ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime; # # get login name # $login = getlogin || (getpwuid($<))[0] || "nobody"; # # open log file for appending # if ((open(OUT, ">>" . $logfile)) != 1) { die "Could not open logfile " . $logfile . "\n"; } # # Header # print OUT "\n"; print OUT "**************************************\n"; print OUT "date: " . $days[$wday] . ", " . $mos[$mon] . " " . $mday . ", 19" . $year . " @ " . $hour . ":" . sprintf("%02d", $min) . "\n"; print OUT "author: " . $login . "\n"; # #print the stuff on stdin to the logfile # open(IN, "-"); while() { print OUT $_; } close(IN); print OUT "\n"; # # after log information, do an 'cvs -Qn status' on each file in the arguments. # for $file (@files[1..$#files]) { if ($file eq "-") { last; } open(RCS,"-|") || exec 'cvs', '-Qn', 'status', $file; while () { if (substr($_, 0, 7) eq " RCS") { print OUT; } } close (RCS); } close (OUT); home/Master/CVSROOT/modules,v100644 2122 1750 2766 5402307214 15147 0ustar steinbererthead 1.1; access; symbols; locks; strict; comment @# @; 1.1 date 93.05.31.04.50.20; author root; state Exp; branches; next ; desc @@ 1.1 log @initial checkin of modules @ text @# # The CVS modules file # # Three different line formats are valid: # key -a aliases... # key [options] directory # key [options] directory files... # # Where "options" are composed of: # -i prog Run "prog" on "cvs commit" from top-level of module. # -o prog Run "prog" on "cvs checkout" of module. # -t prog Run "prog" on "cvs rtag" of module. # -u prog Run "prog" on "cvs update" of module. # -d dir Place module in directory "dir" instead of module name. # -l Top-level directory only -- do not recurse. # # And "directory" is a path to a directory relative to $CVSROOT. # # The "-a" option specifies an alias. An alias is interpreted as if # everything on the right of the "-a" had been typed on the command line. # # You can encode a module within a module by using the special '&' # character to interpose another module into the current module. This # can be useful for creating a module that consists of many directories # spread out over the entire source repository. # # Convenient aliases world -a . # CVSROOT support; run mkmodules whenever anything changes. CVSROOT -i mkmodules CVSROOT modules -i mkmodules CVSROOT modules loginfo -i mkmodules CVSROOT loginfo commitinfo -i mkmodules CVSROOT commitinfo rcsinfo -i mkmodules CVSROOT rcsinfo editinfo -i mkmodules CVSROOT editinfo # Add other modules here... @ home/Master/CVSROOT/loginfo100644 2122 1750 1651 5402307216 14664 0ustar steinberert# # @(#)loginfo 1.5 92/03/31 # # The "loginfo" file is used to control where "cvs commit" log information # is sent. The first entry on a line is a regular expression which is tested # against the directory that the change is being made to, relative to the # $CVSROOT. If a match is found, then the remainder of the line is a filter # program that should expect log information on its standard input. # # The filter program may use one and only one % modifier (ala printf). If # %s is specified in the filter program, a brief title is included (enclosed # in single quotes) showing the modified file names. # # If the repository name does not match any of the regular expressions in this # file, the "DEFAULT" line is used, if it is specified. # # If the name ALL appears as a regular expression it is always used # in addition to the first matching regex or DEFAULT. # DEFAULT $CVSROOT/CVSROOT/log.pl %s $CVSROOT/CVSROOT/commitlog home/Master/CVSROOT/commitinfo100644 2122 1750 1515 5402307216 15372 0ustar steinberert# # commitinfo,v 1.2 1992/03/31 04:19:47 berliner Exp # # The "commitinfo" file is used to control pre-commit checks. # The filter on the right is invoked with the repository and a list # of files to check. A non-zero exit of the filter program will # cause the commit to be aborted. # # The first entry on a line is a regular expression which is tested # against the directory that the change is being committed to, relative to the # $CVSROOT. If a match is found, then the remainder of the line is the # name of the filter to run. # # If the repository name does not match any of the regular expressions in this # file, the "DEFAULT" line is used, if it is specified. # # If the name ALL appears as a regular expression it is always used # in addition to the first matching regex or DEFAULT. # #^cvs checkforcvsid #DEFAULT checkforid home/Master/CVSROOT/loginfo,v100644 2122 1750 2143 5402307215 15122 0ustar steinbererthead 1.1; access; symbols; locks; strict; comment @# @; 1.1 date 93.05.31.04.50.21; author root; state Exp; branches; next ; desc @@ 1.1 log @initial checkin of loginfo @ text @# # @@(#)loginfo 1.5 92/03/31 # # The "loginfo" file is used to control where "cvs commit" log information # is sent. The first entry on a line is a regular expression which is tested # against the directory that the change is being made to, relative to the # $CVSROOT. If a match is found, then the remainder of the line is a filter # program that should expect log information on its standard input. # # The filter program may use one and only one % modifier (ala printf). If # %s is specified in the filter program, a brief title is included (enclosed # in single quotes) showing the modified file names. # # If the repository name does not match any of the regular expressions in this # file, the "DEFAULT" line is used, if it is specified. # # If the name ALL appears as a regular expression it is always used # in addition to the first matching regex or DEFAULT. # DEFAULT $CVSROOT/CVSROOT/log.pl %s $CVSROOT/CVSROOT/commitlog @ home/Master/CVSROOT/rcsinfo100644 2122 1750 1332 5402307216 14666 0ustar steinberert# # rcsinfo,v 1.3 1992/04/10 18:59:14 berliner Exp # # The "rcsinfo" file is used to control templates with which the editor # is invoked on commit and import. # # The first entry on a line is a regular expression which is tested # against the directory that the change is being made to, relative to the # $CVSROOT. If a match is found, then the remainder of the line is the # name of the file that contains the template. # # If the repository name does not match any of the regular expressions in this # file, the "DEFAULT" line is used, if it is specified. # # If the name ALL appears as a regular expression it is always used # in addition to the first matching regex or DEFAULT. # #DEFAULT /src/master/CVSROOT/rcstemplate home/Master/CVSROOT/commitinfo,v100644 2122 1750 2011 5402307215 15623 0ustar steinbererthead 1.1; access; symbols; locks; strict; comment @# @; 1.1 date 93.05.31.04.50.21; author root; state Exp; branches; next ; desc @@ 1.1 log @initial checkin of commitinfo @ text @# # commitinfo,v 1.2 1992/03/31 04:19:47 berliner Exp # # The "commitinfo" file is used to control pre-commit checks. # The filter on the right is invoked with the repository and a list # of files to check. A non-zero exit of the filter program will # cause the commit to be aborted. # # The first entry on a line is a regular expression which is tested # against the directory that the change is being committed to, relative to the # $CVSROOT. If a match is found, then the remainder of the line is the # name of the filter to run. # # If the repository name does not match any of the regular expressions in this # file, the "DEFAULT" line is used, if it is specified. # # If the name ALL appears as a regular expression it is always used # in addition to the first matching regex or DEFAULT. # #^cvs checkforcvsid #DEFAULT checkforid @ home/Master/CVSROOT/editinfo100644 2122 1750 2441 5402307216 15026 0ustar steinberert# # editinfo,v 1.1 1992/03/21 06:49:39 berliner Exp # # The "editinfo" file is used to allow verification of logging # information. It works best when a template (as specified in the # rcsinfo file) is provided for the logging procedure. Given a # template with locations for, a bug-id number, a list of people who # reviewed the code before it can be checked in, and an external # process to catalog the differences that were code reviewed, the # following test can be applied to the code: # # Making sure that the entered bug-id number is correct. # Validating that the code that was reviewed is indeed the code being # checked in (using the bug-id number or a seperate review # number to identify this particular code set.). # # If any of the above test failed, then the commit would be aborted. # # Actions such as mailing a copy of the report to each reviewer are # better handled by an entry in the loginfo file. # # Although these test could be handled by an interactive script being # called via an entry in commitinfo, The information reported in # such a script can't be easily merged into the report. # # One thing that should be noted is the the ALL keyword is not # supported. There can be only one entry that matches a given # repository. # #DEFAULT $CVSROOT/CVSROOT/edit "%s" home/Master/CVSROOT/rcsinfo,v100644 2122 1750 1623 5402307215 15132 0ustar steinbererthead 1.1; access; symbols; locks; strict; comment @# @; 1.1 date 93.05.31.04.50.21; author root; state Exp; branches; next ; desc @@ 1.1 log @initial checkin of rcsinfo @ text @# # rcsinfo,v 1.3 1992/04/10 18:59:14 berliner Exp # # The "rcsinfo" file is used to control templates with which the editor # is invoked on commit and import. # # The first entry on a line is a regular expression which is tested # against the directory that the change is being made to, relative to the # $CVSROOT. If a match is found, then the remainder of the line is the # name of the file that contains the template. # # If the repository name does not match any of the regular expressions in this # file, the "DEFAULT" line is used, if it is specified. # # If the name ALL appears as a regular expression it is always used # in addition to the first matching regex or DEFAULT. # #DEFAULT /src/master/CVSROOT/rcstemplate @ home/Master/CVSROOT/commitlog100644 2122 1750 0 5501734472 15134 0ustar steinbererthome/Master/CVSROOT/editinfo,v100644 2122 1750 2733 5402307215 15273 0ustar steinbererthead 1.1; access; symbols; locks; strict; comment @# @; 1.1 date 93.05.31.04.50.21; author root; state Exp; branches; next ; desc @@ 1.1 log @initial checkin of editinfo @ text @# # editinfo,v 1.1 1992/03/21 06:49:39 berliner Exp # # The "editinfo" file is used to allow verification of logging # information. It works best when a template (as specified in the # rcsinfo file) is provided for the logging procedure. Given a # template with locations for, a bug-id number, a list of people who # reviewed the code before it can be checked in, and an external # process to catalog the differences that were code reviewed, the # following test can be applied to the code: # # Making sure that the entered bug-id number is correct. # Validating that the code that was reviewed is indeed the code being # checked in (using the bug-id number or a seperate review # number to identify this particular code set.). # # If any of the above test failed, then the commit would be aborted. # # Actions such as mailing a copy of the report to each reviewer are # better handled by an entry in the loginfo file. # # Although these test could be handled by an interactive script being # called via an entry in commitinfo, The information reported in # such a script can't be easily merged into the report. # # One thing that should be noted is the the ALL keyword is not # supported. There can be only one entry that matches a given # repository. # #DEFAULT $CVSROOT/CVSROOT/edit "%s" @ home/Master/CVSROOT/history100644 2122 1750 0 5501734466 14646 0ustar steinberert