Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ get(1) — Atari System V ue12

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

admin(1)

delta(1)

help(1)

prs(1)

what(1)

bdiff(1)

sccsfile(4)





   get(1)            (Source Code Control System Utilities)             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 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.

         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 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 cutoff
                         date-time.  This feature allows one to specify a
                         cutoff date in the form:





   7/91                                                                 Page 1









   get(1)            (Source Code Control System Utilities)             get(1)


                               -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 [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 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 [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 tree.)
                         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.




   Page 2                                                                 7/91









   get(1)            (Source Code Control System Utilities)             get(1)


              -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 IDENTIFICATION KEYWORDS 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 (see below).
                         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.

              -t         Used to access the most recently created delta in a
                         given release (e.g., -r1), or release and level
                         (e.g., -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 (see sccsfile(1)).  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


   7/91                                                                 Page 3









   get(1)            (Source Code Control System Utilities)             get(1)


                         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''.





































   Page 4                                                                 7/91









   get(1)            (Source Code Control System Utilities)             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
               components must exist.


   7/91                                                                 Page 5









   get(1)            (Source Code Control System Utilities)             get(1)


         **    ``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 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 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%



   Page 6                                                                 7/91









   get(1)            (Source Code Control System Utilities)             get(1)


   EXAMPLE
               get -e s.file1

         generates from the SCCS format file, s.file1, the text file, file1
         for editing.

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



   7/91                                                                 Page 7









   get(1)            (Source Code Control System Utilities)             get(1)


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

   EXAMPLE
         The following example generates from the SCCS format file s.file1,
         file1 for editing.

                 get -e s.file1

   SEE ALSO
         admin(1), delta(1), help(1), prs(1), what(1), bdiff(1).
         sccsfile(4) in the Programmer's Reference Manual.

   DIAGNOSTICS
         Use help(1) for explanations.

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











   Page 8                                                                 7/91





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