Source code control system

from Wikipedia, the free encyclopedia

The Source Code Control System ( SCCS ) is software for the version management of files on the computer. The first version was written in 1972 by Marc J. Rochkind at Bell Laboratories . SCCS is the POSIX standard for version management systems.

Functions

SCCS is used especially for text files such as source texts , configuration files or documentation for the administration and documentation of changes. It creates SCCS/a text file named for each changed file in the subfolder s.Name-der-Datei, which contains a checksum and each individual change in a diff -like format. In this way, it is possible to trace every change that has ever been made to an individual file. With the command prt, introduced in 1977, a list of all changes can also be displayed.

Revisions and Branches

Version numbers ("SIDs") in SCCS usually consist of a release number and a level number. The first version of each file is given the SID 1.1. A new revision is created for each new change, which by default only increases the level , for example from version 1.1 to version 1.2. Branches are also supported by means of the flag b in the version file , which increases the SIDs by two more digits, namely a branch number and a sequence number. This enables, for example, corrections to be maintained in an older version branch of an application.

SCCSID and macros

SCCS can insert the current revision number as well as further information in changed files using various macros. The line

   static char SccsId[] = "%W%\t%G%";

in a C source code file, for example, when the changes are complete,

   static char SccsId[] = "@(#)program.c 1.2 08/29/80";

replaced. The automatically inserted character string @(#)(macro %Z%) is used to find versioned files. sccs whatThis finding can also be automated using the command .

Further developments

In its original version, SCCS only manages individual files and can therefore not be used for uniform versioning of entire projects. For this and other reasons, it was increasingly replaced by other version management systems from 1982 onwards.

RCS

In terms of its functionality, SCCS is comparable to the Revision Control System (RCS) developed ten years later . Unlike SCCS, however, RCS does not have checksums and is therefore more susceptible to file defects. CVS is a further development of RCS, which essentially uses the same file format, but enables project-related work.

Later development

From 1986, Sun Microsystems developed a project management system called Network Software Engineering (NSE) based on SCCS . In the early 1990s this was replaced by TeamWare , which is still used for larger projects. The BitKeeper system was originally based on the data structures and the internal programming interfaces of SCCS, but from BitKeeper 5.0 the SCCS/directory created in each subdirectory was replaced by a global project directory .bk/.

References

  1. sccs. In: The Open Group Base Specifications Issue 7, 2018 edition. Retrieved January 17, 2020 .
  2. BitSCCS - SCCS compatible revision control system. Retrieved January 17, 2020 .
  3. Release notes for BitKeeper version 5.4.6 (released May 6, 2013). May 19, 2015, accessed on January 17, 2020 (section: Other changes): “SCCS directories are no longer stored each directory in the repository. A new directory at the top level, .bk, stores all BK data. "

Web links

  • Schily SCCS , an independent further development of Sun SCCS