Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ get(1) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

admin(1)

bdiff(1)

delta(1)

help(1)

prs(1)

what(1)






       get(1)                                                        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 extracts the contents of each named SCCS file based on the
             values of the keyletter arguments.  The arguments may be
             specified in any order, but all keyletter arguments apply to
             all named SCCS files.  The file name specified must be in the
             form s.file or be the name of a directory.  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 the Files section 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 of the


                           Copyright 1994 Novell, Inc.               Page 1













      get(1)                                                        get(1)


                      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 Specified'' column of
                      Table 1.

            -xlist    A list of deltas to be excluded in the creation 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 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 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 process 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 ceiling,
                      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 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 interpreted as shown in the ``SID


                          Copyright 1994 Novell, Inc.               Page 2













       get(1)                                                        get(1)


                       Retrieved'' column of Table 1.

             -k        Suppresses replacement of identification keywords 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 the ``Identification Keywords''
                       section below 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
                       disappears.

             -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 preceded with
                       the %M% identification keyword value The format is:
                       %M% value, followed by a horizontal tab, followed 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 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.





                           Copyright 1994 Novell, Inc.               Page 3













      get(1)                                                        get(1)


            -t        Used to access the most recently created delta in a
                      given release (for example, -r1), or release and
                      level (for example, -r1.2).

            -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
                      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 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 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 following
            the notation ``Included;'' if the -x keyletter is used,
            excluded deltas are listed following the notation
            ``Excluded.''















                          Copyright 1994 Novell, Inc.               Page 4













       get(1)                                                        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                -         R < mR and R       hR.mL**     hR.mL.(mB+1).1
                                   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
        ________________________________________________________________________

             *   ``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 (for example, 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.





                           Copyright 1994 Novell, Inc.               Page 5













      get(1)                                                        get(1)


            *** 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 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).
            %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 provide


                          Copyright 1994 Novell, Inc.               Page 6













       get(1)                                                        get(1)


                       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.  %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 dot 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.

             A g.file, containing the generated text, is created in the
             current directory.  It is owned by the real user, and only the
             real user need have write permission in the current directory.
             The permissions of the g.file depend on the permissions of the
             SCCS file, the options used when get was executed, and the x
             flag in the SCCS file [see admin(1)].  Users who have read
             permission to the SCCS file have read permission to the
             g.file, and if the x flag has been set in the SCCS file, also
             have execute permission to the g.file.  Invoking get with the
             -e option enables write permission on the g.file for the
             invoker.

             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; * 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.




                           Copyright 1994 Novell, Inc.               Page 7













      get(1)                                                        get(1)


            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
                  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, 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
            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 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
            with mode 444.

         Files
            g.file
                  created by the execution of get.



                          Copyright 1994 Novell, Inc.               Page 8













       get(1)                                                        get(1)


             l.file
                   created by -l option; contains delta summary
             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.
             /usr/lib/locale/locale/LC_MESSAGES/uxue
                   language-specific message file [see LANG on environ(5)].

          Errors
             Use help for explanations.

       REFERENCES
             admin(1), bdiff(1), delta(1), help(1), prs(1), what(1)

       NOTICES
             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 keyletter is used.
























                           Copyright 1994 Novell, Inc.               Page 9








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