Software Engineering Jim Murphy CSCI-112 Fall 2001 LESSON 14 Configuration Management can use some sort of tool to keep track of various changes to various version of software, design documents, documentation or any other kind of text file. On unix RCS (Revision Control System) can be very helpful for this - the man command can help you find out about what is supported but here are a list of related programs. man -k rcs ci(1) - check in RCS revisions co(1) - check out RCS revisions ident(1) - identify RCS keyword strings in files rcs(1) - change RCS file attributes rcsclean(1) - clean up working files rcsdiff(1) - compare RCS revisions rcsfile(5) - format of RCS file rcsintro(1) - introduction to RCS commands rcsmerge(1) - merge RCS revisions rlog(1) - print log messages and other information about RCS files As a simple example suppose I need to update the graduate student requirements file as maintained on the gradinfo web page to reflect the change last year of the Department Chair and the Graduate Advisor - first check out the file as locked guzzler 40> co -l Requirements RCS/Requirements,v --> Requirements revision 1.1 (locked) done Then use vi to make the changes in Chair and Grad Advisor and then check the file back in again with: guzzler 42> ci Requirements RCS/Requirements,v <-- Requirements new revision: 1.2; previous revision: 1.1 enter log message, terminated with single '.' or end of file: >> Changed Chair and Grad Advisor >> . done The log message can be as many lines as you like and you do not need to worry about someone else checking out the file while you are editing so that after you write back your changes they might write over it with changes of their own destroying yours - the locked check out prevents this Be sure to check the file back out unlocked to make it available: guzzler 56> co Requirements RCS/Requirements,v --> Requirements revision 1.2 done