Source Code Control System
Jul. 21st, 2009 03:19 pmPOSIX specifies SCCS, Source Code Control System, the first version control system in the World. An article describing usage, internals, and history of it was written by its author, Marc Rochkind, and published in 1975. Inside an Open Group-certified system with XSI (development) extension, SCCS is highly integrated with the `make' program, providing a comfortable way to develop small programs locally.
In Debian, this revision control system is available in particular through a package called `cssc', and GNU Make in turn does know about SCCS' commands. Unfortunately, GNU Make does not support PROJECTDIR environment variable specified in the POSIX standard to provide a way to work with projects together with other local users in a given system. However, the latter feature is no more meaningful for the current state of the IT world, thanks to the Internet widely available.
In any way, SCCS in Debian can be an appropriate tool for tracking local projects, documents, or configuration files constantly being changed. Transparent and simple structure of the history files (so-called s-files) allows fixing small errors in tracked files without unnecessary increase of the version numbers. One of its features is labeling source code modules with identifiers recognizable by the `what' utility - it can be useful to determine the version for each module a given build is constructed from:
Currently, the `cssc' package makes available only the front-end command, `sccs', but POSIX specifies also `get', `what', `delta', etc. Since the `get' command is supposed to be present by GNU Make, it is worth fixing that, for instance, by providing a set of symbolic links to the corresponding executables in ~/bin directory. Later, a package called `posix-utils' is going to be proposed to Debian such a way that it would create them system-wide making the system closer to POSIX Shell and Utilities conformance.
In Debian, this revision control system is available in particular through a package called `cssc', and GNU Make in turn does know about SCCS' commands. Unfortunately, GNU Make does not support PROJECTDIR environment variable specified in the POSIX standard to provide a way to work with projects together with other local users in a given system. However, the latter feature is no more meaningful for the current state of the IT world, thanks to the Internet widely available.
In any way, SCCS in Debian can be an appropriate tool for tracking local projects, documents, or configuration files constantly being changed. Transparent and simple structure of the history files (so-called s-files) allows fixing small errors in tracked files without unnecessary increase of the version numbers. One of its features is labeling source code modules with identifiers recognizable by the `what' utility - it can be useful to determine the version for each module a given build is constructed from:
Currently, the `cssc' package makes available only the front-end command, `sccs', but POSIX specifies also `get', `what', `delta', etc. Since the `get' command is supposed to be present by GNU Make, it is worth fixing that, for instance, by providing a set of symbolic links to the corresponding executables in ~/bin directory. Later, a package called `posix-utils' is going to be proposed to Debian such a way that it would create them system-wide making the system closer to POSIX Shell and Utilities conformance.