GET(1SCCS) COMMAND REFERENCE GET(1SCCS)
NAME
get - get a version of an SCCS file
SYNOPSIS
get [-rSID] [-ccutoff] [-ilist] [-xlist] [-aseq-no.]
DESCRIPTION
Get generates an ASCII text file from each named SCCS file
according to the specifications given by its key letter
arguments, which begin with -. The arguments may be
specified in any order, but all key letter arguments apply
to all named SCCS files. If a directory is named, get
behaves as though each file in the directory were specified
as a named file. 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.
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).
For each file processed, get responds (on the standard
output) with the SID being accessed and with the number of
lines retrieved from the SCCS file.
If the -e key letter 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 processed. If
the -i key letter is used included deltas are listed
following the notation ``Included''; if the -x key letter is
used, excluded deltas are listed following the notation
``Excluded''.
center expand ; c s s s s c1 c1 c1 c1 c0 c c c c c l c l l l .
TABLE 1. Determination of SCCS Identification String
= SID* -b Keyletter 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 _ R - Trunk succ.# R.mL R.mL.(mB+1).1
in release > R 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) _
Printed 4/6/89 1
GET(1SCCS) COMMAND REFERENCE GET(1SCCS)
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'' components of the
SID, respectively; ``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 (i.e., 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 specified, nonexistent, release R.
***
This is used to force creation of the first delta in a
new release.
# Successor.
† The -b key letter is effective only if the b flag (see
admin(1sccs)) is present in the file. An entry of -
means ``irrelevant''.
‡ 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 specified on the command
line. Thus, one of the other cases in this table
applies.
Identifying information is inserted into the text retrieved
from the SCCS file by replacing identification keywords with
their value wherever they occur. The following keywords may
be used in the text stored in an SCCS file:
Keyword
Value
%M% Module name: either the value of the m flag in the
file (see admin(1sccs)), or if absent, the name of
the SCCS file with the leading s. removed.
%I% SCCS identification (SID) (%R%.%L%.%B%.%S%) of the
retrieved text.
%R% Release.
Printed 4/6/89 2
GET(1SCCS) COMMAND REFERENCE GET(1SCCS)
%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% Time newest applied delta was created (HH:MM:SS).
%Y% Module type: value of the t flag in the SCCS file
(see admin(1sccs)).
%F% SCCS file name.
%P% Fully qualified SCCS file name.
%Q% The value of the q flag in the file (see
admin(1sccs)).
%C% Current line number. This keyword is intended for
identifying messages output by the program 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
what(1sccs).
%W% A shorthand notation for constructing what(1sccs)
strings for UTek program files.
%W%~=~%Z%%M%<horizontal-tab>%I%
%A% Another shorthand notation for constructing
what(1sccs) strings for non-UTek program files.
%A%~=~%Z%%Y%~%M%~%I%%Z%
OPTIONS
Each of the key letter arguments is explained below as
though only one SCCS file is to be processed, but the
effects of any key letter argument applies independently to
each named file.
-rSID
Printed 4/6/89 3
GET(1SCCS) COMMAND REFERENCE GET(1SCCS)
The SCCS IDentification string (SID) of the version
(delta) of an SCCS file to be retrieved. 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 delta(1sccs) if the -e key
letter is also used), as a function of the SID specified.
-ccutoff
Cutoff date-time, in the form:
YY[MM[DD[HH[MM[SS]]]]]
No changes (deltas) to the SCCS file which 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 2 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 Indicates that the get is for the purpose of editing or
making a change (delta) to the SCCS file via a subsequent
use of delta(1sccs). The -e key letter used in a get for
a particular version (SID) of the SCCS file prevents
further gets for editing on the same SID until delta is
executed or the j (joint edit) flag is set in the SCCS
file (see admin(1sccs)). Concurrent use of get -e for
different SIDs is always allowed.
If the g-file generated by get with an -e key letter is
accidentally ruined in the process of editing it, it may
be regenerated by re-executing the get command with the
-k key letter in place of the -e key letter.
SCCS file protection specified via the ceiling, floor,
and authorized user list stored in the SCCS file (see
admin(1sccs)) are enforced when the -e key letter is
used.
-b Used with the -e key letter to indicate that the new
delta should have an SID in a new branch as shown in
Table~1. This key letter is ignored if the b flag is not
present in the file (see admin(1sccs)) or if the
retrieved delta is not a leaf delta. (A leaf delta is
one that has no successors on the SCCS file tree.)
Note: A branch delta may always be created from a non-
leaf delta.
-ilist
A list of deltas to be included (forced to be applied) in
Printed 4/6/89 4
GET(1SCCS) COMMAND REFERENCE GET(1SCCS)
the creation of the generated file. The list has the
following syntax:
<list> ::= <range> | <list> , <range>
<range> ::= SID | -
SID, the SCCS Identification of a delta, may be in any
form shown in the ``SID Specified'' column of Table~1.
Partial SIDs are interpreted as shown in the ``
Retrieved'' column of Table~1.
-xlist
A list of deltas to be excluded (forced not to be
applied) in the creation of the generated file. See the
-i key letter for the list format.
-k Suppresses replacement of identification keywords (see
below) in the retrieved text by their value. The -k key
letter is implied by the -e key letter.
-l[p]
Causes a delta summary to be written into 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 Causes the text retrieved from the SCCS file to be
written on the standard output. No g-file is created.
All output which normally goes to the standard output
goes to file descriptor 2 instead, unless the -s key
letter is used, in which case it disappears.
-s Suppresses all output normally written on the standard
output. However, fatal error messages (which always go
to file descriptor 2) remain unaffected.
-m Causes each text line retrieved from the SCCS file to be
preceded by the SID of the delta that inserted the text
line in the SCCS file. The format is: SID, followed by a
horizontal tab, followed by the text line.
-n Causes each generated text line to be preceded with the
%M% identification keyword value (see below). The format
is: %M% value, followed by a horizontal tab, followed by
the text line. When both the -m and -n key letters are
used, the format is: %M% value, followed by a horizontal
tab, followed by the -m key letter 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.
Printed 4/6/89 5
GET(1SCCS) COMMAND REFERENCE GET(1SCCS)
-t Used to access the most recently created (``top'') delta
in a given release (e.g., -r1), or release and level
(e.g., -r1.2).
-aseq-no.
The delta sequence number of the SCCS file delta
(version) to be retrieved (see sccsfile(5sccs) ). This
key letter is used by the comb(1sccs) command; it is not
a generally useful key letter, and users should not use
it. If both the -r and -a key letters are specified, the
-a key letter is used. Care should be taken when using
the -a key letter in conjunction with the -e key letter,
as the SID of the delta to be created may not be what one
expects. The -r key letter can be used with the -a and
-e key letters to control the naming of the SID of the
delta to be created.
FILES
Several auxiliary files may be created by get, These files
are known generically 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 current directory (unless the -p key letter is used). A
g-file is created in all cases, whether or not any lines of
text were generated by the get. It is owned by the real
user. If the -k key letter 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 generating the retrieved text. The l-file is
created in the current directory if the -l key letter is
used; its mode is 444 and it is owned by the real user.
Only the real user need have write permission in the current
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.
Printed 4/6/89 6
GET(1SCCS) COMMAND REFERENCE GET(1SCCS)
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 key letter).
d. Blank.
e. SCCS identification (SID).
f. Tab character.
g. Date and time (in the form YY/MM/DD~HH:MM:SS) of
creation.
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 get
with an -e key letter along to delta. Its contents are also
used to prevent a subsequent execution of get with an -e key
letter for the same SID until delta is executed or the joint
edit flag, j, (see admin(1sccs)) 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 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 get was executed,
followed by a blank and the -i key letter argument if it was
present, followed by a blank and the -x key letter argument
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 (2 bytes)
process ID of the command (i.e., get) that created it. The
z-file is created in the directory containing the SCCS file
for the duration of get. The same protection restrictions
as those for the p-file apply for the z-file. The z-file is
created mode 444.
DIAGNOSTICS
Use sccshelp(1sccs) for explanations.
Printed 4/6/89 7
GET(1SCCS) COMMAND REFERENCE GET(1SCCS)
CAVEATS
If the effective user has write permission (either
explicitly or implicitly) in the directory containing the
SCCS files, but the real user doesn't, then only one file
may be named when the -e key letter is used.
SEE ALSO
admin(1sccs), delta(1sccs), sccshelp(1sccs), prs(1sccs),
what(1sccs), and sccsfile(5sccs).
Printed 4/6/89 8
%%index%%
na:312,87;
sy:399,322;
de:721,2723;3828,2463;6675,1956;
op:8631,322;9337,3496;13217,2712;16313,1166;
fi:17479,2403;20266,2563;
di:22829,191;
ca:23404,331;
se:23735,349;
%%index%%000000000202