get(1)get(1)Nameget - get a copy of SCCS file
Syntaxget [-rSCCS] [-ccutoff] [-ilist] [-xlist] [-aseq-no.] [-k] [-e] [-l[p]]
[-p] [-m] [-n] [-s] [-b] [-g] [-t] file...
Description
The command generates an ASCII text file from each named SCCS file
according to the specifications given by its options. The options,
which begin with -, can be specified in any order, but all options
apply to all named SCCS files. If a directory is named, behaves as
though each file in the directory were specified as a named file,
except that non-SCCS files (last component of the path name does not
begin with s.) and unreadable files are silently ignored. If a name
of - is given, the standard input is read; each line of the standard
input is taken to be the name of an SCCS file to be processed. Again,
non-SCCS files and unreadable files are silently ignored.
The generated text is normally written into a file called the g-file
whose name is derived from the SCCS file name by simply removing the
leading s.; (see also FILES, below).
Each of the options is explained below as though only one SCCS file is
to be processed, but the effects of any options applies independently
to each named file.
Options-rSID Indicates specified delta version number. Table 1 below
shows, for the most useful cases, what version of an SCCS
file is retrieved (as well as the SID of the version to be
eventually created by if the -e option is also used), as a
function of the SID specified.
-ccutoff The cutoff is a date-time in the following form:
YY[MM[DD[HH[MM[SS]]]]]
No changes (deltas) to the SCCS file that were created
after the specified cutoff date-time are included in the
generated ASCII text file. Units omitted from the date-
time default to their maximum possible values; that is,
-c7502 is equivalent to -c750228235959. Any number of non-
numeric characters may separate the various two digit
pieces of the cutoff date-time. This feature allows one to
specify a cutoff date in the form: "-c77/2/2 9:22:25".
-e Gets specified delta version for edit. The -e option used
in a for a particular version (SID) of the SCCS file pre‐
vents further from editing on the same SID until is exe‐
cuted or the j (joint edit) flag is set in the SCCS file,
see Concurrent use of for different SIDs is always allowed.
If the SCCS front end processor is used, the command is
replaced by edit.
If the g-file generated by with an -e option is acciden‐
tally ruined while being edited, it may be regenerated by
re-executing the command with the -k option in place of the
-e option.
SCCS file protection specified by the ceiling, floor, and
authorized user list stored in the SCCS file are enforced
when the -e option is used. For further information, see
-b Gets delta from new branch and must be used with -e option.
This option is ignored if the b flag is not present in the
file or if the retrieved delta is not a leaf delta. For
further information, see A leaf delta is one that has no
successors on the SCCS file tree. A branch delta may
always be created from a nonleaf delta.
-ilist Includes specified list of deltas. The list has the fol‐
lowing syntax:
<list> ::= <range> | <list> , <range>
<range> ::= SID | SID - SID
SID, may be in any form shown in the ``SID Specified'' col‐
umn of Table 1. Partial SIDs are interpreted as shown in
the ``SID Retrieved'' column of Table 1.
-xlist Excludes specified list of deltas. See the -i option for
the list format.
-k Does not expand ID keywords. The -k option is implied by
the -e option.
-l Writes a delta summary to an l-file. If -lp is used then
an l-file is not created; the delta summary is written on
the standard output instead. See FILES for the format of
the l-file.
-p Writes text to stdout. No g-file is created. All output
which normally goes to the standard output goes to file
descriptor 2 instead, unless the -s option is used, in
which case it disappears.
-s Suppresses all messages, except those for fatal errors.
However, fatal error messages, which always go to file
descriptor 2, remain unaffected.
-m Precedes each text line with delta version number. The
format is: SID, followed by a horizontal tab, followed by
the text line.
-n Precedes each text line with identification keyword. The
format is: %M% value, followed by a horizontal tab, fol‐
lowed by the text line. When both the -m and -n option are
used, the format is: %M% value, followed by a horizontal
tab, followed by the -m option generated format.
-g Suppresses the actual retrieval of text from the SCCS file.
It is primarily used to generate an l-file, or to verify
the existence of a particular SID.
-t Gets most recently created (top) delta. For example, -r1),
or release and level, for example, -r1.2).
-u Sets the time of the g-file to the time of the s-file.
This results in a g-file with a time equal to the last
delta. This is useful for build scripts which extract all
files from the SCCS database and then do a make.
-aseq-no. Retrieves the specified delta sequence number. For further
information, see This option is used by the command. It is
not a generally useful option, and users should not use it.
If both the -r and -a option are specified, the -a option
is used. Care should be taken when using the -a option in
conjunction with the -e option, as the SID of the delta to
be created may not be what one expects. The -r option can
be used with the -a and -e option to control the naming of
the SID of the delta to be created.
For each file processed, responds (on the standard output) with the SID
being accessed and with the number of lines retrieved from the SCCS
file.
If the -e option is used, the SID of the delta to be made appears after
the SID accessed and before the number of lines generated. If there is
more than one named file or if a directory or standard input is named,
each file name is printed (preceded by a new-line) before it is pro‐
cessed. If the -i option is used included deltas are listed following
the notation ``Included''; if the -x option is used, excluded deltas
are listed following the notation ``Excluded''.
The SCCS identification strings are defined in the following table:
──────────────────────────────────────────────────────────────────────
SID* -b Option Other SID SID of Delta
Specified Used† Conditions Retrieved to be Created
──────────────────────────────────────────────────────────────────────
none‡ no R defaults to mR mR.mL mR.(mL+1)
none‡ yes R defaults to mR mR.mL mR.mL.(mB+1).1
R no R > mR mR.mL R.1***
R no R = mR mR.mL mR.(mL+1)
R yes R > mR mR.mL mR.mL.(mB+1).1
R yes R = mR mR.mL mR.mL.(mB+1).1
R - R < mR and hR.mL** hR.mL.(mB+1).1
R does not exist
Trunk succ.#
R - in release > R R.mL R.mL.(mB+1).1
and R exists
R.L no No trunk succ. R.L R.(L+1)
R.L yes No trunk succ. R.L R.L.(mB+1).1
R.L - Trunk succ. R.L R.L.(mB+1).1
in release ≥ R
R.L.B no No branch succ. R.L.B.mS R.L.B.(mS+1)
R.L.B yes No branch succ. R.L.B.mS R.L.(mB+1).1
R.L.B.S no No branch succ. R.L.B.S R.L.B.(S+1)
R.L.B.S yes No branch succ. R.L.B.S R.L.(mB+1).1
R.L.B.S - Branch succ. R.L.B.S R.L.(mB+1).1
──────────────────────────────────────────────────────────────────────
* R, L, B, and S are the release, level, branch, and sequence com‐
ponents of the SID, in that order; m means maximum. Thus, for
example, R.mL means the maximum level number within release R;
R.L.(mB+1).1 means the first sequence number on the new branch
(that is, maximum branch number plus one) of level L within
release R. Note that if the SID specified is of the form R.L,
R.L.B, or R.L.B.S, each of the specified components must exist.
** hR is the highest existing release that is lower than the speci‐
fied, nonexistent, release R.
*** This is used to force creation of the first delta in a new
release.
# Successor.
† The -b option is effective only if the b flag is present in the
file. An entry of - means ``irrelevant''. For further informa‐
tion, see
‡ This case applies if the d (default SID) flag is not present in
the file. If the d flag is present in the file, then the SID
obtained from the d flag is interpreted as if it had been speci‐
fied on the command line. Thus, one of the other cases in this
table applies.
Identification Keywords
Identifying information is inserted into the text retrieved from the
SCCS file by replacing identification keywords with their value wher‐
ever they occur. The following keywords may be used in the text stored
in an SCCS file:
Keyword
%M% Module name: either the value of the m flag in the file or if
absent, the name of the SCCS file with the leading s.
removed. For further information, see
%I% SCCS identification (SID) (%R%.%L%.%B%.%S%) of the retrieved
text.
%R% Release.
%L% Level.
%B% Branch.
%S% Sequence.
%D% Current date (YY/MM/DD).
%H% Current date (MM/DD/YY).
%T% Current time (HH:MM:SS).
%E% Date newest applied delta was created (YY/MM/DD).
%G% Date newest applied delta was created (MM/DD/YY).
%U% The time the newest applied delta was created (HH:MM:SS).
%Y% Module type: value of the t flag in the SCCS file For further
information, see
%F% SCCS file name.
%P% Fully qualified SCCS file name.
%Q% The value of the q flag in the file. For further informa‐
tion, see
%C% Current line number. This keyword is intended for identify‐
ing output program messages such as ``this shouldn't have
happened'' type errors. It is not intended to be used on
every line to provide sequence numbers.
%Z% The 4-character string @(#) recognizable by
%W% A shorthand notation for constructing strings for UNIX pro‐
gram files. %W% = %Z%%M%<horizontal-tab>%I%
%A% Another shorthand notation for constructing strings for non-
UNIX program files. %A% = %Z%%Y% %M% %I%%Z%
Restrictions
If the user has write permission in the directory containing the g-
files, but the real user does not, then only one file can be named when
the -e option is used.
Diagnostics
See for explanations.
Files
Several auxiliary files may be created by These files are known generi‐
cally as the g-file, l-file, p-file, and z-file. The letter before the
hyphen is called the tag. An auxiliary file name is formed from the
SCCS file name: the last component of all SCCS file names must be of
the form s.module-name, the auxiliary files are named by replacing the
leading s with the tag. The g-file is an exception to this scheme: the
g-file is named by removing the s. prefix. For example, s.xyz.c, the
auxiliary file names would be xyz.c, l.xyz.c, p.xyz.c, and z.xyz.c,
respectively.
The g-file, which contains the generated text, is created in the cur‐
rent directory (unless the -p option is used). A g-file is created in
all cases, whether or not any lines of text were generated by the It is
owned by the real user. If the -k option is used or implied its mode
is 644; otherwise its mode is 444. Only the real user need have write
permission in the current directory.
The l-file contains a table showing which deltas were applied in gener‐
ating the retrieved text. The l-file is created in the current direc‐
tory if the -l option is used; its mode is 444 and it is owned by the
real user. Only the real user need have write permission in the cur‐
rent directory.
Lines in the l-file have the following format:
a. A blank character if the delta was applied;
∗ otherwise.
b. A blank character if the delta was applied or wasn't
applied and ignored;
∗ if the delta wasn't applied and wasn't ignored.
c. A code indicating a ``special'' reason why the delta was
or was not applied:
´I': Included.
´X': Excluded.
´C': Cut off (by a -c option).
d. Blank.
e. SCCS identification (SID).
f. Tab character.
g. Date and time (in the form YY/MM/DD HH:MM:SS) of cre‐
ation.
h. Blank.
i. Login name of person who created delta.
The comments and MR data follow on subsequent lines, indented
one horizontal tab character. A blank line terminates each
entry.
The p-file is used to pass information resulting from a with an -e
option along to delta. Its contents are also used to prevent a subse‐
quent execution of with an -e option for the same SID until delta is
executed or the joint edit flag, j, see is set in the SCCS file.
The p-file is created in the directory containing the SCCS file and the
effective user must have write permission in that directory. Its mode
is 644 and it is owned by the effective user.
The format of the p-file is the following: the gotten SID, followed by
a blank, followed by the SID that the new delta will have when it is
made, followed by a blank, followed by the login name of the real user,
followed by a blank, followed by the date-time the was executed, fol‐
lowed by a blank and the -i option if it was present, followed by a
blank and the -x option if it was present, followed by a new-line.
There can be an arbitrary number of lines in the p-file at any time; no
two lines can have the same new delta SID.
The z-file serves as a lock-out mechanism against simultaneous updates.
Its contents are the binary (two bytes) process ID of the command that
created it. The z-file is created in the directory containing the SCCS
file for the duration of The same protection restrictions for the p-
file apply for the z-file. The z-file is created mode 444.
See Alsoadmin(1), delta(1), prs(1), sccs(1), sccsfile(5), sccshelp(1), what(1)
Guide to the Source Code Control System
get(1)