Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

admin(1)

delta(1)

prs(1)

what(1)



          GET(1)               INTERACTIVE UNIX System               GET(1)



          NAME
               get - get 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 ...

          DESCRIPTION
               The get command generates an ASCII text file from each named
               SCCS file according to the specifications given by its
               keyletter arguments, 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.
               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 file name by
               simply removing the leading s.; (see also FILES, 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 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 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 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


          Rev. C Software Development Set                            Page 1





          GET(1)               INTERACTIVE UNIX System               GET(1)



                               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.

                                    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 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)] is 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


          Rev. C Software Development Set                            Page 2





          GET(1)               INTERACTIVE UNIX System               GET(1)



                               tree.)
                               Note: A branch delta may always be created
                               from a non-leaf 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 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 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 nor-
                               mally 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


          Rev. C Software Development Set                            Page 3





          GET(1)               INTERACTIVE UNIX System               GET(1)



                               release and level (e.g., -r1.2).

                    -w string  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(5)].  This keyletter is used by the
                               comb(1) command; it is not a generally use-
                               ful 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 conjunction
                               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 nam-
                               ing 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''.























          Rev. C Software Development Set                            Page 4





          GET(1)               INTERACTIVE UNIX System               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.
               **    ``hR'' is the highest existing release that is lower


          Rev. C Software Development Set                            Page 5





          GET(1)               INTERACTIVE UNIX System               GET(1)



                     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 4-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


          Rev. C Software Development Set                            Page 6





          GET(1)               INTERACTIVE UNIX System               GET(1)



                         what(1) 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. 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 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 needs 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 needs 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 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.
                              ``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


          Rev. C Software Development Set                            Page 7





          GET(1)               INTERACTIVE UNIX System               GET(1)



                    terminates each entry.

               The p-file is used to pass information resulting from a get
               with a -e keyletter along to delta.  Its contents are also
               used to prevent a subsequent execution of get with a -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
               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.

          SEE ALSO
               admin(1), delta(1), prs(1), what(1).

          BUGS
               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


          Rev. C Software Development Set                            Page 8





          GET(1)               INTERACTIVE UNIX System               GET(1)



               named when the -e keyletter is used.






















































          Rev. C Software Development Set                            Page 9



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026