Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ get(1) — GENIX 4.1A

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

admin(1)

delta(1)

sccshelp(1)

prs(1)

prt(1)

sccs(1)

what(1)

sccsfile(5)



      GET(1)                  GENIX Programmer's Manual                  GET(1)



      NAME
           get - get a version of an SCCS file

      SYNOPSIS
           get [-rSID]  [-ccutoff]  [-ilist]  [-xlist]  [-aseq-no.]  [-k]  [-e]
           [-l[p]] [-p] [-m] [-n] [-s] [-b] [-g] [-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 com-
           ponent 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
                      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
                      within, say the input to a send(1C) command:

                           ~!get  "-c%E%  %U%"  s.file



      Printed 11/16/83                                                        1





      GET(1)                  GENIX Programmer's Manual                  GET(1)



           -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  dif-
                      ferent 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  succes-
                      sors on the SCCS file tree.)
                      Note: A branch delta may always be created  from  a  non-
                      leaf delta.

           -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.
                      Partial SIDs  are  interpreted  as  shown  in  the  ``SID
                      Retrieved'' column of Table 1.

           -xlist     A list of  deltas  to  be  excluded  (forced  not  to  be
                      applied)  in the creation of the generated file.  See the
                      -i keyletter for the list format.

           -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 sum-
                      mary is written on  the  standard  output  instead.   See
                      FILES for the format of the l-file.




      Printed 11/16/83                                                        2





      GET(1)                  GENIX Programmer's Manual                  GET(1)



           -p         Causes the text retrieved from the SCCS file to be  writ-
                      ten  on  the standard output.  No g-file is created.  All
                      output which 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 (``top'')  delta
                      in  a  given  release  (e.g.,  -r1), or release and level
                      (e.g., -r1.2).

           -aseq-no.  The delta sequence number of the SCCS  file  delta  (ver-
                      sion)  to be retrieved (see sccsfile(5)).  This keyletter
                      is used by the comb(1) command; it  is  not  a  generally
                      useful  keyletter,  and users should not use it.  If both
                      the -r and -a keyletters are specified, 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



      Printed 11/16/83                                                        3





      GET(1)                  GENIX Programmer's Manual                  GET(1)



           is  used,  excluded  deltas  are  listed  following   the   notation
           ``Excluded''.

      center expand ; c s s s s c1 c1 c1 c1 c0 c c c c c l c l l l .  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     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
      =

           *     ``R'', ``L'', ``B'', and ``S'' are the ``release'', ``level'',
                 ``branch'',  and  ``sequence''  components of the SID, respec-
                 tively; ``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  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



      Printed 11/16/83                                                        4





      GET(1)                  GENIX Programmer's Manual                  GET(1)



           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 identi-
                     fying  messages  output  by  the  program  such  as ``this
                     shouldn't have happened'' type errors.  It is not intended
                     to be used on every line to provide sequence numbers.
           %Z%       The 4-character string @(#) recognizable by what(1).
           %W%       A shorthand notation for constructing what(1) strings  for
                     UNIX program files.  %W% = %Z%%M%<horizontal-tab>%I%
           %A%       Another  shorthand  notation  for   constructing   what(1)
                     strings       for       non-UNIX       program      files.
                     %A% = %Z%%Y% %M% %I%%Z%

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



      Printed 11/16/83                                                        5





      GET(1)                  GENIX Programmer's Manual                  GET(1)



           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 permis-
           sion 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  wasn't
                     applied and ignored;
                     * if the delta wasn't applied and wasn't 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 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  con-
           taining the SCCS file and the effective user must have write permis-
           sion 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, fol-
           lowed 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 arbi-
           trary 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.



      Printed 11/16/83                                                        6





      GET(1)                  GENIX Programmer's Manual                  GET(1)



      SEE ALSO
           admin(1), delta(1), sccshelp(1), prs(1), prt(1),  sccs(1),  what(1),
           sccsfile(5).
           Source Code Control System User's Guide by L. E. Bonanni and  C.  A.
           Salemi.

      DIAGNOSTICS
           Use sccshelp(1) for explanations.

      BUGS
           If the effective user has write  permission  (either  explicitly  or
           implicitly) in the directory containing the SCCS files, but the real
           user doesn't, then only one file may be named when the -e  keyletter
           is used.









































      Printed 11/16/83                                                        7



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