get - get a version of an SCCS file
get [-r SID] [-c cutoff] [-e] [-b] [-i list] [-x list] [-k] [-l[p]]
[-p] [-s] [-m] [-n] [-g] [-t] [-w string] [-a seq-number] file ...
The get command generates an ASCII text file from each named SCCS file
according to the specifications given by its option arguments, which
begin with -. The arguments can be specified in any order, but all
option arguments apply to all named SCCS files. If a directory is
named, get behaves as if each file in the directory was 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 file name of - is given, the standard input is read and
each line of the standard input is assumed to be the name of an SCCS
file to be processed. Again, non-SCCS files and unreadable files are
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
s. prefix (see FILES below).
Explanation of the option arguments below is based on processing only
one SCCS file. When processing multiple SCCS files, the effects of
any option argument applies independently to each named file.
-rSID The SCCS IDentification string (SID) of the
version (delta) of an SCCS file to be retrieved.
Table 1 shows, for the most useful cases, which
version of an SCCS file is retrieved (as well as
the SID of the version to be eventually created by
delta if the -e option is also used), as a
function of the SID specified (see delta(1)).
-ccutoff cutoff date-time, in the form:
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 can 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
Hewlett-Packard Company - 1 - HP-UX Release 11i: November 2000
that one can use the %E% and %U% identification
keywords (see below) for nested gets within a
~!get "-c%E% %U%" s.file
-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. The -e option
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(1)). Concurrent use of get -e for different
SIDs is always allowed. Note, however, that only
one user is permitted to do a concurrent get -e
If the g-file generated by get with an -e option
is accidentally ruined in the process of editing
it, it can be regenerated by re-executing the get
command with the -k option in place of the -e
SCCS file protection specified via the ceiling,
floor, and authorized user list stored in the SCCS
file (see admin(1)) are enforced when the -e
option is used.
-b Used with the -e option to indicate that the new
delta should have an SID in a new branch as shown
in Table 1. This option 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
Note: A branch delta can always be created from a
-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, can be in
any form shown in the "SID Specified" column of
Table 1. Partial SIDs are interpreted as shown in
the "SID Retrieved" column of Table 1. See
Hewlett-Packard Company - 2 - HP-UX Release 11i: November 2000
-xlist A list of deltas to be excluded (forced not to be
applied) in the creation of the generated file.
See the -i option for the list format.
-k Suppresses replacement of identification keywords
(see below) in the retrieved text by their value.
The -k option is implied by the -e option.
-l[p] Causes a delta summary to be written into an l-
file. If -lp is used, 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. The user must have s-file read permission
in order to use the -l option.
-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
(standard error) instead, unless the -s option 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
-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 options 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
-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).
Hewlett-Packard Company - 3 - HP-UX Release 11i: November 2000
-w string Substitute string for all occurrences of @%M% when
getting the file.
-aseq-number The delta sequence number of the SCCS file delta
(version) to be retrieved (see sccsfile(4)). This
option is used by the comb command (see comb(1));
it is not a generally useful option, and should be
avoided. If both the -r and -a options are
specified, the -a option is used. Care should be
taken when using the -a option in conjunction with
the -e option, because 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 options to
control the naming of the SID of the delta to be
For each file processed, get responds (on the standard output) with
the SID being accessed and with the number of lines retrieved from the
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 processed. 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".
Hewlett-Packard Company - 4 - HP-UX Release 11i: November 2000
| Table 1. Determination of SCCS Identification String |
| 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 |
|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) |
|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 |
Notes for Table 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
Hewlett-Packard Company - 5 - HP-UX Release 11i: November 2000
% The -b option is effective only if the b flag (see
admin(1)) is present in the file. An entry of - means
%% 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
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 can be used in the text
stored in an SCCS file:
%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
%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
%F% SCCS file name.
Hewlett-Packard Company - 6 - HP-UX Release 11i: November 2000
%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 provide sequence
%Z% The 4-character string @(#) recognizable by what (see
%W% A shorthand notation for constructing what(1) strings
for HP-UX system program files.
%A% Another shorthand notation for constructing what(1)
strings for non-HP-UX system program files.
%A% = %Z%%Y% %M% %I%%Z%
LC_CTYPE determines the interpretation of text as single- and/or
LC_MESSAGES determines the language in which messages are displayed.
If LC_CTYPE or LC_MESSAGES is not specified in the environment or is
set to the empty string, the value of LANG is used as a default for
each unspecified or empty variable. If LANG is not specified or is
set to the empty string, a default of "C" (see lang(5)) is used
instead of LANG. If any internationalization variable contains an
invalid setting, get behaves as if all internationalization variables
are set to "C". See environ(5).
International Code Set Support
Single- and multi-byte character code sets are supported.
Use sccshelp(1) for explanations.
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 can be named when the -e option is
Hewlett-Packard Company - 7 - HP-UX Release 11i: November 2000
Unexpected results occur when using the -i option to merge changes
into sections of a file that have been (perhaps inadvertently) deleted
and subsequently re-inserted into a file.
An l-file cannot be generated when -g is used. In other words, -g -l
does not work.
Several auxiliary files can 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 option 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 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
generating the retrieved text. The l-file is created in the current
directory 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
Lines in the l-file have the following format:
1. A blank character if the delta was applied;
2. A blank character if the delta was applied or was not applied
* if the delta was not applied and was not ignored.
3. A code indicating a "special" reason why the delta was or was
C: Cut off (by a -c option).
5. SCCS identification (SID).
Hewlett-Packard Company - 8 - HP-UX Release 11i: November 2000
6. Tab character.
7. Creation date and time (in the form YY/MM/DD HH:MM:SS).
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
option along to delta. Its contents are also used to prevent a
subsequent execution of get with an -e option 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, 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 option argument if it was present,
followed by a blank and the -x option 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.
admin(1), delta(1), prs(1), sccshelp(1), what(1), sccsfile(4).
get: SVID2, SVID3, XPG2, XPG3, XPG4
Hewlett-Packard Company - 9 - HP-UX Release 11i: November 2000