The ASTERIX development system uses sccs, the UNIX source code control system. This is done for two very different reasons,
tar
archives are not
universally supported.
Typical mistakes using SCCS include,
jed
allows
this), and replace
ing it. Effect is to change object module correctly
but does not update the source archive. Result is that next time
you rebuild the library the change goes away!
sccs get -r
mode (a simple sccs get
fails because SCCS believes the module is write locked), change the
protection using chmod
w+ and then replace it.
If you make a change which subsequently turns out to have been ill-advised then you can recover old versions by discarding subsequent revisions. See the manual for details. You can also recover the whole archive to a particular date.
It is important to realise that only the development system uses SCCS --
Starlink just get tar
files containing the source modules and
build it from those. This duality is controlled by the AST_SYS_DEV
environment variable which causes the mk
script to make alternate
token substitutions. Starlink build ASTERIX without setting this variable,
we define a value for it (which is itself irrelevant) in the sysdev
procedure.