get(1) CLIX get(1)
NAME
get - Gets a version of an SCCS file
SYNOPSIS
get [-rSID] [-ccutoff] [-ilist] [-xlist] [-wstring] [-aseq-no] [-l[p]] [-
kepmnsbgt] file ...
FLAGS
-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 if the -e flag 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. Note that this implies that one may use the
%E% and %U% identification keywords (see below) for nested gets
within, say the input to the send command:
!get "-c%E% %U%" s.file
-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 Specified'' column of Table 1.
-xlist A list of deltas to be excluded in the creation of the
generated file. See the -i flag for the list format.
-e Indicates that the get is for the purpose of editing or making
a change (delta) to the SCCS file with a subsequent use of
2/94 - Intergraph Corporation 1
get(1) CLIX get(1)
delta. The -e flag used in a get for a particular version
(SID) of the SCCS file prevents further get s for editing on
the same SID until delta is executed or the j (joint edit) flag
is set in the SCCS file (see admin). Concurrent use of get -e
for different SIDs is always allowed.
If the g-file generated by get with an -e flag is accidentally
ruined in the process of editing it, it may be regenerated by
re-executing the get command with the -k flag in place of the
-e flag.
SCCS file protection specified with the ceiling, floor, and
authorized user list stored in the SCCS file (see admin) are
enforced when the -e flag is used.
-b Used with the -e flag to indicate that the new delta should
have an SID in a new branch as shown in Table 1. This flag is
ignored if the b flag is not present in the file (see admin) 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 nonleaf
delta. Partial SIDs are 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 flag is implied
by the -e flag.
-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 stdout instead. See FILES for the format of the l-
file.
-p Causes the text retrieved from the SCCS file to be written on
stdout. No g-file is created. All output which normally goes
to stdout goes to file descriptor 2 instead, unless the -s flag
is used, in which case it disappears.
-s Suppresses all output normally written on stdout. 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.
2 Intergraph Corporation - 2/94
get(1) CLIX get(1)
When both the -m and -n flags are used, the format is: %M%
value, followed by a horizontal tab, followed by the -m flag
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 Used to access the most recently created delta in a given
release (for example, -r1), or release and level (for example,
-r1.2).
-wstring Substitute string for all occurrences of %W% when getting the
file.
-aseq-no The delta sequence number of the SCCS file delta (version) to
be retrieved (see sccsfile). This flag is used by the comb
command; it is not a generally useful flag. If both the -r and
-a flags are specified, only the -a flag is used. Care should
be taken when using the -a flag in conjunction with the -e
flag, as the SID of the delta to be created may not be what one
expects. The -r flag can be used with the -a and -e flags to
control the naming of the SID of the delta to be created.
DESCRIPTION
The get command gets a version of an SCCS file. The command generates an
ASCII text file from each named SCCS file according to the specifications
given by its flag arguments, which begin with -. The arguments may be
specified in any order, but all flag 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 pathname does not begin with s.) and unreadable files are
silently ignored. If a name of - is given, stdin is read; each line of
stdin 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 filename by simply removing the leading s.;
(see also FILES, below).
Each of the flag arguments is explained in the FLAGS section as though
only one SCCS file is to be processed, but the effects of any flag
argument applies independently to each named file.
For each file processed, get responds (on stdout) with the SID being
accessed and with the number of lines retrieved from the SCCS file.
If the -e flag 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 stdin is named, each filename is
2/94 - Intergraph Corporation 3
get(1) CLIX get(1)
displayed (preceded by a newline) before it is processed. If the -i flag
is used included deltas are listed following the notation ``Included''; if
the -x flag is used, excluded deltas are listed following the notation
``Excluded''.
4 Intergraph Corporation - 2/94
get(1) CLIX get(1)
TABLE 1. Determination of SCCS Identification String
____________________________________________________________________________
SID* -b Flag 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 (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.
2/94 - Intergraph Corporation 5
get(1) CLIX get(1)
** ``hR'' is the highest existing release that is lower than the
specified, nonexistent, release.
*** This is used to force creation of the first delta in a new release.
# Successor.
† The -b flag is effective only if the b flag (see admin) 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.
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), 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).
6 Intergraph Corporation - 2/94
get(1) CLIX get(1)
%Y% Module type: value of the t flag in the SCCS file (see admin).
%F% SCCS filename.
%P% Fully qualified SCCS filename.
%Q% The value of the q flag in the file (see admin).
%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 provide sequence numbers.
%Z% The 4-character string @(#) recognizable by what.
%W% A shorthand notation for constructing what strings for UNIX
system program files. %W%=%Z%%M%<horizontal-tab>%I%
%A% Another shorthand notation for constructing what strings for
non-UNIX system program files. %A%=%Z%%Y% %M% %I%%Z%
EXAMPLES
1. To get (check out) version 1.1 of the SCCS file s.mytest.c for
editing:
get -e -v1.1 -s
The -s flag suppresses any output that is normally directed to stdout.
The file mytest.c is created for editing by the user.
2. To retrieve the SCCS file s.mytest.c for reading:
get -p s.mytest.c > temp.c
The contents of s.mytest.c are placed in the file temp.c.
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 filename is formed from the
SCCS filename: the last component of all SCCS filenames 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
filenames 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 flag 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
2/94 - Intergraph Corporation 7
get(1) CLIX get(1)
by the real user. If the -k flag 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 flag 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:
1. A blank character if the delta was applied; * otherwise.
2. A blank character if the delta was applied or was not applied and
ignored; * if the delta was not applied and was not ignored.
3. A code indicating a ``special'' reason why the delta was or was not
applied:
I Included.
X Excluded.
C Cut off (by a -c flag).
4. Blank.
5. SCCS identification (SID).
6. Tab character.
7. Date and time (in the form YY/MM/DD HH:MM:SS) of creation.
8. Blank.
9. 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
flag along to delta. Its contents are also used to prevent a subsequent
execution of get with an -e flag for the same SID until delta is executed
or the joint edit flag, j, (see admin) 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-
8 Intergraph Corporation - 2/94
get(1) CLIX get(1)
time the get was executed, followed by a blank and the -i flag argument if
it was present, followed by a blank and the -x flag argument if it was
present, followed by a newline. 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 (that is,
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.
FILES
g-file Existed before the execution of delta; removed after
completion of delta.
p-file Existed before the execution of delta; may exist after
completion of delta.
q-file Created during the execution of delta; removed after
completion of delta.
x-file Created during the execution of delta; renamed to SCCS
file after completion of delta.
z-file Created during the execution of delta; removed during the
execution of delta.
d-file Created during the execution of delta; removed after
completion of delta.
/usr/bin/bdiff Program to compute differences between the ``gotten''
file and the g-file.
NOTES
If the effective user has write permission (either explicitly 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 flag is used.
DIAGNOSTICS
Use help for explanations.
EXIT VALUES
The get returns 0 if successful; otherwise get returns 1.
RELATED INFORMATION
2/94 - Intergraph Corporation 9
get(1) CLIX get(1)
Commands: admin(1), delta(1), prs(1), what(1), help(1)
10 Intergraph Corporation - 2/94