petej@itcode.Eng.Sun.COM (Pete Jolly) (10/20/90)
I come from an environment that used RCS rather heavily and now I am forced (much to my disgust) to use SCCS for source archive control. I don't like SCCS because in my opinion it is too hard to get started with and doesn't offer the overall flexibility that RCS does. I will concede that it may be much more powerful for those large scale projects that have multiple programmers working on the same software. One such thing that I found missing is the ability to store source code revision history in the source file itself. RCS lets you do this by replacing a history variable with the history of the revisions. This allows you to place the history where you want it to go in the extracted version. SCCS has the "prs" option which allows you to print out the revision history on stdout but that, of course, is not in the original source. If someone has a copy of the source file and wants to know what the revision history is, they also need access to the SCCS files. Does anyone out there have any ideas on how to incorporate revision history into SCCS source files?? Thanks in advance, Pete Jolly.
korsberg@abaa.uucp (Ed Korsberg) (10/22/90)
In article <143950@sun.Eng.Sun.COM> petej@itcode.Eng.Sun.COM (Pete Jolly) writes: > >Does anyone out there have any ideas on how to incorporate >revision history into SCCS source files?? > >Thanks in advance, > >Pete Jolly. I have not used RCS but I incorporate revision strings in my source files by including the following line for C source files: /**************************************************************************** Copyright 1990 Your company name %W%, Date %G% *****************************************************************************/ Assuming the source file is named foobar.c the above line %W%, Date %G% will expand to @(#)foobar.c 1.7, Date 10/22/90 ^ ^ Major revision--------! ! Minor revision----------! This expansion is done when SCCS checks a file back into the database. -- Ed Korsberg E-mail: korsberg@aa.ab.com Allen Bradley Inc. phone: 313-998-2470 555 Briarwood Circle Ann Arbor, Mich 48104
meissner@osf.org (Michael Meissner) (10/25/90)
In article <5633@abaa.UUCP> korsberg@abaa.uucp (Ed Korsberg) writes: | I have not used RCS but I incorporate revision strings in my source files | by including the following line for C source files: | | /**************************************************************************** | Copyright 1990 Your company name | %W%, Date %G% | *****************************************************************************/ | | Assuming the source file is named foobar.c the above line %W%, Date %G% | will expand to | @(#)foobar.c 1.7, Date 10/22/90 | ^ ^ | Major revision--------! ! | Minor revision----------! | | This expansion is done when SCCS checks a file back into the database. But this is not what was asked for. Under RCS, you have a line with $Log$ in it, RCS will copy the contents of the reason for the change into the file at that point, keeping a running history of the changes made to the file since it was created (or until you delete the log entries manually). Without building programs that sit on top of sccs, I don't know of anyway to automagically add the revision history. -- Michael Meissner email: meissner@osf.org phone: 617-621-8861 Open Software Foundation, 11 Cambridge Center, Cambridge, MA, 02142 Do apple growers tell their kids money doesn't grow on bushes?
jbr0@cbnews.att.com (joseph.a.brownlee) (10/25/90)
In article <MEISSNER.90Oct24151352@osf.osf.org>, meissner@osf.org (Michael Meissner) writes: > Without building programs that sit on top of sccs, I don't know of > anyway to automagically add the revision history. Without building a program that sits on top of SCCS, you can't do much of _anything_ with it. I wrote such a system using shell scripts for a previous employer. It automatically made what some people call "s-lists", or lists of the version of each source file associated with a given version of the binary. It also handled things like only making deltas of those files that had actually been changed and creating "what" labels in the generated binaries. A solution like this can be written, but it isn't exactly trivial to do, and as with anything, your returns in convenience are directly proportional to the effort you expend in writing it. And, once you get going with it, you find that even a small bug in your front-end programs can wreak havoc. Still, if in a similar situation, I might write something like this again, because it _was_ useful and I believe it did save a lot of time and effort. Disclaimer: No, I do not have a copy of those scripts. -- - _ Joe Brownlee, Analysts International Corp. @ AT&T Network Systems /_\ @ / ` 471 E Broad St, Suite 1610, Columbus, Ohio 43215 (614) 860-7461 / \ | \_, E-mail: jbr@cblph.att.com Who pays attention to what _I_ say? "Scotty, we need warp drive in 3 minutes or we're all dead!" --- James T. Kirk