Steve Medrick <smedr...@tnc.org> wrote:

> I am however just a user of it from the early 2000's rather than the 
> author or contributors.
>
> That said...CSSC was an escape hatch written to help users of a 90s era 
> SCCS version control system that probably hasn't been installed on 
> anything built after 2001, so outside of Computer Science archaeologists 
> who trip over a rare burned CD of a SCCS store, I can't imagine anyone 
> using it again.

I have to disagree.

For Computer Science archaeologists, CSSC is not really useful as it (IIRC)
does not deal with all SCCS history file variants of interest. CSSC implements 
a really picky history file parser that does not allow all variants a SCCS 
history file may include and that is successfully parsed by the original SCCS 
parser. 

CSSC even refuses the "s" flag that has been introduced by Sun ~ 30 years
ago and writes a message: Corrupted SCCS file. (Unknown flag 's'.) instead of 
getting a version. The s flag is important if you need some printf() format
strings in the code that have a clash with get keywords, but still have an
expanded version string at the top of a file.

    It seems that CSSC did not introduce many changes during the past years.

But this is not a problem as I managed to convince Sun to opensource the real 
SCCS in 2006 and since then, we have the original software that is under 
active development since then. 

SCCS recently (5 years ago) introduced a new history file format (not enabled 
by default) that fixes all the problems in the SCCSv4 history file format 
introduced February 18, 1977. There now always is a 4 digit year, nanosecond 
time fractions and a timezone in the SCCSv6 history file format. With SCCSv6,
all characters except NUL can be used inside text files. There no problem with
CTL-A at the begining of a line or with a file that does not end in a newline.
There are new get keywords for 4-digit year strings that apply even to the 
SCCSv4 history files. The help facility is now fully integrated.

Also of interest: the already working enhanced annotation mode that (as a 
result of the superior SCCS history file format) creates annotated files at no 
extra cost. Try out:

        sccs get -p -m -n -A -r1.30 some-file

Omit -r or use different values to fit your project. Given that "get" is now a 
subroutine, SCCS would be able to output aprox. 10000 arbitrary annotated file 
versions per second with a typical source file size less than 50k. This permits 
to write a time slider application that you cannot get from other version 
control software (except BitKeeper).

The SCCS development will soon introduce project based file management and 
remote operations.

BTW: if you compare SCCS and CSSC performance, CSSC is 6x slower with small 
files with few deltas and becomes more than 60x slower when you have more than 
10000 deltas in a file. CSSC stops working with more than 32000 deltas while 
SCCS has been successfully tested with 1.5 million deltas in a history file.
Checkout time for such a file (history file size 200MB) was aprox. 2 seconds.

Even in the upcomming project mode, SCCS is of interest, as SCCS is faster than 
any other version control software. The already implemented bulk enter mode has 
been tested with the OpenSolaris sources (~ 19 million lines in 52265 files - 
aprox. 540 MB of source code). SCCS is able to initially enter all these files 
into SCCS history files within 20 seconds. Git needed 1:15 on the same machine.

My conclusion is that SCCS is far from being for the bitbucket only...

SCCS (and my other projects) is of course under control of SCCS ;-)

You may like to check the documentation at:

        http://sccs.sourceforge.net/
        http://sccs.sourceforge.net/man/index.html

There is a nice story that explains how Mark Rochkind invented SCCS in 1972 ;-)

Note that this does not try to imply that CSSC should be shut down, I just like 
to say that it could get some improvements...

Jörg

-- 
 EMail:jo...@schily.net                    (home) Jörg Schilling D-13353 Berlin
       joerg.schill...@fokus.fraunhofer.de (work) Blog: 
http://schily.blogspot.com/
 URL:  http://cdrecord.org/private/ 
http://sourceforge.net/projects/schilytools/files/'

Reply via email to