home *** CD-ROM | disk | FTP | other *** search
- Functions of RCS (Revision Control System)
-
- RCS manages software libraries. It greatly increases
- programmer productivity by providing the following func-
- tions.
-
- 1. RCS stores and retrieves multiple revisions of program
- and other text. Thus, one can maintain one or more
- releases while developing the next release, with a
- minimum of space overhead. Changes no longer destroy
- the original -- previous revisions remain accessible.
-
- a. Maintains each module as a tree of revisions.
-
- b. Project libraries can be organized centrally,
- decentralized, or any way you like.
-
- c. RCS works for any type of text: programs, documen-
- tation, memos, papers, graphics, VLSI layouts,
- form letters, etc.
-
- 2. RCS maintains a complete history of changes. Thus, one
- can find out what happened to a module easily and
- quickly, without having to compare source listings or
- having to track down colleagues.
-
- a. RCS performs automatic record keeping.
-
- b. RCS logs all changes automatically.
-
- c. RCS guarantees project continuity.
-
- 3. RCS manages multiple lines of development.
-
- 4. RCS can merge multiple lines of development. Thus,
- when several parallel lines of development must be con-
- solidated into one line, the merging of changes is
- automatic.
-
- 5. RCS flags coding conflicts. If two or more lines of
- development modify the same section of code, RCS can
- alert programmers about overlapping changes.
-
- 6. RCS resolves access conflicts. When two or more pro-
- grammers wish to modify the same revision, RCS alerts
- the programmers and makes sure that one modification
- won't wipe out the other one.
-
- 7. RCS provides high-level retrieval functions. Revisions
- can be retrieved according to ranges of revision
- numbers, symbolic names, dates, authors, and states.
-
- 8. RCS provides release and configuration control. Revi-
- sions can be marked as released, stable, experimental,
- etc. Configurations of modules can be described simply
- and directly.
-
- 9. RCS performs automatic identification of modules with
- name, revision number, creation time, author, etc.
- Thus, it is always possible to determine which revi-
- sions of which modules make up a given configuration.
-
- 10. Provides high-level management visibility. Thus, it is
- easy to track the status of a software project.
-
- a. RCS provides a complete change history.
-
- b. RCS records who did what when to which revision of
- which module.
-
- 11. RCS is fully compatible with existing software develop-
- ment tools. RCS is unobtrusive -- its interface to the
- file system is such that all your existing software
- tools can be used as before.
-
- 12. RCS' basic user interface is extremely simple. The
- novice need to learn only two commands. Its more
- sophisticated features have been tuned towards advanced
- software development environments and the experienced
- software professional.
-
- 13. RCS simplifies software distribution if customers main-
- tain sources with RCS also. This technique assures
- proper identification of versions and configurations,
- and tracking of customer modifications. Customer modif-
- ications can be merged into distributed versions
- locally or by the development group.
-
- 14. RCS needs little extra space for the revisions (only
- the differences). If intermediate revisions are
- deleted, the corresponding differences are compressed
- into the shortest possible form.
-
- 15. RCS is implemented with reverse deltas. This means that
- the latest revision, which is the one that is accessed
- most often, is stored intact. All others are regen-
- erated from the latest one by applying reverse deltas
- (backward differences). This results in fast access
- time for the revision needed most often.
-