⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 paper.ps

📁 早期freebsd实现
💻 PS
📖 第 1 页 / 共 5 页
字号:
3.058(nr).15 G -.25(ev)100.208 165.6 S .559(ision is `pieced together' from lines in the RCS \214le.).25 F .559(Suppose piece table)5.559 F F1(PT)3.059 E(r)421.924 170.6 Q F0 .559(represents re)428.873 165.6 R(vision)-.25 E F1(r)3.059 E F0 5.559(.T)C(hen)525.56 165.6 Q F1(PT)72 183.6 Q(r)83.67 188.6 Q([i])87.56 183.6 Q F0 .429(contains the starting position of line)2.929 F F1(i)2.929 E F0 .429(of re)2.929 F(vision)-.25 E F1(r)2.929 E F0 5.429(.A)C .429(pplication of the ne)320.639 183.6 R .429(xt delta transforms piece table)-.15 F F1(PT)2.928 E(r)536.11 188.6 Q F0(into)72 201.6 Q F1(PT)3.478 E(r+1)102.708 206.6 Q F0 5.978(.F)118.348 201.6 S .978(or instance, a delete command remo)132.236 201.6 R-.15(ve)-.15 G 3.478(sas).15 G .978(eries of entries from the piece table.)309.852 201.6 R .979(An insertion com-)5.979 F 1.556(mand inserts ne)72 219.6 R4.056(we)-.25 G 1.556(ntries, mo)153.348 219.6 R 1.556(ving the entries follo)-.15 F 1.556(wing the insertion point further do)-.25 F 1.555(wn the array)-.25F 6.555(.T)-.65 G 1.555(he inserted)494.845 219.6 R 1.2(entries point to the te)72 237.6 R 1.2(xt lines in the delta.)-.15 F 1.2(Thus, no I/O is in)6.2 F -.2(vo)-.4 G(lv).2 E 1.201(ed e)-.15 F 1.201(xcept for reading the delta itself.)-.15 F 1.201(When all)6.201 F .168(deltas ha)72 255.6 R .468 -.15(ve b)-.2 H .168(een applied to the piece table\, a sequential pass through the table looks up each line in the RCS \214le and).15 F .909(copies it to the output \214le, updating identi\214cation mark)72273.6 R .909(ers at the same time.)-.1 F .91(Of course, the RCS \214le must permit)5.91 F .993(random access, since the copied lines are scattered throughout that \214le.)72291.6 R .992(Figure 6 illustrates an RCS \214le with tw)5.993 F(o)-.1 E(re)72309.6 Q(visions and the corresponding piece tables.)-.25 E F1 -.45(Fi)255.79435.6 S(gur).45 E 2.5(e6i)-.37 G 2.5(sn)294.97 435.6 S(ot available)306.36435.6 Q(.)-.15 E F0(Figure 6.)221.835 543.6 Q(An RCS \214le and its piece tables)5 E .757(The piece table approach has the \property that the time for applying a single delta is roughly determined by)97565.2 R .525(the size of the delta, and not by the size of the re)72 583.2 R3.025(vision. F)-.25 F .525(or e)-.15 F .525(xample, if a delta is 10 per cent of the size of a re)-.15 F(vi-)-.25 E 1.156(sion, then applying it tak)72 601.2 R 1.157(es only 10 per cent of the time to generate the latest trunk re)-.1 F 3.657(vision. \(The)-.25 F 1.157(stream editor)3.657 F -.1(wo)72 619.2 S(uld tak).1E 2.5(e1)-.1 G(00 per cent.\))123.46 619.2 Q .009(There is an important alternati)97 640.8 R .309 -.15(ve f)-.25 H .009(or representing deltas that af).15 F .009(fects performance.)-.25 F(SCCS)5.008E(3)450.538 635.8 Q 2.508(,ap)455.538 640.8 S .008(recursor of RCS,)472.494640.8 R(uses)72 658.8 Q F1(interleaved)3.762 E F0 3.762(deltas. A)3.762 F 1.262(\214le containing interlea)3.762 F -.15(ve)-.2 G 3.762(dd).15 G 1.262(eltas is partitioned into blocks of lines.)300.174 658.8 R 1.263(Each block has a)6.263 F .755(header that speci\214es to which re)72 676.8 R.755(vision\(s\) the block belongs.)-.25 F .754(The blocks are sorted out in such a w)5.755 F .754(ay that a single)-.1 F .13(pass o)72 694.8 R -.15(ve)-.15 G 2.63(rt).15 G .13(he \214le can pick up all the lines belonging to a gi)114.73 694.8 R -.15(ve)-.25 G 2.631(nr).15 G -.25(ev)328.093 694.8 S 2.631(ision. Thus,).25 F .131(the re)2.631 F .131(generation time for all re)-.15 F(visions)-.25 E .981(is \the same: all headers must be inspected, and the associated blocks either copi\ed or skipped.)72 712.8 R .98(As the number of)5.98 F(re)72 730.8 Q .647(visions increases, the cost of retrie)-.25 F .647(ving an)-.25 F 3.147(yr)-.15G -.25(ev)261.949 730.8 S .648(ision is much higher than the cost of checking out the latest trunk).25 F EP%%Page: 9 10%%BeginPageSetupBP%%EndPageSetup/F0 10/Times-Roman@0 SF(RCS \212 A System for V)72 54 Q(ersion Control)-1.11 E(PSD:13-9)500.55 54 Q(re)72 90 Q .87(vision with re)-.25 F -.15(ve)-.25 G .87(rse deltas.).15 F 3.37(Ad)5.87 G .869(etailed comparison of SCCS')207.62 90 R3.369(si)-.55 G(nterlea)336.657 90 Q -.15(ve)-.2 G 3.369(dd).15 G .869(eltas and RCS')386.326 90 R 3.369(sr)-.55 G -2.15 -.25(ev e)458.103 90 T .869(rse deltas can be).25 F 1.203(found in Reference 4.)72 108 R 1.204(This reference considers the v)6.204 F 1.204(ersion of RCS with the stream editor only)-.15 F 6.204(.T)-.65 G 1.204(he piece table)482.612 108 R 1.469(method impro)72 126 R -.15(ve)-.15 G 3.969(sp).15 G 1.469(erformance further)151.858 126 R 3.969(,s)-.4 G 3.969(ot)238.526 126 S 1.469(hat RCS is al)250.275 126 R -.1(wa)-.1 G 1.469(ys f).1 F1.469(aster than SCCS, e)-.1 F 1.469(xcept if 10 or more deltas are)-.15 F(applied.)72 144 Q .518(Additional speed-up for both delta methods can be obta\ined by caching the most recently generated re)97 165.6 R(vision,)-.25 E .073(as has been implemented in DSEE.)72 183.6 R(5)212.905 178.6 Q -.4(Wi)220.478183.6 S .072(th caching, access time to frequently used re).4 F .072(visions can approach normal \214le)-.25 F(access time, at the cost of some additional space.)72 201.6 Q/F1 10/Times-Bold@0 SF 2.5(4. Locking:)72 237.6 R 2.5(AC)2.5 G(ontr)142.28 237.6 Q-.1(ove)-.18 G(rsial Issue).1 E F0 .836(The locking mechanism for RCS w)97259.2 R .836(as dif)-.1 F .836(\214cult to design.)-.25 F .836(The problem and its solution are \214rst presented in)5.836 F(their `pure' form, follo)72 277.2 Q(wed by a discussion of the complications caused by `real-w)-.25 E(orld' considerations.)-.1 E 1.049(RCS must pre)97 298.8 R -.15(ve)-.25 G 1.049(nt tw).15 F 3.549(oo)-.1 G 3.549(rm)199.036 298.8 S 1.049(ore persons from depositing competing changes of the same re)213.695 298.8 R3.548(vision. Suppose)-.25 F(tw)72 316.8 Q 3.092(op)-.1 G .592(rogrammers check out re)94.992 316.8 R .592(vision 2.4 and modify it.)-.25 F.593(Programmer A checks in a re)5.592 F .593(vision before programmer B.)-.25F(Unfortunately)72 334.8 Q 3.969(,p)-.65 G 1.469(rogrammer B has not seen A)138.919 334.8 R 2.569 -.55('s c)-1.11 H 1.468(hanges, so the ef).55 F 1.468(fect is that A)-.25 F 2.568 -.55('s c)-1.11 H 1.468(hanges are co).55 F -.15(ve)-.15 G 1.468(red up by B').15 F(s)-.55 E 2.5(deposit. A)72 352.8 R 1.1 -.55('s c)-1.11 H(hanges are not lost since all re).55 E(visions are sa)-.25 E -.15(ve)-.2 G(d, b).15 E(ut the)-.2 E 2.5(ya)-.15 G(re con\214ned to a single re)360.45 352.8 Q(vision.\210)-.25 E 1.073(This con\215ict is pre)97 374.4 R -.15(ve)-.25 G 1.073(nted in RCS by locking.).15 F(Whene)6.073 E -.15(ve)-.25 G3.574(rs).15 G 1.074(omeone intends to edit a re)338.898 374.4 R 1.074(vision \(as opposed to)-.25 F .575(reading or compiling it\), the re)72 392.4R .574(vision should be check)-.25 F .574(ed out and lock)-.1 F .574(ed, using the)-.1 F/F2 10/Times-Italic@0 SF<ad6c>3.074 E F0 .574(option on)3.074 F F2(co)3.074 E F0 5.574(.O)C 3.074(ns)487.486 392.4 S(ubsequent)499.45392.4 Q(check-in,)72 410.4 Q F2(ci)3.32 E F0 .82(tests the lock and then remo)3.32 F -.15(ve)-.15 G 3.32(si).15 G 3.32(t. At)257.95 410.4 R .82(most one programmer at a time may lock a particular re)3.32 F(vision,)-.25 E.207(and only this programmer may check in the succeeding re)72 428.4 R 2.707(vision. Thus,)-.25 F .207(while a re)2.707 F .207(vision is lock)-.25 F .206(ed, it is the e)-.1 F(xclusi)-.15 E -.15(ve)-.25 G(responsibility of the lock)72 446.4 Q(er)-.1 E(.)-.55 E .869(An important maxim for softw)97 468 R .869(are tools lik)-.1 F 3.369(eR)-.1 G .869(CS is that the)286.483 468 R 3.37(ym)-.15 G .87(ust not stand in the w)358.71 468 R .87(ay of making progress)-.1 F.135(with a project.)72 486 R .135(This consideration leads to se)5.135 F -.15(ve)-.25 G .135(ral weak).15 F .135(enings of the locking mechanism.)-.1 F .134(First of all, e)5.135 F -.15(ve)-.25 G 2.634(ni).15 G 2.634(far)508.332 486 S-.25(ev)524.7 486 S(i-).25 E .847(sion is lock)72 504 R .847(ed, it can still be check)-.1 F .847(ed out.)-.1 F .848(This is necessary if other people wish to compile or inspect the lock)5.848 F(ed)-.1 E(re)72 522 Q .145(vision while the ne)-.25 F .145(xt one is in preparation.)-.15 F .145(The only operations the)5.145 F 2.645(yc)-.15 G .145(annot do are to lock the re)363.15 522 R .144(vision or to check)-.25 F .066(in the succeeding one.)72 540 R(Secondly)5.066E 2.566(,c)-.65 G .067(heck-in operations on other branches in the RCS \214le \are still possible; the locking)212.21 540 R 1.034(of one re)72 558 R 1.034(vision does not af)-.25 F 1.034(fect an)-.25 F 3.533(yo)-.15 G 1.033(ther re)224.387 558 R 3.533(vision. Thirdly)-.25 F 3.533(,r)-.65 G -.25(ev)322.686 558S 1.033(isions are occasionally lock).25 F 1.033(ed for a long period of)-.1 F.133(time because a programmer is absent or otherwise unable to complete the a\ssignment.)72 576 R .133(If another programmer has to)5.133 F(mak)72 594 Q2.527(eap)-.1 G .027(ressing change, there are the follo)108.054 594 R .026(wing three alternati)-.25 F -.15(ve)-.25 G 2.526(sf).15 G .026(or making progress: a\) \214nd out who is holding the)339.496 594 R .229(lock and ask that person to release it; b\) check out the lock)72 612 R .23(ed re)-.1 F .23(vision, modify it, check it in on a branch, and mer)-.25 F(ge)-.18 E .738(the changes later; c\) break the lock.)72 630 R .737(Breaking a lock lea)5.738 F -.15(ve)-.2 G 3.237(sah).15 G .737(ighly visible trace, namely an electronic mail mes-)332.651 630 R 1.119(sage \that is sent automatically to the holder of the lock, recording the break)72648 R 1.119(er and a commentary requested from)-.1 F 4.292(him. Thus,)72 666 R1.792(breaking locks is tolerated under certain circumstances, b)4.292 F 1.792(ut will not go unnoticed.)-.2 F 1.792(Experience has)6.792 F .32 LW 76 676 72676 DL 80 676 76 676 DL 84 676 80 676 DL 88 676 84 676 DL 92 676 88 676 DL 96676 92 676 DL 100 676 96 676 DL 104 676 100 676 DL 108 676 104 676 DL 112 676108 676 DL 116 676 112 676 DL 120 676 116 676 DL 124 676 120 676 DL 128 676 124676 DL 132 676 128 676 DL 136 676 132 676 DL 140 676 136 676 DL 144 676 140 676DL/F3 8/Times-Roman@0 SF 4<884e>82 687.8 S .362(ote that this problem is entirely dif)95.776 687.8 R .362(ferent from the atomicity problem.)-.2 F .363(Atomicity means that concurrent update op-)4.363 F .143(erations on the same \RCS \214le cannot be permitted, because that may result in inconsistent data.)72 697.8 R .143(Atomic updates are essen-)4.143 F(tial \(and implemented in RCS\), b)72 707.8 Q(ut do not solv)-.16 E 2(et)-.12G(he con\215ict discussed here.)229.504 707.8 Q EP%%Page: 10 11%%BeginPageSetupBP%%EndPageSetup/F0 10/Times-Roman@0 SF 267.71(PSD:13-10 RCS)72 54 R 2.5(\212AS)2.5 G(ystem for V)435.84 54 Q(ersion Control)-1.11 E(sho)72 90 Q 1.509(wn that the \automatic mail message attaches a high enough stigma to lock breaking, such th\at programmers)-.25 F(break locks only in real emer)72 108 Q(gencies, or when a co-w)-.18 E(ork)-.1 E(er resigns and lea)-.1 E -.15(ve)-.2G 2.5(sl).15 G(ock)386.18 108 Q(ed re)-.1 E(visions behind.)-.25 E .695(If an RCS \214le is pri)97 129.6 R -.25(va)-.25 G .695(te, i.e., when a programmer o).25 F .695(wns an RCS \214le and does not e)-.25F .694(xpect an)-.15 F .694(yone else to per)-.15 F(-)-.2 E .137(form check-in operations, locking is an unnecessary nuisance.)72 147.6 R .138(In this case, the `strict locking feature' discussed ear)5.137 F(-)-.2 E .587(lier may be disabled, pro)72 165.6 R .587(vided that \214le protection is set such that only the o)-.15 F .586(wner may write the RCS \214le.)-.25 F .586(This has)5.586 F(the ef)72 183.6 Q(fect that only the o)-.25 E(wner can check-in re)-.25 E(visions, and that no lock is needed for doing so.)-.25 E 1.081(As added prote\ction, each RCS \214le contains an access list that speci\214es the users who \may e)97 205.2 R -.15(xe)-.15 G 1.081(cute update).15 F 3.207(operations. If)72223.2 R .707(an access list is empty)3.207 F 3.207(,o)-.65 G .707(nly normal UNIX \214le protection applies.)233.499 223.2 R .707(Thus, the access list is useful for)5.707 F .642(restricting the set of people who w)72 241.2 R .642(ould otherwise ha)-.1 F.942 -.15(ve u)-.2 H .642(pdate permission.).15 F .643(Just as with locking, the access list has)5.642 F .82(no ef)72 259.2 R .82(fect on read-only operations such as)-.25 F/F1 10/Times-Italic@0 SF(co)3.32 EF0 5.819(.T)C .819(his approach is consistent with the UNIX philosoph)268.259259.2 R 3.319(yo)-.05 G 3.319(fo)494.191 259.2 S(penness,)505.84 259.2 Q(which contrib)72 277.2 Q(utes to a producti)-.2 E .3 -.15(ve s)-.25 H(oftw).15E(are de)-.1 E -.15(ve)-.25 G(lopment en).15 E(vironment.)-.4 E/F2 10/Times-Bold@0 SF 2.5(5. Con\214guration)72 313.2 R(Management)2.5 E F0 1.063(The preceding sections described ho)97 334.8 R 3.563(wR)-.25 G 1.064(CS deals with re)263.975 334.8 R 1.064(visions of indi)-.25 F 1.064(vidual components; this section dis-)-.25 F .285(cusses ho)72 352.8 R 2.785(wt)-.25 G 2.785(oh)122.87 352.8 S .285(andle con\214gurations.)135.655 352.8 R2.785(Ac)5.285 G .284(on\214guration is a set of re)239.55 352.8 R .284(visions, where each re)-.25 F .284(vision comes from a dif)-.25 F(fer)-.25 E(-)-.2 E .756(ent re)72 370.8 R .756(vision group, and the re)-.25 F .756(visions are selected according to a certain criterion.)-.25 F -.15(Fo)5.756 G3.257(re).15 G .757(xample, in order to b)430.315 370.8 R .757(uild a)-.2 F.137(functioning compiler)72 388.8 R 2.637(,t)-.4 G .137(he `right' re)163.814388.8 R .137(visions from the scanner)-.25 F 2.637(,t)-.4 G .136(he parser)317.566 388.8 R 2.636(,t)-.4 G .136(he optimizer and the code generator must be)361.588 388.8 R 2.5(combined. RCS,)72 406.8 R(in conjunction with MAKE, pro)2.5 E(vides a number of f)-.15 E(acilities to ef)-.1 E(fect a smooth selection.)-.25E F2 2.5(5.1. RCS)72 442.8 R(Selection Functions)2.5 E F1(Default selection)72468 Q F0 .873(During de)97 486 R -.15(ve)-.25 G .874(lopment, the usual selection criterion is to choose the latest re).15 F .874(vision of all components.)-.25 F(The)5.874 E F1(co)3.374 E F0(command mak)97504 Q(es this selection by def)-.1 E 2.5(ault. F)-.1 F(or e)-.15 E(xample, the command)-.15 E F1 2.5(co *,v)133 522 R F0(retrie)97 546 Q -.15(ve)-.25 G 2.725(st).15 G .225(he latest re)136.535 546 R .225(vision on the def)-.25 F .224(ault branch of each RCS \214le in the current directory)-.1 F 5.224(.T)-.65 G .224(he def)470.232 546 R .224(ault branch)-.1 F .859(is usually the trunk, b)97 564 R .859(ut may be set to be a side branch.)-.2 F.859(Side branches as def)5.859 F .859(aults are needed in distrib)-.1 F(uted)-.2 E(softw)97 582 Q(are de)-.1 E -.15(ve)-.25 G(lopment, as d

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -