Messages in this thread | | | From | (Larry McVoy) | Subject | SCCS & Source mgmt | Date | Fri, 23 May 1997 15:49:03 -0700 |
| |
Hey folks - I've rewritten SCCS. It's free software. It works w/ GNU make quite well. It's compatible with AT&T SCCS at the file format level and at the command level for get/delta. It's somewhat compatible with RCS at the ci/co level (you can do ci/co -l etc.).
I'm also working on a free version of the software I did at Sun that lets you have multiple SCCS trees and resync them. It's like CVS except that each work area gets a full copy of the SCCS files. When you sync, you sync SCCS files, not clear text files. This allows true distributed development. This part isn't ready yet.
What I need: people who like SCCS that would like to alpha test this stuff. I'll be ready for an alpha test in a week, after I get finished with my regression testing.
I'm also looking for people with a large amount of existing SCCS files, especially with lots of branches, that I could run regression tests on. The regression tests do this
copy the SCCS files to a temporary area (1 at a time) check out each revision using AT&T SCCS. check in each revision using my SCCS compare all the revisions make sure ATT SCCS can deal with my version and vice versus
A good question is "why SCCS when I have RCS?" The answers are
. SCCS has a better file format (don't argue with me about this, I more about this subject than anyone else in the world). . A great example of why SCCS is a better file format is that it lets you quickly do this
$ co -p -m -u example.c lm 1.1 /* lm 1.1 * This is an example C file. lm 1.1 */ lm 1.2 main() lm 1.2 { lm 1.2 printf("Hello world.\n"); lm 1.3 exit(0); lm 1.2 } this shows you the user & revision for each line. If you have ever worked on large projects with lots of other people, you've needed this. . This version of SCCS is a library. You can link it into your applications and do gets & deltas. It really is a library, not a bunch of wrappers around popen("co -l", "r") etc. . It's faster. SCCS can retrieve any delta in O(time to read the file). RCS had to apply diffs to go backwards which is slow. . It's smaller. Here's everything as of today:
co.c revision 1.1: 51 lines ci.c revision 1.1: 38 lines get.c revision 1.6: 45 lines delta.c revision 1.2: 33 lines slib.c revision 1.8: 1192 lines purify.c revision 1.3: 140 lines sccs.h revision 1.6: 97 lines purify.h revision 1.2: 9 lines
Etc.
Let me know if you are interested in testing this stuff out. I'm out of town for the weekend so don't expect a reply right away.
Thanks,
--lm
| |