get(1) DG/UX R4.11MU05 get(1)
NAME
get - check out a version of an SCCS file
SYNOPSIS
get [-rSID] [-ccutoff] [-ilist] [-xlist] [-wstring] [-aseq-no] [-k]
[-e] [-l[p]] [-p] [-m] [-n] [-s] [-b] [-g] [-t] file ...
where:
SID The SCCS identification string of a version of an SCCS file
cutoff Date and time, in the form YY[/MM[DD[HH[MM[SS]]]]] or
YYYY[/MM[DD[HH[MM[SS]]]]]
list A list of deltas in the following syntax: list ::= range |
list,range
range ::= SID | SID-SID
string A string (must be quoted if it contains a space)
seq-no The delta sequence number of the SCCS file delta (version) to
be retrieved
file Name of the file to be checked out
DESCRIPTION
Get generates an ASCII text file from each named SCCS file according
to the specifications given by its options, which begin with -. The
arguments may be specified in any order, but they all apply to all
named SCCS files. If a directory is named, get treats each file in
the directory 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
. Its name is derived from the SCCS filename 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 option applies
independently to each named file.
-rSID Specify 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 option is also
used), as a function of the SID specified.
-ccutoff Specify cutoff date and time. 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, -c75/02 is equivalent to
-c75/02/28/23/59/59. The year must be separated by any
number of non-numeric characters from the rest of the
various pieces of the cutoff date-time, while for the other
pieces, a separator is optional. This feature lets you
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 a send(1C) command:
~!get "-c%E% %U%" s.file
-e Indicate 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 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.
If the g-file generated by get with an -e option is
accidentally ruined in the process of editing it, it may be
regenerated by re-executing the get command with the -k
option in place of the -e option.
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, 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 has no successors on the SCCS file
tree.)
Note: A branch delta may always be created from a non-leaf
delta.
-ilist Specify a list of deltas to be included (forced to be
applied) in the creation of the generated file. 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 "SID Retrieved" column of
Table 1.
-xlist Specify 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 Suppress replacement of identification keywords (see below)
in the retrieved text by their value. The -k option is
implied by the -e option.
-l[p] Write a delta summary 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 Write the text retrieved from the SCCS file to 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 option is used. In
that case, it disappears.
-s Suppress all output normally written on the standard
output. However, fatal error messages (which always go to
file descriptor 2) remain unaffected.
-m Precede each text line retrieved from the SCCS file 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 Precede each generated text line 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 Suppress 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 Access the most recently created (top) delta in a given
release (e.g., -r1), or release and level (e.g., -r1.2).
-wstring Substitute string for all occurrences of %W% when geting
the file.
-aseq-no Specify the delta sequence number of the SCCS file delta
(version) to be retrieved (see sccsfile(5)). This option
is used by the comb(1) command; it is not a generally
useful option, and users should not use it. 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, 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 options to control the naming of the SID
of the delta to be created.
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 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 filename 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".
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
-----------------------------------------------------------------------------
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
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 option 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 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(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 or YYYY/MM/DD).
%H% Current date (MM/DD/YY or MM/DD/YYYY).
%T% Current time (HH:MM:SS).
%E% Date newest applied delta was created (YY/MM/DD or
YYYY/MM/DD).
%G% Date newest applied delta was created (MM/DD/YY or
MM/DD/YYYY).
%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 filename.
%P% Fully qualified SCCS filename.
%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 numbers.
%Z% The four-character string @(#) recognizable by what(1).
%W% A shorthand notation for constructing what(1) strings for UNIX
system program files. %W% = %Z%%M%horizontal-tab%I%
%A% Another shorthand notation for constructing what(1) strings
for non-UNIX system program files.
%A% = %Z%%Y% %M% %I%%Z%
EXAMPLES
get -e /work/archives/s.file1
This command generates an ASCII text file named 'file1' in the
current working directory from the SCCS file 's.file1' in the
directory /work/archives, while giving the new file proper attributes
for editing or changing (delta). This also creates a file named
'p.file1' in the directory /work/archives.
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 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 current directory.
Lines in the l-file have the following format:
· A blank character if the delta was applied; * otherwise.
· A blank character if the delta was applied or was not applied
and ignored; * if the delta was not applied and was not
ignored.
· 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).
· Blank.
· SCCS identification (SID).
· Tab character.
· Date and time (in the form YY/MM/DD HH:MM:SS or
YYYY/MM/DD HH:MM:SS) of creation.
· Blank.
· 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 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 (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 in mode 444.
DIAGNOSTICS
Use help <error> for explanations.
SEE ALSO
admin(1), comb(1), delta(1), help(1), prs(1), unget(1), what(1),
sccsfile(4).
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 option is
used.
Licensed material--property of copyright holder(s)