📄 rcs.ps
字号:
%!PS-Adobe-1.0%%Creator: devps (Pipeline Associates, Inc.)%%CreationDate: Fri Jan 4 00:13:52 1991%%Pages: (atend)%%DocumentFonts: (atend)/X /exch load def/r /rmoveto load def/m /moveto load def/l /lineto load def/rl /rlineto load def/lc{yc X xc X l st} bind def/mc{yc X xc X m} bind def/el{gs /a X def a div 1 X scale cp np a xc 2 div 0 360 arc st gr} bind def/ar{cp 7 2 roll np xc 5 1 roll atan 3 1 roll atan X arc st} bind def/sp{yc X xc X 6 2 roll yc X xc X 6 2 roll yc X xc X 6 2 roll ct} bind def/st /stroke load def/gs /gsave load def/gr /grestore load def/cp /currentpoint load def/np /newpath load def/ct /curveto load def/m0{0 0 moveto} bind def/BP{/devps-save save def m0} bind def/EP{clear devps-save restoreshowpage} bind def/res 10.000000 def/V{res neg div 792 addcurrentpoint pop Xm} bind def/H{res divcurrentpoint X poptransform round exch round exch itransformmoveto} bind def/h{res div 0 r} bind def/v{res neg div 0 X r} bind def/xc{res div} bind def/yc{res neg div 792 add} bind def/S{X H show} bind def/psize 10 def/height 1 def/slant 0 def/FF{findfont X dup 12 div setlinewidth /psize X def [psize 0 psize height mul slant sin slant cos div mul psize height mul 0 0] makefont setfont} bind def/shade{gs /dy X def /dx X def np m setgray 0 dy rl dx 0 rl 0 dy neg rl dx neg 0 rl closepath fillgr} bind def1 setlinecap50 dict dup begin/FontType 3 def/FontName /DIThacks def/FontMatrix [.001 0.0 0.0 .001 0.0 0.0] def/FontBBox [-220 -280 1000 1000] def/Encoding 256 array def0 1 255{Encoding exch /.notdef put}forEncoding dup 8#040/space put dup 8#110/rc put dup 8#111/lt put dup 8#112/bv put dup 8#113/lk put dup 8#114/lb put dup 8#115/rt put dup 8#116/rk put dup 8#117/rb put dup 8#120/rf put dup 8#121/lf put dup 8#122/lc put dup 8#140/sq put dup 8#141/bx put dup 8#142/ci put dup 8#143/br put dup 8#144/rn put dup 8#145/vr put dup 8#146/ob put dup 8#147/bu put dup 8#150/ru put dup 8#151/ul put dup 8#326/sr put pop/DITfd 100 dict def/BuildChar{0 begin /cc exch def /fd exch def /charname fd /Encoding get cc get def /charwid fd /Metrics get charname get def /charproc fd /CharProcs get charname get def charwid 0 fd /FontBBox get aload pop setcachedevice 2 setlinejoin 40 setlinewidth newpath 0 0 moveto gsave charproc grestore end}def/BuildChar load 0 DITfd put/CharProcs 50 dict defCharProcs begin/space{}def/.notdef{}def/ru{500 0 rls}def/rn{0 750 moveto 500 0 rls}def/vr{0 800 moveto 0 -770 rls}def/bv{0 800 moveto 0 -1000 rls}def/br{0 750 moveto 0 -1000 rls}def/ul{0 -250 moveto 500 0 rls}def/ob{200 250 rmoveto currentpoint newpath 200 0 360 arc closepath stroke}def/bu{200 250 rmoveto currentpoint newpath 200 0 360 arc closepath fill}def/sq{80 0 rmoveto currentpoint dround newpath moveto 640 0 rlineto 0 640 rlineto -640 0 rlineto closepath stroke}def/bx{80 0 rmoveto currentpoint dround newpath moveto 640 0 rlineto 0 640 rlineto -640 0 rlineto closepath fill}def/ci{355 333 rmoveto currentpoint newpath 333 0 360 arc 50 setlinewidth stroke}def/lt{0 -200 moveto 0 550 rlineto currx 800 2cx s4 add exch s4 a4p stroke}def/lb{0 800 moveto 0 -550 rlineto currx -200 2cx s4 add exch s4 a4p stroke}def/rt{0 -200 moveto 0 550 rlineto currx 800 2cx s4 sub exch s4 a4p stroke}def/rb{0 800 moveto 0 -500 rlineto currx -200 2cx s4 sub exch s4 a4p stroke}def/lk{0 800 moveto 0 300 -300 300 s4 arcto pop pop 1000 sub 0 300 4 2 roll s4 a4p 0 -200 lineto stroke}def/rk{0 800 moveto 0 300 s2 300 s4 arcto pop pop 1000 sub 0 300 4 2 roll s4 a4p 0 -200 lineto stroke}def/lf{0 800 moveto 0 -1000 rlineto s4 0 rls}def/rf{0 800 moveto 0 -1000 rlineto s4 neg 0 rls}def/lc{0 -200 moveto 0 1000 rlineto s4 0 rls}def/rc{0 -200 moveto 0 1000 rlineto s4 neg 0 rls}def/sr{395.744681 0 moveto 557.446809 995.744681 lineto 521.276596 1000 lineto 382.978723 170.212766 lineto 168.085106 602.127660 lineto 8.510638 525.531915 lineto 23.404255 496.170213 lineto 127.659574 546.808511 lineto 395.744681 0 lineto closepath fill} defend/Metrics 50 dict def Metrics begin/.notdef 0 def/space 500 def/ru 500 def/br 0 def/lt 416 def/lb 416 def/rt 416 def/rb 416 def/lk 416 def/rk 416 def/rc 416 def/lc 416 def/rf 416 def/lf 416 def/bv 416 def/ob 350 def/bu 350 def/ci 750 def/bx 750 def/sq 750 def/rn 500 def/ul 500 def/vr 0 def/sr 750 defendDITfd begin/s2 500 def /s4 250 def /s3 333 def/a4p{arcto pop pop pop pop}def/2cx{2 copy exch}def/rls{rlineto stroke}def/currx{currentpoint pop}def/dround{transform round exch round exch itransform} defendend/DIThacks exch definefont pop/DocumentInitState [ matrix currentmatrix currentlinewidth currentlinecapcurrentlinejoin currentdash currentgray currentmiterlimit ] cvx def/resolution 720 def/startFig { /SavedState save def userdict maxlength dict begin currentpoint transform DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap setlinewidth setmatrix itransform moveto /ury exch def /urx exch def /lly exch def /llx exch def /y exch 72 mul resolution div def /x exch 72 mul resolution div def currentpoint /cy exch def /cx exch def /sx x urx llx sub div def % scaling for x /sy y ury lly sub div def % scaling for y sx sy scale % scale by (sx,sy) cx sx div llx sub cy sy div ury sub translate /DefFigCTM matrix currentmatrix def /initmatrix { DefFigCTM setmatrix } def /defaultmatrix { DefFigCTM exch copy } def /initgraphics { DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap setlinewidth setmatrix DefFigCTM setmatrix } def /showpage { initgraphics } def} def/clipFig { currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll exch lineto exch lineto exch lineto closepath clip newpath moveto} def/doclip { llx lly urx ury clipFig } def/endFig { end SavedState restore} def/globalstart { % Push details about the enviornment on the stack. fontnum fontsize fontslant fontheight % firstpage mh my resolution slotno currentpoint pagesave restore gsave} def/globalend { grestore moveto /slotno exch def /resolution exch def /my exch def /mh exch def % /firstpage exch def /fontheight exch def /fontslant exch def /fontsize exch def /fontnum exch def F /pagesave save def} def/C{/Courier FF}def/R{/Times-Roman FF}def/B{/Times-Bold FF}def/I{/Times-Italic FF}def%% Troff special characters not on Symbol font%% Copyright (C) 1986 by Pipeline Associates, Inc.%% Version 1.0/altRTD 20 dict defaltRTD begin/s{setcachedevice}def/C{1000 1000 scale}def/m /moveto load def/c /curveto load def/S /stroke load def/l /lineto load def/a /arcto load def/p /pop load def/sl /setlinewidth load defend/F_Troff 17 dict def F_Troff beginsystemdict /currentpacking known{/SavePacking currentpacking def true setpacking}if/PaintType 0 def/FontType 3 def/StrokeWidth 0 def/UniqueID 8277003 def/FontMatrix [.001000 0 0 .001000 0 0] def/FontBBox [-12 -105 942 855 ] def/Encoding 256 array def/CD 256 1 add dict def/FontInfo 3 dict def FontInfo begin/UnderlinePosition -133 def /UnderlineThickness 20 def end/FontName (Troff) def0 1 256 1 sub{Encoding exch /.notdef put}forCD /.notdef{500 0 setcharwidth{}}putEncoding (1) 0 get /br put%% bold vertical rule used by tblCD /br{C0 0 -.5 -.5 1 1 snp.05 sl0 -.1 m0 .9 l{S}}putEncoding (2) 0 get /ul put%% underline used by tblCD /ul{C.5 0 -.5 -.5 1 1 snp.05 sl0 -.1 m.5 -.1 l{S}}putEncoding (3) 0 get /ru put%% baseline ruleCD /ru{C.5 0 -.5 -.5 1 1 snp.05 slm0.5 0 l{S}}putEncoding (4) 0 get /vr put%% vertical ruleCD /vr{C0 0 -.5 -.5 1 1 snp.05 slm00 1 l{S}}putEncoding (5) 0 get /sq put%% squareCD /sq{C.5 0 -.5 -.5 1 1 snp.05 sl0 .25 m0 .5 rl.5 0 rl0 -.5 rl-.5 0 rlclosepath{S}}putEncoding (6) 0 get /bx put%% solid boxCD /bx{C.5 0 -.5 -.5 1 1 snp0 .25 m0 .5 rl.5 0 rl0 -.5 rl-.5 0 rlclosepath{fill}}putEncoding (7) 0 get /rn put%% radical extenderCD /rn{C.5 0 -.5 -.5 1 1 snp.03 sl-.03 .9 m.5 0 rl{S}}putEncoding (8) 0 get /GR put%% gray maskCD /GR{C.5 0 setcharwidth.5 setgraynp0 -.1 m0 1 rl.5 0 rl0 -1 rl-.5 0 rlclosepath{fill}}putEncoding 97 /a putCD /a{1000 0 0 66 942 421 s 430 415m 578 406 678 349 662 319 c 655 306 614 287 583296 c 570 300 466 340 438 332 c 365 309 335 213270 209 c 0 310 m 108 310 l 108 114 l 0114 l 0 310 l 42 161 m 42 134 l 66 134 l 66161 l 42 161 l 47 155 m 47 140 l 62 140 l 62155 l 47 155 l 110 133 m 226 113 300 66 41080 c 497 91 550 69 634 76 c 645 76 663 92 669107 c 677 125 673 141 668 160 c 725 334 m 758332 734 253 701 250 c 501 325 m 475 316 476 309473 302 c 465 282 482 263 499 257 c 552 236 615253 689 253 c 701 253 713 236 713 218 c 712 194702 168 678 161 c 671 159 663 160 655 160 c 591158 516 156 479 168 c 461 173 453 191 453 210 c 453224 456 235 466 244 c 476 253 490 252 503 255 c 45984 m 447 96 435 106 435 123 c 435 136 440 145 447155 c 453 163 462 168 469 173 c 110 293 m 173318 300 421 435 415 c 609 407 852 416 885 411 c 898409 924 411 930 380 c 942 316 828 339 742 334 c 731334 730 335 725 335 c 701 336 685 336 660 336 c{S}}putEncoding 98 /b putCD /b{1000 0 -12 66 930 421 s 500415 m 352 406 252 349 268 319 c 275 306 316 287347 296 c 360 300 464 340 492 332 c 565 309 595213 660 209 c 930 310 m 822 310 l 822 114 l 930114 l 930 310 l 888 161 m 888 134 l 864 134l 864 161 l 888 161 l 883 155 m 883 140 l 868140 l 868 155 l 883 155 l 820 133 m 704 113630 66 520 80 c 433 91 380 69 296 76 c 285 76267 92 261 107 c 253 125 257 141 262 160 c 205334 m 172 332 196 253 229 250 c 429 325 m 455316 454 309 457 302 c 465 282 448 263 431 257 c 378236 315 253 241 253 c 229 253 217 236 217 218 c 218194 228 168 252 161 c 259 159 267 160 275 160 c 339158 414 156 451 168 c 469 173 477 191 477 210 c 477224 474 235 464 244 c 454 253 440 252 427 255 c 47184 m 483 96 495 106 495 123 c 495 136 490 145 483155 c 477 163 468 168 461 173 c 820 293 m 757318 630 421 495 415 c 321 407 78 416 45 411 c 32409 6 411 0 380 c -12 316 102 339 188 334 c 199334 200 335 205 335 c 229 336 245 336 270 336 c{S}}putEncoding 99 /c putCD /c{1000 0 184 0 827 627 s 185 315m 186 488 332 627 505 625 c 682 623 827 467 815290 c 804 124 666 0 500 0 c 327 0 184 142 185315 c{S}}putEncoding 100 /d putCD /d{590 0 134 158 477 500 s 300160 m 208 162 134 238 135 330 c 136 423 212 500305 500 c 397 500 473 427 475 335 c 477 239 396158 300 160 c{fill}}putEncoding 101 /e put % Bell SymbolCD /e{1010 0 -100 -210 1010 1010 s 100 sl 0 setlinecap420 300 450 0 360 arc420 650 m 420 575 l Snewpath 120 125 m 720 125 l 75 sl S420 125 m 420 25 l S220 400 m 220 175 120 175 100 a p p p p220 400 m 220 550 420 550 80 a p p p p 620 400 m 620 175 720 175 100 a p p p p620 400 m 620 550 420 550 80 a p p p p295 550 m 545 550 l{S}}put/BuildChar{altRTD /BuildChar get exec}def endaltRTD begin /BuildChar{altRTD begin/char exch def /fontdict exch def save/charname fontdict /Encoding get char get deffontdict /StrokeWidth get slfontdict /CD get dup charname known{charname}{/.notdef}ifelse get newpath execfontdict /PaintType get 0 eq{exec}{p S}ifelserestore end}def endsystemdict /currentpacking known{F_Troff /SavePacking get setpacking}if/Troff F_Troff definefont pop/Y1{/Troff FF}def/Y{/Symbol FF}def%%EndProlog%%Page: 0 1BP/slant 0 def/height 1.000000 def10 C10 R40 V0(-)S1230 V12 B1925(RCS\320A)S2406(System)S2809(for)S2998(Version)S3434(Control)S1620 V10 I2560(Walter)S2862(F.)S2978(Tichy)S1800 V10 R2183(Department)S2684(of)S2797(Computer)S3227(Sciences)S1920 V2512(Purdue)S2825(University)S2040 V2257(West)S2492(Lafayette,)S2923(Indiana)S3252(47907)S2640 V10 I2643(ABSTRACT)S2880 V10 R1330(An)S1490(important)S1917(problem)S2289(in)S2406(program)S2783(development)S3338(and)S3521(maintenance)S4064(is)S4170(version)S4503(con-)S3000 V1080(trol,)S1302(i.e.,)S1507(the)S1687(task)S1906(of)S2047(keeping)S2421(a)S2523(software)S2924(system)S3260(consisting)S3724(of)S3865(many)S4145(versions)S4536(and)S3120 V1080(con\256gurations)S1691(well)S1902(organized.)S2389(The)S2583(Revision)S2978(Control)S3323(System)S3657(\(RCS\))S3952(is)S4058(a)S4141(software)S4524(tool)S3240 V1080(that)S1280(assists)S1586(with)S1814(that)S2014(task.)S2280(RCS)S2520(manages)S2919(revisions)S3330(of)S3463(text)S3663(documents,)S4171(in)S4298(particular)S3360 V1080(source)S1376(programs,)S1815(documentation,)S2471(and)S2652(test)S2828(data.)S3086(It)S3184(automates)S3626(the)S3785(storing,)S4125(retrieval,)S4519(log-)S3480 V1080(ging)S1289(and)S1464(identi\256cation)S2023(of)S2136(revisions,)S2552(and)S2726(it)S2812(provides)S3186(selection)S3571(mechanisms)S4095(for)S4241(composing)S3600 V1080(con\256gurations.)S1745(This)S1962(paper)S2222(introduces)S2677(basic)S2921(version)S3254(control)S3576(concepts)S3964(and)S4147(discusses)S4558(the)S3720 V1080(practice)S1438(of)S1564(version)S1901(control)S2227(using)S2487(RCS.)S2775(For)S2957(conserving)S3438(space,)S3726(RCS)S3958(stores)S4233(deltas,)S4533(i.e.,)S3840 V1080(di)S1158 H (f)show 10 -.5 mul h (f)show10 R1219(erences)S1555(between)S1925(successive)S2384(revisions.)S2838(Several)S3175(delta)S3407(storage)S3734(methods)S4112(are)S4272(discussed.)S3960 V1080(Usage)S1365(statistics)S1746(show)S1993(that)S2179(RCS's)S2476(delta)S2705(storage)S3028(method)S3363(is)S3465(space)S3721(and)S3900(time)S4113(e)S4157 H (f)show 10 -.5 mul h (\256)show10 R4241(cient.)S4525(The)S4080 V1080(paper)S1331(concludes)S1760(with)S1968(a)S2042(detailed)S2388(survey)S2684(of)S2797(version)S3121(control)S3434(tools.)S4320 V10 B1080(Keywords)S10 R1513(:)S1579(con\256guration)S2150(management,)S2723(history)S3040(management,)S3614(version)S3947(control,)S4294(revisions,)S4440 V1080(deltas.)S4920 V720(1991/01/03)S7920 VEP%%Page: 1 2BP/slant 0 def/height 1.000000 def10 R10 R40 V0(-)S1230 V12 B1925(RCS\320A)S2406(System)S2809(for)S2998(Version)S3434(Control)S1620 V10 I2560(Walter)S2862(F.)S2978(Tichy)S1800 V10 R2183(Department)S2684(of)S2797(Computer)S3227(Sciences)S1920 V2512(Purdue)S2825(University)S2040 V2257(West)S2492(Lafayette,)S2923(Indiana)S3252(47907)S2676 V10 B720(1.)S855(Introduction)S2892 V10 R970(Version)S1353(control)S1703(is)S1837(the)S2026(task)S2254(of)S2404(keeping)S2787(software)S3197(systems)S3581(consisting)S4054(of)S4205(many)S4495(versions)S4896(and)S3072 V720(con\256gurations)S1337(well)S1554(organized.)S2047(The)S2247(Revision)S2648(Control)S2999(System)S3339(\(RCS\))S3639(is)S3750(a)S3838(set)S3993(of)S4120(UNIX)S4413(commands)S4890(that)S3252 V720(assist)S967(with)S1175(that)S1355(task.)S3468 V970(RCS')S1227(primary)S1577(function)S1944(is)S2045(to)S2157(manage)S10 I2501(revision)S2857(groups)S10 R3135(.)S3224(A)S3330(revision)S3686(group)S3953(is)S4054(a)S4133(set)S4279(of)S4397(text)S4582(documents,)S3648 V720(called)S10 I991(revisions)S10 R1352(,)S1410(that)S1593(evolved)S1942(from)S2169(each)S2384(other.)S2677(A)S2781(new)S2979(revision)S3333(is)S3432(created)S3751(by)S3883(manually)S4287(editing)S4597(an)S4723(existing)S3828 V720(one.)S956(RCS)S1183(organizes)S1602(the)S1761(revisions)S2159(into)S2352(an)S2483(ancestral)S2874(tree.)S3115(The)S3307(initial)S3579(revision)S3939(is)S4044(the)S4204(root)S4403(of)S4524(the)S4684(tree,)S4896(and)S4008 V720(the)S880(tree)S1067(edges)S1332(indicate)S1686(from)S1918(which)S2200(revision)S2560(a)S2642(given)S2902(one)S3084(evolved.)S3493(Besides)S3842(managing)S4274(individual)S4718(revision)S4188 V720(groups,)S1052(RCS)S1277(provides)S1657(\257exible)S1993(selection)S2384(functions)S2792(for)S2944(composing)S3419(con\256gurations.)S4082(RCS)S4308(may)S4516(be)S4646(combined)S4368 V720(with)S928(MAKE)S4318 V1222(1)S4368 V1272(,)S1327(resulting)S1707(in)S1815(a)S1889(powerful)S2279(package)S2635(for)S2781(version)S3105(control.)S4584 V970(RCS)S1192(also)S1385(o)S1435 H (f)show 10 -.5 mul h (f)show10 R1496(ers)S1644(facilities)S2021(for)S2170(merging)S2536(updates)S2874(with)S3085(customer)S3484(modi\256cations,)S4087(for)S4236(distributed)S4697(software)S4764 V720(development,)S1334(and)S1551(for)S1740(automatic)S2207(identi\256cation.)S2863(Identi\256cation)S3469(is)S3609(the)S3803(`stamping')S4308(of)S4463(revisions)S4896(and)S4944 V720(con\256gurations)S1336(with)S1558(unique)S1874(markers.)S2294(These)S2576(markers)S2941(are)S3106(akin)S3322(to)S3444(serial)S3704(numbers,)S4118(telling)S4419(software)S4807(main-)S5124 V720(tainers)S1016(unambiguously)S1663(which)S1937(con\256guration)S2500(is)S2597(before)S2881(them.)S5340 V970(RCS)S1194(is)S1295(designed)S1684(for)S1835(both)S2048(production)S2516(and)S2695(experimental)S3251(environments.)S3885(In)S4003(production)S4471(environments,)S5520 V720(access)S1014(controls)S1376(detect)S1654(update)S1959(con\257icts)S2337(and)S2520(prevent)S2858(overlapping)S3374(changes.)S3789(In)S3911(experimental)S4471(environments,)S5700 V720(where)S993(strong)S1273(controls)S1625(are)S1776(counterproductive,)S2557(it)S2643(is)S2740(possible)S3098(to)S3206(loosen)S3497(the)S3649(controls.)S5916 V970(Although)S1389(RCS)S1621(was)S1818(originally)S2249(intended)S2635(for)S2793(programs,)S3237(it)S3335(is)S3444(useful)S3730(for)S3888(any)S4074(text)S4266(that)S4458(is)S4567(revised)S4897(fre-)S6096 V720(quently)S1054(and)S1232(whose)S1521(previous)S1898(revisions)S2292(must)S2520(be)S2647(preserved.)S3122(RCS)S3345(has)S3511(been)S3732(applied)S4059(successfully)S4580(to)S4691(store)S4918(the)S6276 V720(source)S1010(text)S1190(for)S1336(drawings,)S1757(VLSI)S2009(layouts,)S2353(documentation,)S3002(speci\256cations,)S3601(test)S
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -