Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

get(1)

admin(1)

delta(1)

prs(1)

what(1)

help(1)



  get(1)                              CLIX                              get(1)



  NAME

    get - Gets a version of an SCCS file

  SYNOPSIS

    get [-rSID] [-ccutoff] [-ilist] [-xlist] [-wstring] [-aseq-no] [-l[p]] [-
    kepmnsbgt] file ...

  FLAGS

    -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 if the -e flag 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 the send command:

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

    -xlist     A list of deltas to be excluded in the creation of the
               generated file.  See the -i flag for the list format.

    -e         Indicates that the get is for the purpose of editing or making
               a change (delta) to the SCCS file with a subsequent use of



  2/94 - Intergraph Corporation                                              1






  get(1)                              CLIX                              get(1)



               delta.  The -e flag used in a get for a particular version
               (SID) of the SCCS file prevents further get s for editing on
               the same SID until delta is executed or the j (joint edit) flag
               is set in the SCCS file (see admin).  Concurrent use of get -e
               for different SIDs is always allowed.

               If the g-file generated by get with an -e flag is accidentally
               ruined in the process of editing it, it may be regenerated by
               re-executing the get command with the -k flag in place of the
               -e flag.

               SCCS file protection specified with the ceiling, floor, and
               authorized user list stored in the SCCS file (see admin) are
               enforced when the -e flag is used.

    -b         Used with the -e flag to indicate that the new delta should
               have an SID in a new branch as shown in Table 1.  This flag is
               ignored if the b flag is not present in the file (see admin) or
               if the retrieved delta is not a leaf delta.  (A leaf delta is
               one that has no successors on the SCCS file tree.)

               Note: A branch delta may always be created from a nonleaf
               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 flag is implied
               by the -e flag.

    -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 stdout instead.  See FILES for the format of the l-
               file.

    -p         Causes the text retrieved from the SCCS file to be written on
               stdout.  No g-file is created.  All output which normally goes
               to stdout goes to file descriptor 2 instead, unless the -s flag
               is used, in which case it disappears.

    -s         Suppresses all output normally written on stdout.  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.



  2                                              Intergraph Corporation - 2/94






  get(1)                              CLIX                              get(1)



               When both the -m and -n flags are used, the format is: %M%
               value, followed by a horizontal tab, followed by the -m flag
               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 (for example, -r1), or release and level (for example,
               -r1.2).

    -wstring   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).  This flag is used by the comb
               command; it is not a generally useful flag.  If both the -r and
               -a flags are specified, only the -a flag is used.  Care should
               be taken when using the -a flag in conjunction with the -e
               flag, as the SID of the delta to be created may not be what one
               expects.  The -r flag can be used with the -a and -e flags to
               control the naming of the SID of the delta to be created.

  DESCRIPTION

    The get command gets a version of an SCCS file.  The command generates an
    ASCII text file from each named SCCS file according to the specifications
    given by its flag arguments, which begin with -.  The arguments may be
    specified in any order, but all flag 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 pathname does not begin with s.) and unreadable files are
    silently ignored.  If a name of - is given, stdin is read; each line of
    stdin 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 filename by simply removing the leading s.;
    (see also FILES, below).

    Each of the flag arguments is explained in the FLAGS section as though
    only one SCCS file is to be processed, but the effects of any flag
    argument applies independently to each named file.

    For each file processed, get responds (on stdout) with the SID being
    accessed and with the number of lines retrieved from the SCCS file.

    If the -e flag 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 stdin is named, each filename is



  2/94 - Intergraph Corporation                                              3






  get(1)                              CLIX                              get(1)



    displayed (preceded by a newline) before it is processed.  If the -i flag
    is used included deltas are listed following the notation ``Included''; if
    the -x flag is used, excluded deltas are listed following the notation
    ``Excluded''.


















































  4                                              Intergraph Corporation - 2/94






  get(1)                              CLIX                              get(1)



               TABLE 1. Determination of SCCS Identification String
   ____________________________________________________________________________
     SID*        -b Flag          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 (that is, 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.




  2/94 - Intergraph Corporation                                              5






  get(1)                              CLIX                              get(1)



    **    ``hR'' is the highest existing release that is lower than the
          specified, nonexistent, release.

    ***   This is used to force creation of the first delta in a new release.

    #     Successor.

    †     The -b flag is effective only if the b flag (see admin) 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), 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).




  6                                              Intergraph Corporation - 2/94






  get(1)                              CLIX                              get(1)



    %Y%       Module type: value of the t flag in the SCCS file (see admin).

    %F%       SCCS filename.

    %P%       Fully qualified SCCS filename.

    %Q%       The value of the q flag in the file (see admin).

    %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 4-character string @(#) recognizable by what.

    %W%       A shorthand notation for constructing what strings for UNIX
              system program files.  %W%=%Z%%M%<horizontal-tab>%I%

    %A%       Another shorthand notation for constructing what strings for
              non-UNIX system program files.  %A%=%Z%%Y% %M% %I%%Z%

  EXAMPLES

    1.  To get (check out) version 1.1 of the SCCS file s.mytest.c for
        editing:

        get -e -v1.1 -s

        The -s flag suppresses any output that is normally directed to stdout.
        The file mytest.c is created for editing by the user.

    2.  To retrieve the SCCS file s.mytest.c for reading:

        get -p s.mytest.c > temp.c

        The contents of s.mytest.c are placed in the file temp.c.

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



  2/94 - Intergraph Corporation                                              7






  get(1)                              CLIX                              get(1)



    by the real user.  If the -k flag 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 flag 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:

    1.  A blank character if the delta was applied; * otherwise.

    2.  A blank character if the delta was applied or was not applied and
        ignored; * if the delta was not applied and was not ignored.

    3.  A code indicating a ``special'' reason why the delta was or was not
        applied:

        I   Included.

        X   Excluded.

        C   Cut off (by a -c flag).

    4.  Blank.

    5.  SCCS identification (SID).

    6.  Tab character.

    7.  Date and time (in the form YY/MM/DD HH:MM:SS) of creation.

    8.  Blank.

    9.  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
    flag along to delta.  Its contents are also used to prevent a subsequent
    execution of get with an -e flag for the same SID until delta is executed
    or the joint edit flag, j, (see admin) 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-



  8                                              Intergraph Corporation - 2/94






  get(1)                              CLIX                              get(1)



    time the get was executed, followed by a blank and the -i flag argument if
    it was present, followed by a blank and the -x flag argument if it was
    present, followed by a newline.  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 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.

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

  DIAGNOSTICS

    Use help for explanations.

  EXIT VALUES

    The get returns 0 if successful; otherwise get returns 1.

  RELATED INFORMATION




  2/94 - Intergraph Corporation                                              9






  get(1)                              CLIX                              get(1)



    Commands: admin(1), delta(1), prs(1), what(1), help(1)





















































  10                                             Intergraph Corporation - 2/94




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