This section describes how included, excluded and ignored deltas are handled by cssc. Little documentation is available on how sccs handles this, and so while this section describes how cssc works, it may in fact not be an accurate description of how cssc should work.
If you spot a defect in this section (or of course any other section) of the cssc manual, please report this as a bug (see Reporting Bugs).
The usual case is where none of the deltas in the sccs file has any included, excluded or ignored deltas. All the lines in the body of the sccs file are there because they were first inserted by a particular delta. All of these lines are copied through to the gotten file, unless they are deleted by a later delta. For example if an sccs file contains deltas 1.1 and 1.2, then all the lines from delta 1.2 will be included, and all the lines from delta 1.1 which are not deteled in version 1.2 are also included.
Normally the contents of the gotten delta is included in the output, along with all the non-deleted lines of its ancestors. However, a delta can also specify that some other delta should be included. This really only makes a difference when there is a branch in the file.
For example, if delta 1.5 includes 18.104.22.168, then the gotten file will include the contents of versions 1.1 through to 1.5, plus the contents of the 1.3.1 branch up to and including 22.214.171.124. Lines which were (say) added in 1.2 but delted in 126.96.36.199 will not appear in the output, since we have included a delta that deletes them.
Excluding a delta is, unsurprisingly, more or less the opposite of including one. The exclusion of a delta supercedes the inclusion of a delta. One might specify, for example, that delta 1.6 should exclude delta 1.5 (for example to back out of any changes it made). Exclusion can also be used to reverse the effect of an inclusion. Suppose that delta 1.6 in the example from the section above excludes 188.8.131.52, then 1.6 will include the contents of deltas 1.1 through to 1.4, plus the contents of delta 1.5 itself, but it will not include the data from the 1.3.1 branch that would have been used if we had gotten delta 1.5.
Ignored deltas are “silent”; that is, lines which are added by a delta which is (explicitly or implcitly) included will not appear in the gotten file. Conversely, lines deleted by an ignored delta will still appear in the gotten file.