Previous: Keyword Substitution, Up: get


3.6 Included Excluded and Ignored deltas

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).

3.6.1 The Usual Case

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.

3.6.2 Included Deltas

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 1.3.1.5, 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 1.3.1.5. Lines which were (say) added in 1.2 but delted in 1.3.1.1 will not appear in the output, since we have included a delta that deletes them.

3.6.3 Excluded Deltas

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 1.3.1.5, 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.

3.6.4 Ignored Deltas

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.