Source Code Control System

Uses your system voice; voice and rate in settings.

Snapshot

≈ 6 min read

Names in other languages

No names in other languages are held for this entry yet.

Article bodies are English and are not machine-translated. A name in another language is not a translation of the article.

Source Code Control System (SCCS) is a version control system designed to track changes in source code and other text files during the development of a piece of software. This allows the user to retrieve any of the previous versions of the original source code and the changes which are stored. It was originally developed at Bell Labs beginning in late 1972 by Marc Rochkind for an IBM System/370 computer running OS/360. A characteristic feature of SCCS is the sccsid string that is embedded into source code, and automatically updated by SCCS for each revision. This example illustrates its use in the C programming language: static char sccsid[] = "@(#)ls.c 8.1 (Berkeley) 6/11/93"; This string contains the file name, date, and can also contain a comment. After compilation, the string can be found in binary and object files by looking for the pattern @(#) and can be used to determine which source code files were used during compilation. The what command is available to automate this search for version strings.

Source Code Control System (SCCS) is a version control system designed to track changes in source code and other text files during the development of a piece of software. This allows the user to retrieve any of the previous versions of the original source code and the changes which are stored. It was originally developed at Bell Labs beginning in late 1972 by Marc Rochkind for an IBM System/370 computer running OS/360. A characteristic feature of SCCS is the sccsid string that is embedded into source code, and automatically updated by SCCS for each revision. This example illustrates its use in the C programming language: static char sccsid[] = "@(#)ls.c 8.1 (Berkeley) 6/11/93"; This string contains the file name, date, and can also contain a comment. After compilation, the string can be found in binary and object files by looking for the pattern @(#) and can be used to determine which source code files were used during compilation. The what command is available to automate this search for version strings. ==History== In 1972, Marc Rochkind developed SCCS in SNOBOL4 at Bell Labs for an IBM System/370 computer running OS/360 MVT. He rewrote SCCS in the C programming language for use under UNIX, then running on a PDP-11, in 1973. The first publicly released version was SCCS version 4 from February 18, 1977. It was available with the Programmer's Workbench (PWB) edition of the operating system. Release 4 of SCCS was the first version that used a text-based history file format; earlier versions used binary history file formats. Release 4 was no longer written or maintained by Marc Rochkind. Subsequently, SCCS was included in AT&T's commercial System III and System V distributions. It was not licensed with 32V, the ancestor to BSD. The SCCS command set is now part of the Single UNIX Specification. SCCS was the dominant version control system for Unix until later version control systems, notably the RCS and later CVS, gained more widespread adoption. Today, these early version control systems are generally considered obsolete, particularly in the open-source community, which has largely embraced distributed version control systems. However, the SCCS file format is still used internally by a few newer version control programs, including BitKeeper and TeamWare. The latter is a frontend to SCCS. Sablime has been developed from a modified version of SCCS but uses a history file format that is incompatible with SCCS. The SCCS file format uses a storage technique called interleaved deltas (or the weave ). This storage technique is now considered by many version control system developers as foundational to advanced merging and versioning techniques, such as the "Precise Codeville" ("pcdv") merge. Apart from correcting Year 2000 problems in 1999, no active development has taken place on the various UNIX vendor-specific SCCS versions. In 2006, Sun Microsystems (today part of Oracle) released their Solaris version of SCCS as open-source under the CDDL license as part of their efforts to open-source Solaris. ==Background== The Source Code Control System (SCCS) is a system for controlling file and history changes. Software is typically upgraded to a new version by fixing bugs, optimizing algorithms and adding extra functions. Changing software causes problems that require version control to solve. Source code takes up too much space because it is repeated in every version. It is hard to acquire information about when and where changes occurred. Finding the exact version which the client has problems with is difficult. SCCS was built to solve these problems. SCCS from AT&T had five major versions for the IBM OS and five major versions for UNIX Two specific implementations using SCCS are: PDP 11 under Unix and IBM 370 under the OS. ==SCCS basic commands== SCCS provides a set of commands in the form of macro invocations that perform or initiate source code management functions with a simple syntax, such as create, get, edit, prt. It also provides access to the revision history of files under management. These commands are implemented as argument verbs to the driver program sccs. $ sccs create program.c program.c: 1.1 87 lines The outputs are name, version and lines. The command is a macro that expands to admin to create the new history file followed by get to retrieve the file. $ sccs edit program.c 1.1 new delta 1.2 87 lines Edit a specific file. The command is a macro that expands to get -e. $ sccs delget program.c comments? main function enhanced 1.2 10 inserted 0 deleted 87 unchanged 1.2 97 lines Check in new version and get the new version from sccs. The command is a macro that expands to delta to check in the new version file followed by get to retrieve the file. $ sccs get program.c 1.1 87 lines The outputs are version and lines you want to get from specific file. $ sccs prt program.c This command produces a report of source code changes. ==Implementations== ==References== ==Further reading== Essay from Marc Rochkind on how SCCS was invented – AIX 7.3 manual page ==External links== Schily's SCCS on Codeberg

Text derived from https://en.wikipedia.org/w/index.php?oldid=1329620932 under CC BY-SA 4.0; modifications have been made.

References

1 claim could not be tied to a specific sentence and is listed in the table below instead.