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

📄 rcs.ms

📁 早期freebsd实现
💻 MS
📖 第 1 页 / 共 4 页
字号:
considers important, and keeps the number of revisions manageable.IBM's CLEAR/CASTER\u7\d,AT&T's SCCS\u3\d,CMU's SDC\u8\dand DEC's CMS\u9\d,are examples of version control systems using this approach.CLEAR/CASTER maintains a data base of programs, specifications,documentation and messages, using deltas.Its goal is to provide control over the development process from amanagement viewpoint.SCCS stores multiple revisions of source text in an ancestral tree,records a log entry for each revision,provides access control, and has facilitiesfor uniquely identifying each revision.An efficient delta techniquereduces the space consumed by each revision group.SDC is much simpler than SCCS because it stores not more thantwo revisions.  However, it maintains a complete log for all oldrevisions, some of which may be on back-up tape.CMS, like SCCS, manages tree-structured revision groups,but offers no identification mechanism..PPTools for dealing with configurations are still in a state of flux.SCCS, SDC and CMS can be combined with MAKE or MAKE-like programs.Since flexible selection rules are missing from all these tools,it is sometimes difficultto specify precisely which revision of each groupshould be passed to MAKE for building a desired configuration.The Xerox Cedar system\u10\dprovides a `System Modeller' that can rebuilda configuration from an arbitrary set of module revisions.The revisions of a module are only distinguished by creation time,and there is no tool for managing groups.Since the selection rules are primitive,the System Modeller appears to be somewhat tedious to use.Apollo's DSEE\u5\dis a sophisticated software engineering environment.It manages revision groups in a way similar to SCCS and CMS.  Configurationsare built using `configuration threads'.A configuration thread states which revision of each groupnamed in a configuration should be chosen.A configuration thread may contain dynamic specifiers(e.g., `choose the revisions I am currently working on,and the most recent revisions otherwise'), which are boundautomatically at build time.It also provides a notification mechanism for alertingmaintainers about the need to rebuild a system after a change..PPRCS is based on a general model for describingmulti-version/multi-configuration systems\u11\d.The model describes systems using AND/OR graphs, where AND nodes representconfigurations, and OR nodes represent version groups.The model gives rise to a suit of selection rules forcomposing configurations, almost all of which are implemented in RCS.The revisions selected by RCS are passed to MAKE for configuration building.Revision group management is modelled after SCCS.RCS retains SCCS's best features,but offers a significantly simpler user interface,flexible selection rules, adequate integration with MAKEand improved identification.A detailed comparison of RCS and SCCS appears in Reference 4..PPAn important component of all revision control systemsis a program for computing deltas.SCCS and RCS use the program \fIdiff\fR\u2\d,which first computes the longest common substring of tworevisions, and then produces the delta from that substring.The delta is simply an edit script consisting of deletion andinsertion commands that generate one revision from the other..PPA delta based on a longest common substring is not necessarily minimal,because it does not take advantage of crossing block moves.Crossing block moves arise if two or more blocks of lines(e.g., procedures)appear in a different order in two revisions.An edit script derived from a longest common substringfirst deletes the shorter of the two blocks, and then reinserts it.Heckel\u12\dproposed an algorithm for detecting block moves, butsince the algorithm is based on heuristics,there are conditionsunder which the generated delta is far from minimal.DSEE uses this algorithm combined with blank compression,apparently with satisfactory overall results.A new algorithm that is guaranteed to produce a minimal delta based onblock moves appears in Reference 13.A future release of RCS will use this algorithm..PP\fIAcknowledgements\fR:Many people have helped make RCS a success by contributed criticisms, suggestions,corrections, and even whole new commands (including manual pages).The list of people is too long to bereproduced here, but my sincere thanks for their help andgoodwill goes to all of them..sp.nr VS 12p.vs 12p.SHAppendix: Synopsis of RCS Operations.LP.IP "\fIci\fP \fB\- check in revisions\fP".sp 0\fICi\fR stores the contents of a working file into thecorresponding RCS file as a new revision.If the RCS file doesn't exist, \fIci\fR creates it.\fICi\fR removes the working file, unless one of the options\fI\-u\fR or \fI\-l\fR is present.For each check-in, \fIci\fR asks for a commentarydescribing the changes relative to the previous revision..sp 1\fICi\fR assigns the revision number given by the \fI\-r\fR option;if that option is missing, it derives the number from thelock held by the user; if there is no lock and locking is not strict,\fIci\fR increments the number of the latest revision on the trunk.A side branch can only be started by explicitly specifying itsnumber with the \fI\-r\fR option during check-in..sp 1\fICi\fR also determineswhether the revision to be checked in is different from theprevious one, and asks whether to proceed if not.This facility simplifies check-in operations for large systems,because one need not remember which files were changed..sp 1The option \fI\-k\fR searches the checked in file for identificationmarkers containingthe attributesrevision number, check-in date, author and state, and assigns theseto the new revision rather than computing them.  This option isuseful for software distribution: Recipients of distributed softwareusing RCS should check in updates with the \fI\-k\fR option.This convention guarantees that revision numbers, check-in dates,etc., are the same at all sites..IP "\fIco\fP \fB\- check out revisions\fP".sp 0\fICo\fR retrieves revisions according to revision number,date, author and state attributes.  It either places the revisioninto the working file, or prints it on the standard output.\fICo\fR always expands the identification markers..IP "\fIident\fP \fB\- extract identification markers\fP".sp 0\fIIdent\fR extracts the identification markers expanded by \fIco\fRfrom any file and prints them..IP "\fIrcs\fP \fB\- change RCS file attributes\fP".sp 0\fIRcs\fR is an administrative operation that changes access lists,locks, unlocks, breaks locks, toggles the strict-locking feature,sets state attributes and symbolic revision numbers, changes thedescription, and deletes revisions.  A revision canonly be deleted if it is not the fork of a side branch..IP "\fIrcsclean\fP \fB\- clean working directory\fP".sp 0.ne 10\fIRcsclean\fR removes working files that were checked out but never changed.*.FS *The \fIrcsclean\fP and \fIrcsfreeze\fP commandsare optional and are not always installed..FE.IP "\fIrcsdiff\fP \fB\- compare revisions\fP".sp 0\fIRcsdiff\fR compares two revisions and prints theirdifference, using the UNIX tool \fIdiff\fR.One of the revisions compared may be checked out.This command is useful for finding out about changes..IP "\fIrcsfreeze\fP \fB\- freeze a configuration\fP".sp 0\fIRcsfreeze\fR assigns the same symbolic revision numberto a given revision in all RCS files.This command is useful for accurately recording a configuration.*.IP "\fIrcsmerge\fP \fB\- merge revisions\fP".sp 0\fIRcsmerge\fR merges two revisions, \fIrev1\fR and \fIrev2\fR,with respect to a common ancestor.A 3-way file comparison determines the segments of lines thatare (a) the same in all three revisions, or (b) the same in 2 revisions,or (c) different in all three.  For all segments of type (b) where\fIrev1\fR is the differing revision,the segment in \fIrev1\fR replaces the corresponding segment of \fIrev2\fR.Type (c) indicates an overlapping change, is flagged as an error, and requires userintervention to select the correct alternative..IP "\fIrlog\fP \fB\- read log messages\fP".sp 0\fIRlog\fR prints the log messages and other information in an RCS file..bp.LP.nr VS 12p.vs 12p.]<.ds [F 1.]-.ds [K FELD02.ds [K MakeArticle.ds [A Feldman, Stuart I..ds [D March 1979.ds [T Make\*-A Program for Maintaining Computer Programs.ds [J Software\*-Practice & Experience.ds [V 9.ds [N 3.ds [P 255-265.nr [P 1.nr [T 0.nr [A 1.nr [O 0.][ 1 journal-article.ds [F 2.]-.ds [K HUNT01.ds [T An Algorithm for Differential File Comparison.ds [A Hunt, James W..as [A " and McIlroy, M. D..ds [I Computing Science Technical Report, Bell Laboratories.ds [R 41.ds [D June 1976.nr [T 0.nr [A 1.nr [O 0.][ 4 tech-report.ds [F 3.]-.ds [K SCCS.ds [A Rochkind, Marc J..ds [D Dec. 1975.ds [T The Source Code Control System.ds [J IEEE Transactions on Software Engineering.ds [V SE-1.ds [N 4.ds [P 364-370.nr [P 1.nr [T 0.nr [A 1.nr [O 0.][ 1 journal-article.ds [F 4.]-.ds [K TICH08.ds [T Design, Implementation, and Evaluation of a Revision Control System.ds [A Tichy, Walter F..ds [B Proceedings of the 6th International Conference on Software Engineering.ds [I ACM, IEEE, IPS, NBS.ds [D September 1982.ds [P 58-67.nr [P 1.nr [T 0.nr [A 1.nr [O 0.][ 3 article-in-book.ds [F 5.]-.ds [K LEBL01.ds [A Leblang, David B..as [A " and Chase, Robert P..ds [T Computer-Aided Software Engineering in a Distributed Workstation Environment.ds [O Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium.as [O " on Practical Software Development Environments..ds [J SIGPLAN Notices.ds [V 19.ds [N 5.ds [D May 1984.ds [P 104-112.nr [P 1.nr [T 0.nr [A 1.nr [O 0.][ 1 journal-article.ds [F 1.ds [F 3.ds [F 6.]-.ds [K SCCSEval.ds [A Glasser, Alan L..ds [D Nov. 1978.ds [T The Evolution of a Source Code Control System.ds [J Software Engineering Notes.ds [V 3.ds [N 5.ds [P 122-125.nr [P 1.ds [O Proceedings of the Software Quality and Assurance Workshop..nr [T 0.nr [A 1.nr [O 1.][ 1 journal-article.ds [F 5.ds [F 7.]-.ds [K IBMClearCaster.ds [A Brown, H.B..ds [D 1970.ds [T The Clear/Caster System.ds [J Nato Conference on Software Engineering, Rome.nr [T 0.nr [A 1.nr [O 0.][ 1 journal-article.ds [F 3.ds [F 8.]-.ds [K HabermannSDC.ds [A Habermann, A. Nico.ds [D Jan. 1979.ds [T A Software Development Control System.ds [I Technical Report, Carnegie-Mellon University, Department of Computer Science.nr [T 0.nr [A 0.nr [O 0.][ 2 book.ds [F 9.]-.ds [K CMS.ds [A DEC.ds [T Code Management System.ds [I Digital Equipment Corporation.ds [O Document No.\ EA-23134-82.ds [D 1982.nr [T 0.nr [A 0.nr [O 0.][ 2 book.ds [F 10.]-.ds [K LAMP01.ds [A Lampson, Butler W..as [A " and Schmidt, Eric E..ds [T Practical Use of a Polymorphic Applicative Language.ds [B Proceedings of the 10th Symposium on Principles of Programming Languages.ds [I ACM.ds [P 237-255.nr [P 1.ds [D January 1983.nr [T 0.nr [A 1.nr [O 0.][ 3 article-in-book.ds [F 5.ds [F 11.]-.ds [K TICH07.ds [T A Data Model for Programming Support Environments and its Application.ds [A Tichy, Walter F..ds [B Automated Tools for Information System Design and Development.ds [E Hans-Jochen Schneider and Anthony I. Wasserman.ds [C Amsterdam.ds [I North-Holland Publishing Company.ds [D 1982.nr [T 0.nr [A 1.nr [O 0.][ 3 article-in-book.ds [F 4.ds [F 2.ds [F 12.]-.ds [K HECK01.ds [T A Technique for Isolating Differences Between Files.ds [A Heckel, Paul.ds [J Communications of the ACM.ds [D April 1978.ds [V 21.ds [N 4.ds [P 264-268.nr [P 1.nr [T 0.nr [A 0.nr [O 0.][ 1 journal-article.ds [F 13.]-.ds [K TICH11.ds [T The String-to-String Correction Problem with Block Moves.ds [A Tichy, Walter F..ds [D Nov. 1984.ds [J ACM Transactions on Computer Systems.ds [V 2.ds [N 4.ds [P 309-321.nr [P 1.nr [T 0.nr [A 1.nr [O 0.][ 1 journal-article.]>

⌨️ 快捷键说明

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