<<

Source Code Control System From Wikipedia, the free encyclopedia

Source Code Control System (SCCS) is an early system, geared toward program source code and other text files. It was originally developed in SNOBOL at Bell Labs in 1972 by Marc Rochkind for an IBM System/370 computer running Source Code Control System OS/360 MVT.[1] It was later rewritten by him in C for UNIX, then running on a PDP-11, and released with the Programmer's Original author(s) Marc J. Rochkind Workbench (PWB) edition of that operating system. Initial release 1972 Subsequently, SCCS was included in AT&T's commercial System III and System V distributions. It was not licensed with 32V, Written in C the ancestor to Berkeley Unix.[2] The SCCS command set is now part of the Single UNIX Specification. Operating system Unix-like Type Version control 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 License proprietary considered obsolete, particularly in the open source community, which has largely embraced distributed version control licenses, Common systems. However, the SCCS file format is still used internally by a few newer version control programs, including BitKeeper Development and and TeamWare. The latter is a frontend to SCCS. Sablime[3] has been developed from a modified version of SCCS[4] but uses a Distribution License history file format that is incompatible with SCCS. The SCCS file format uses a storage technique called (or the weave[5]). This storage technique is now considered by many version control system developers as foundational to advanced merging and versioning techniques,[6] such as the "Precise " ("pcdv") .

Apart from fixing some Year 2000 problems in 1999, there is no active development on the various UNIX vendor specific SCCS versions. In 2006, Sun Microsystems (today part of Oracle Corporation) released their Solaris version of SCCS as open source under the Common Development and Distribution License as part of their efforts to open-source Solaris.[7]

SCCS is also known for the sccsid string, for example: 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, this string can be found in binary and object files by looking for the pattern "@(#)" and can be used determine which source code files were used during compilation. The "what" command [1] (http://pubs.opengroup.org/onlinepubs/9699919799/utilities/what.html) is available to automate this search for version strings.

Contents

1 Alternatives

1.1 UNIX SCCS versions

1.2 Jörg Schilling's fork

1.3 Heirloom project

1.4 GNU conversion utility

1.5 Other version control systems

2 References

Alternatives

UNIX SCCS versions

Most UNIX versions include a version of SCCS, which, however, is often no longer actively developed.

Jörg Schilling's fork

Jörg Schilling (who requested the release of SCCS in the early days of the OpenSolaris project) maintains a fork of SCCS[8] that is based on the OpenSolaris source code. It has received major feature enhancements but remains compatible with the original SCCS versions unless using the "new project" mode.[9]

Heirloom project

The Heirloom Project includes a version of SCCS derived from the OpenSolaris source code[10] and maintained between December 2006 and April 2007.[11]

GNU conversion utility

GNU offers the SCCS compatible program GNU CSSC (http://www.gnu.org/software/cssc/) ("Compatibly Stupid Source Control"), which is occasionally used to convert SCCS archives to newer systems like CVS or Subversion;[12] it is not a complete[13] SCCS implementation and not recommended for use in new projects, but mostly meant for converting to a modern version control system.

Other version control systems

Since the 1990s, many new version control systems have been developed and become popular that are designed for managing projects with a large number of files and that offer advanced functionality such as multi-user operation, access control, automatic building, network support, release management and distributed version control. Bitkeeper and TeamWare use the SCCS file format internally and can be considered successors to SCCS.

References

1. Rochkind, Marc J. (December 1975), "The Source Code Control System" (PDF), IEEE Transactions on Software Engineering SE–1 (4), pp. 364–370 2. SCCS what(1) (http://minnie.tuhs.org/cgi-bin/utree.pl?file=4BSD/usr/man/cat1/what.1) manpage from 4BSD, 1980, on the website of The Unix Heritage Society. 3. Sablime Homepage (http://www.bell-labs.com/project/sablime/) 4. Estublier, Jacky, David Leblang, André van der Hoek, Reidar Conradi, Geoffrey Clemm, Walter Tichy, and Darcy Wiborg-Weber. “Impact of software engineering research on the practice of software configuration management.” ACM Transactions on Software Engineering and Methodology (TOSEM) 14 (October 2005): 383–430. 5. Hudson, Greg (2002-10-03), Notes on keeping version histories of files, Unpublished personal notes 6. Estublier, Jacky, David Leblang, André van der Hoek, Reidar Conradi, Geoffrey Clemm, Walter Tichy, and Darcy Wiborg-Weber. “Impact of software engineering research on the practice of software configuration management.” ACM Transactions on Software Engineering and Methodology (TOSEM) 14 (October 2005): p.398. 7. Stephen Lau, Sun Microsystems (2006-12-19). "SCCS/make source available". Archived from the original on April 25, 2012. Retrieved 2011-11-14. 8. Jörg Schilling's SCCS development website (http://sccs.sourceforge.net/) 9. Schily SCCS web site (http://sccs.sourceforge.net/#compatibility): "Will the upcoming SCCSv6 stay compatible with POSIX and with historic SCCS implementations?" 10. Gunnar Ritter (20 June 2010). "The Heirloom Development Tools". Retrieved 4 November 2011. 11. http://heirloom.cvs.sourceforge.net/viewvc/heirloom/heirloom-devtools/sccs/ see CVS history 12. SCCS2SVN conversion utility (http://sccs2svn.berlios.de/), which works with both SCCS and CSSC 13. GNU CSSC list of limitations in its documentation (http://www.gnu.org/s/cssc/manual/Incomplete.html#Incomplete)

Retrieved from "https://en.wikipedia.org/w/index.php?title=Source_Code_Control_System&oldid=707449526"

Categories: 1972 software Version control systems Free version control software Unix archivers and compression-related utilities Unix SUS2008 utilities Self-hosting software Software using the CDDL license

This page was last modified on 28 February 2016, at 23:16. Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.