get(1) USER COMMANDS get(1)
NAME
get - get a version of an SCCS file
SYNOPSIS
get [-aseq-no.] [-ccutoff] [-ilist] [-rSID] [-wstring]
[-xlist] [-l[p]] [-b] [-e] [-g] [-k] [-m] [-n] [-p]
[-s] [-t] file...
DESCRIPTION
get generates an ASCII text file from each named SCCS file
according to the specifications given by its keyletter argu-
ments, which begin with -. The arguments may be specified
in any order, but all keyletter 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,
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.
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 the FILES sec-
tion below).
Each of the keyletter arguments is explained below as though
only one SCCS file is to be processed, but the effects of
any keyletter argument apply independently to each named
file.
-rSID 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(1)
if the -e keyletter 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 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 two-digit pieces
1
get(1) USER COMMANDS get(1)
of the cutoff date-time. This feature
allows one to specify a cutoff date in the
form:
-c"77/2/2 9:22:25".
-ilist A list of deltas to be included (forced to
be applied) in the creation of the generated
file. The list has the following syntax:
<list> ::= <range> | <list> , <range>
<range> ::= SID | SID - SID
SID, the SCCS Identification of a delta, may
be in any form shown in the ``SID Speci-
fied'' column of Table 1.
-xlist A list of deltas to be excluded in the crea-
tion of the generated file. See the -i
keyletter for the list format.
-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(1).
The -e keyletter used in a get for a partic-
ular 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(1)]. Concurrent use of get -e for
different SIDs is always allowed.
If the g-file generated by get with an -e
keyletter is accidentally ruined in the pro-
cess of editing it, it may be regenerated by
re-executing the get command with the -k
keyletter in place of the -e keyletter.
SCCS file protection specified via the ceil-
ing, floor, and authorized user list stored
in the SCCS file [see admin(1)] are enforced
when the -e keyletter is used.
-b Used with the -e keyletter to indicate that
the new delta should have an SID in a new
branch as shown in Table 1. This keyletter
is ignored if the b flag is not present in
the file [see admin(1)] or if the retrieved
delta is not a leaf delta. (A leaf delta is
one that has no successors on the SCCS file
tree.) A branch delta may always be created
from a non-leaf delta. Partial SIDs are
2
get(1) USER COMMANDS get(1)
interpreted as shown in the ``SID
Retrieved'' column of Table 1.
-k Suppresses replacement of identification
keywords (see below) in the retrieved text
by their value. The -k keyletter is implied
by the -e keyletter.
-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 IDENTIFI-
CATION KEYWORDS for detailed information on
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 that normally
goes to the standard output goes to file
descriptor 2 instead, unless the -s
keyletter is used, in which case it disap-
pears.
-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 pre-
ceded with the %M% identification keyword
value (see below). The format is: %M%
value, followed by a horizontal tab, fol-
lowed by the text line. When both the -m
and -n keyletters are used, the format is:
%M% value, followed by a horizontal tab,
followed by the -m keyletter generated for-
mat.
-g Suppresses the actual retrieval of text from
the SCCS file. It is primarily used to gen-
erate an l-file, or to verify the existence
of a particular SID.
-t Used to access the most recently created
delta in a given release (e.g., -r1), or
release and level (e.g., -r1.2).
3
get(1) USER COMMANDS get(1)
-w string Substitute string for all occurrences of %W%
when getting the file. Substitution occurs
prior to keyword expansion.
-aseq-no. The delta sequence number of the SCCS file
delta (version) to be retrieved. This
keyletter is used by the comb command; it is
not a generally useful keyletter. If both
the -r and -a keyletters are specified, only
the -a keyletter is used. Care should be
taken when using the -a keyletter in con-
junction with the -e keyletter, as the SID
of the delta to be created may not be what
one expects. The -r keyletter can be used
with the -a and -e keyletters to control the
naming of the SID of the delta to be
created.
For each file processed, get responds (on the standard out-
put) with the SID being accessed and with the number of
lines retrieved from the SCCS file.
If the -e keyletter 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 keyletter is used, included deltas are listed follow-
ing the notation ``Included''; if the -x keyletter is used,
excluded deltas are listed following the notation
``Excluded''.
4
get(1) USER COMMANDS get(1)
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 < mR and
R - R does not exist hR.mL** hR.mL.(mB+1).1
_________________________________________________________________
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
_________________________________________________________________
Trunk succ.
R.L - in release > R R.L R.L.(mB+1).1
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'' 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 com-
ponents must exist.
5
get(1) USER COMMANDS get(1)
** ``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 keyletter is effective only if the b flag [see
admin(1)] 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 inter-
preted as if it had been specified 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 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(1)], 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.
%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(1)].
%F% SCCS file name.
%P% Fully qualified SCCS file name.
%Q% The value of the q flag in the file [see
admin(1)].
%C% Current line number. This keyword is intended for
identifying messages output by the program such as
``this should not have happened'' type errors. It
is not intended to be used on every line to pro-
vide sequence numbers.
%Z% The four-character string @(#) recognizable by the
what command.
%W% A shorthand notation for constructing what strings
for UNIX System program files.
6
get(1) USER COMMANDS get(1)
%W% = %Z%%M%<tab>%I%
%A% Another shorthand notation for constructing what
strings for non-UNIX System program files:
%A% = %Z%%Y% %M% %I%%Z%
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. pre-
fix. 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 keyletter 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 keyletter 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 keyletter 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; * oth-
erwise.
b. A blank character if the delta was applied or was
not applied and ignored; * if the delta was not
applied and was not ignored.
c. A code indicating a ``special'' reason why the
delta was or was not applied: ``I'' (included),
``X'' (excluded), or ``C'' (cut off by a -c
keyletter).
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
7
get(1) USER COMMANDS get(1)
terminates each entry.
The p-file is used to pass information resulting from a get
with an -e keyletter along to delta. Its contents are also
used to prevent a subsequent execution of get with an -e
keyletter for the same SID until delta is executed or the
joint edit flag, j, [see admin(1)] 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, fol-
lowed by the login name of the real user, followed by a
blank, followed by the date-time the get was executed, fol-
lowed by a blank and the -i keyletter argument if it was
present, followed by a blank and the -x keyletter 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 simultane-
ous 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
with mode 444.
FILES
g-file Created by the execution of get.
p-file [see delta(1)]
q-file [see delta(1)]
z-file [see delta(1)]
bdiff Program to compute differences between the
``gotten'' file and the g-file.
SEE ALSO
admin(1), delta(1), help(1), prs(1), what(1).
bdiff(1) in the User's Reference Manual.
DIAGNOSTICS
Use help(1) for explanations.
NOTES
If the effective user has write permission (either expli-
citly or implicitly) in the directory containing the SCCS
files, but the real user does not, then only one file may be
named when the -e keyletter is used.
8