### 6.9 SCCS Version Differences

This section outlines some of the ways in which various versions of SCCS differ from each other and therefore sometimes from CSSC.

#### 6.9.1 Binary file support and line lengths

The various versions of SCCS differ in their level of support for binary files (see Binary File Support), and in the maximum line length that they will support (see Maximum Line Length.

#### 6.9.2 sccsdiff

There are some small variations in the way that the several versions of `sccsdiff` behave. These are outlined in the table below :-

Solaris 8

  Prints a separator line between the `diff` output for each s-file. This separator is output before the first set of diff output, even if only one s-file has been named on the command line.

Solaris 2.6 and many other versions of Unix

  Does not print a separator.

#### 6.9.3 admin

There are a few differences in the behaviour of the `admin` command across the various SCCS Implementations :-

The `-n` option

  Some versions of Dynix do not allow the use of the `-n` option without the `-i` option. A workaround is to use `-n -i/dev/null` instead.

Binary file support

  Most implementations of SCCS do not support the encoding of binary files, either automatically or by the use of the `-b` option to `admin`. See Binary File Support, for more information.

Executable file support

  The SCO OpenServer implementation of SCCS provides an `x` flag, which turns on the executable bits of the mode of the g-file when it is created. Other versions of SCCS do not have this feature. While CSSSC provides this feature also, its use is not recommended. The `prt -f` command does not indicate the value of the `x` flag.

  The Solaris implementation of SCCS copies the execute bits from the mode of the history file to the mode of the gotten file. It also does a similar thing for `admin -i`. This feature is also implemented in CSSC, though other implementations of SCCS may not do this. The mode of the gotten file (and the history file for `admin -i` is still controlled by the vurrent umask setting.

  Executable File Support.

Initial delta

  The `-r` option is used to specify the release of the initial delta. Some implementations of SCCS allow this to be used to specify more components of a SID than just the release number. The CSSC version of `admin` allows this usage but issues a warning message. If the `-r` option is used to specify a non-trunk SID (that is, a SID with more than two components), this is allowed but some of the other tools in the CSSC suite will not work correctly on the resulting file.

#### 6.9.4 prs

The Solaris 2.6 version of `prs` doesn’t include ignored deltas. So, if a delta has included, excluded and ignored deltas, ‘`:DI:`’ expands to the same thing as ‘`:Dn:/:Dx:`’ as opposed to ‘`:Dn:/:Dx:/:Dg:`’. Solaris 11 uses ‘`:Dn:/:Dx:/:Dg:`’ for this case.

#### 6.9.5 prt

If the “encoded” flag is set, some versions of `prt` (but not the CSSC version) omit a newline in the output and so the next thing follows immediately on the same line.

#### 6.9.6 get

Sun Solaris 8 features a `y` flag. If the `y` flag is set in the SCCS file, only the specified SCCS keywords will be expanded in the gotten file (assuming that the `-k` and `-e` options are not used).

Solaris and CSSC set the execute bits of the gotten file if the history file is executable. Other versions of SCCS may or may not do this.

The `get` command on SCO OpenServer honours the setting of the `x` flag. This is described above.

For a discussion of the interoperability of CSSC with other SCCS implementations, see Interoperability. For a description of the `x` and `y` flags, see Flags.