sccs-comb(1)

NAME
sccs-comb, comb - combine SCCS deltas

SYNOPSIS

/usr/ccs/bin/comb
[-os]
[-c
sid-list]
[-p
sid]
    [-X
extended-options]
[-N
bulk-spec]
s.filename...

DESCRIPTION

comb generates a shell script (see sh(1)) that you can use to reconstruct the indicated s.files. This script is written to the standard output.

If a directory name is used in place of the s.filename argument, the comb command applies to all s.files in that directory. Unreadable s.files produce an error; processing continues with the next file (if any). The use of `-' as the s.filename argument indicates that the names of files are to be read from the standard input, one s.file per line.

If no options are specified, comb preserves only the most recent (leaf) delta in a branch, and the minimal number of ancestors needed to preserve the history.

OPTIONS

The following options are supported:

-o  For each `get -e' generated, access the reconstructed file at the release of the delta to be created. Otherwise, the reconstructed file is accessed at the most recent ancestor. The use of -o may decrease the size of the reconstructed s.file. It may also alter the shape of the delta tree of the original file.

-s  Generate scripts to gather statistics, rather than combining deltas. When run, the shell scripts report: the file name, size (in blocks) after combining, original size (also in blocks), and the percentage size change, computed by the formula:

      100 * ( original - combined ) / original

    This option can be used to calculate the space that will be saved, before actually doing the combining.

-csid-list
    Include the indicated list of deltas. All other deltas are omitted. sid-list is a comma-separated list of SCCS delta IDs (SIDs). To specify a range of deltas, use a `-' separator instead of a comma, between two SIDs in the list.

-pSID
    The SID of the oldest delta to be preserved.

-Nbulk-spec
    Processes a bulk of SCCS history files. This option allows one to do an efficient mass processing of SCCS history files.

    The bulk-spec parameter is composed from an optional list of flag parameters followed by an optional path specifier.

    The following flag types are supported:

    ++  If bulk-spec is preceded by a `++', comb(1) expects to process filenames that are prepended by a plus sign, the related SID and another plus sign following the form:

        +sid+ filename

        This permits each file to be retrieved with an individual SID.

    space
        This is a placeholder dummy flag that allows one to use a prepared string for the -N option and to replace the space character by one of the supported flags on demand.

    The following path specifier types are supported:

    -N  The file name parameters to the comb command are not s.filename files but the names of the g-files. The s.filename names are automatically derived from the g-file names by prepending s. to the last path name component. Both, s.filename and the g-file are in the same directory.

    -Ns.
        The file name parameters to the comb command are s.filename files. The the g-files names are automatically derived by removing s. from the beginning of last path name component of the s.filename. Both, s.filename and the g-file are in the same directory.

    -Ndir
        The file name parameters to the comb command are not s.filename files but the names of the g-files. The s.filename names are put into directory dir, the names are automatically derived from the g-file names by prepending dir/s. to the last path name component.

    -Ndir/s.
        The file name parameters to the comb command are s.filename files in directory dir. The the g-files names are automatically derived by removing dir/s. from the beginning of last path name component of the s.filename.

    A typical value for dir is SCCS.

    In order to overcome the limited number of exec(2) arguments, it is recommended to use `-' as the file name parameter for comb(1) and to send a list of path names to stdin.

    This option is a SCHILY extension that does not exist in historic sccs implementations.

-Xextended-options
    Specify extended options. The argument extended-options may be a comma separated list of extended option names.

    The following extended options are supported, they may be abbreviated as long ad the abbreviation is still unique. Options with parameter may not be abbreviated.

    0   When reading filenames from stdin, triggered by a file name argument `-', the filename separator is a null byte instead of a newline. This allows one to use long lists with arbitrary filenames.

    help
        Print a short online help for available options.

    The -X option is a SCHILY extension that does not exist in historic sccs implementations.

-V
-version
--version
    Prints the comb version number string and exists.

    This option is a SCHILY extension that does not exist in historic sccs implementations.

ENVIRONMENT VARIABLES

See environ(5) for descriptions of the following environment variables that affect the execution of comb(1): LANG, LC_ALL, LC_COLLATE, LC_CTYPE, LC_MESSAGES, and NLSPATH.

SCCS_NO_HELP
    If set, comb(1) will not automatically call help(1) with the SCCS error code in order to print a more helpful error message. Scripts that depend on the exact error messages of SCCS commands should set the environment variable SCCS_NO_HELP and set LC_ALL=C.

EXIT STATUS

The following exit values are returned:

0   Successful completion.

1   An error occurred.

FILES

s.COMB
    reconstructed SCCS file

comb?????
    temporary file

dump.core
    If the file dump.core exists in the current directory and a fatal signal is received, a coredump is initiated via abort(3).

ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

SEE ALSO

sccs(1), sccs-add(1), sccs-admin(1), sccs-branch(1), sccs-cdc(1), sccs-check(1), sccs-clean(1), sccs-commit(1), sccs-create(1), sccs-cvt(1), sccs-deledit(1), sccs-delget(1), sccs-delta(1), sccs-diffs(1), sccs-edit(1), sccs-editor(1), sccs-enter(1), sccs-fix(1), sccs-get(1), sccs-help(1), sccs-histfile(1), sccs-info(1), sccs-init(1), sccs-istext(1), sccs-ldiffs(1), sccs-log(1), sccs-print(1), sccs-prs(1), sccs-prt(1), sccs-rcs2sccs(1), sccs-remove(1), sccs-rename(1), sccs-rmdel(1), sccs-root(1), sccs-sact(1), sccs-sccsdiff(1), sccs-status(1), sccs-tell(1), sccs-unedit(1), sccs-unget(1), sccs-val(1), bdiff(1), diff(1), what(1), sccschangeset(4), sccsfile(4), attributes(5), environ(5), standards(5).

DIAGNOSTICS

Use the SCCS help command for explanations (see sccs-help(1)).

BUGS

comb may rearrange the shape of the tree of deltas. It may not save any space; in fact, it is possible for the reconstructed file to actually be larger than the original.

Mail other bugs and suggestions to schilytools@mlists.in-berlin.de or open a ticket at https://codeberg.org/schilytools/schilytools/issues.

The mailing list archive may be found at:

https://mlists.in-berlin.de/mailman/listinfo/schilytools-mlists.in-berlin.de.

AUTHORS
The SCCS suite was originally written by Marc J. Rochkind at Bell Labs in 1972. Release 4.0 of SCCS, introducing new versions of the programs admin(1), get(1), prt(1), and delta(1) was published on February 18, 1977; it introduced the new text based SCCS v4 history file format (previous SCCS releases used a binary history file format). The SCCS suite was later maintained by various people at AT&T and Sun Microsystems. Since 2006, the SCCS suite has been maintained by Joerg Schilling and the schilytools project authors.

SOURCE DOWNLOAD
The source code for sccs is included in the schilytools project and may be retrieved from the schilytools project at Codeberg at

https://codeberg.org/schilytools/schilytools.

The download directory is

https://codeberg.org/schilytools/schilytools/releases.