Revision Control Systems or maybe even Software Configuration Management Bill Wohler wohler at sap-ag.de 10.10.92 This article is an introduction to several small papers on various revision control systems. It contains an index to other related articles, a comparison between RCS and ADC (too small to warrant its own article), a bibliography of software configuration management literature, and finally a list of those individuals who have contributed to this document. Be forwarned--many religious wars have been fought over the merits and demerits of the various systems. These articles do not pretend to be unbiased, although I hope that they are at least accurate. If you take issue with any of these articles, please send your comments to me, and I'll be happy to inject your bias therein. Manifest intro-biblio This file, including index, and bibliography. rcs-sccs A comparison of RCS and SCCS. cvs A description of CVS. 1. RCS vs ADC I've had the the chance to examine ADC and figure out how we might make some use of it. The biggest concern I have to date on ADC is the fact that the company owns the source and contracts out to consultants to help provide support for the tool (rather than support it directly). It appears that the expectation is for you to hire a consultant who spends a few months setting the tools up with you and then works with you to make sure that your needs are being met. RCS and SCCS at least allow the option for you to examine the source code... It uses the concept of change sets. All changes made to a group of files is filed as one change set (as you are working, you have an active changeset). You have the choice of keeping a set of change sets to make a release. This makes it easy to support bug fixes for particular requests because you can decide to keep or not a set of changes to make a release. 2. Software Configuration Management Literature General books: Aron, J.D., "The Program Development Process," Addison-Wesley, 1983, ISBN 0-201-14451-4. Babich, Wayne A., "Software Configuration Management: Coordination for Team Productivity," Addison-Wesley, 1986, ISBN 0-201-10161-0. Bersoff, E., Henderson, V., and Siegel, S., "Software Configuration Management: An Investment in Product Integrity," Prentice-Hall, 1980, ISBN 0-13-821769-6. Winkler, Jurgen F.H., Editor, "Proceedings of the International Workshop on Software Version and Configuration Control," German Chapter of the ACM, Grassau, FRG, January 27-29, 1988. ISBN 3-519-02671-6 "Proceedings of the 2nd International Workshop on Software Configuration Management," Princeton, New Jersey, Oct 24, 1989. "Workshop proceedings on Software Management," USENIX, New Orleans, Louisiana, April 3-4, 1989. Papers: Bronson, Nathaniel III, "CCSLAND," USENIX Workshop Proceedings on Software Management, April 3-4, 1989, p87-94. Erickson, V., Pellegrin, J., "Build-A Software Construction Tool," AT&T Bell Lab Technical Journal, Vol 63(6), July-August 1984, p1049-1059. Glew, Andy, "Boxes, Links, and Parallel Trees: Elements of a Configuration Management System," USENIX Workshop Proceedings on Software Management, April 3-4, 1989, p17-28. Harrison, H., Schaefer, S., Yoo, T., "Rtools: Tools for Software Management in a Distributed Computing Environment," USENIX Conference Proceedings, June 20-24, 1988, p85-106. Honda, M. Miller, T., "Software Manaagement Using a CASE Environment," USENIX Workshop Proceedings on Software Management, April 3-4, 1989, p11-16. McKusick, M., Karels, M., Bostic, K., "The Release Engineering of 4.3BSD," USENIX Workshop Proceedings on Software Management, April 3-4, 1989, p95-100. Miller, Dale, "Controlling Software for Multiple Projects," USENIX Workshop Proceedings on Software Management, April 3-4, 1989, p39-50. Miller, Terrence, "A Schema for Configuration Management," Proceedings of the 2nd Int'l Workshop on Software Configuration Management, Princeton, October 24-27 1989. See also ACM SIGSOFT Software Engineering Notes, Volume 17(8), November 1989, p26-29. Nicklin, Peter, "Software Configuration Management of Computer-Aided Design Tools," Hewlett Packard Report DTC-89-01, December 22, 1989. Stenning, Vic, "Project Hygiene", USENIX Workshop Proceedings on Software Management, April 3-4, 1989, p1-9. Tichy, Walter, "Design, Implementation, and Evaluation of a Revision Control System," IEEE, 1982, p58-67. Tichy, Walter, "RCS - A System for Version Control", Software: Practice and Experience, Vol 15(7), July 1985, p637-654. Wiebe, Douglas, "Generic Software Configuration Management: Theory and Design," University of Washington, Technical Report 90-07-03, 1990. Winkler, Juergen, "Version Control in Families of Large Programs," Proceedings of the 9th International Conference on Software Engineering, Monterey, CA, pp150-161, March 30-April 2, 1987. 3. Acknowledgements I would like to thank the following persons for contributing to these articles. I'd like to add your name to the list--please send comments or more references to Bill Wohler . Karl Vogel Mark Runyan Paul Eggert Greg Henderson Dave Goldberg Rob Kurver Raymond Chen Dwight