Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ get(1) — DG/UX 4.00

Media Vault

Software Library

Restoration Projects

Artifacts Sought



                                                                   get(1)



        _________________________________________________________________
        get                                                       Command
        get a version of an SCCS file
        _________________________________________________________________


        SYNTAX

        get [-rSID] [-ccutoff] [-ilist] [-xlist] [-wstring]
        [-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 they all apply to all named SCCS files.  If a directory is
        named, get treats each file in the directory 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 . Its name is derived from the SCCS filename 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



        DG/UX 4.00                                                 Page 1
               Licensed material--property of copyright holder(s)





                                                                   get(1)



                   possible values; that is, -c7502 is equivalent to
                   -c750228235959.  Any number of non-numeric characters
                   may separate the various two-digit pieces of the
                   cutoff date-time.  This feature lets you 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

        -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
                   has no successors 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



        DG/UX 4.00                                                 Page 2
               Licensed material--property of copyright holder(s)





                                                                   get(1)



                   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]      Writes a delta summary 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         Writes the text retrieved from the SCCS file to 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 that 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         Precedes each text line retrieved from the SCCS file
                   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         Precedes each generated text line 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         Accesses the most recently created (top) delta in a
                   given release (e.g., -r1), or release and level (e.g.,
                   -r1.2).

        -wstring   Substitute string for all occurrences of %W% when
                   geting 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 useful keyletter, and users should not use
                   it.  If both the -r and -a keyletters are specified,



        DG/UX 4.00                                                 Page 3
               Licensed material--property of copyright holder(s)





                                                                   get(1)



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

              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
        _________________________________________________________________



        DG/UX 4.00                                                 Page 4
               Licensed material--property of copyright holder(s)





                                                                   get(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.
        **    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.



        DG/UX 4.00                                                 Page 5
               Licensed material--property of copyright holder(s)





                                                                   get(1)



        %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 filename.
        %P%  Fully qualified SCCS filename.
        %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 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 what(1) strings
             for non-UNIX system program files.
             %A% = %Z%%Y% %M% %I%%Z%



        _________________________________________________________________
        EXAMPLES

        $ get -e /work/archives/s.file1


        This command generates an ASCII text file named 'file1' in the
        current working directory from the SCCS file 's.file1' in the
        directory /work/archives, while giving the new file proper
        attributes for editing or changing (delta).  This also creates a
        file named 'p.file1' in the directory /work/archives.

        _________________________________________________________________


        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.



        DG/UX 4.00                                                 Page 6
               Licensed material--property of copyright holder(s)





                                                                   get(1)



        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 blank character if the delta was applied; *
                  otherwise.
             *    A blank character if the delta was applied or was not
                  applied and ignored; * if the delta was not applied and
                  was not ignored.
             *    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).
             *    Blank.
             *    SCCS identification (SID).
             *    Tab character.
             *    Date and time (in the form YY/MM/DD HH:MM:SS) of
                  creation.
             *    Blank.
             *    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



        DG/UX 4.00                                                 Page 7
               Licensed material--property of copyright holder(s)





                                                                   get(1)



        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 in mode 444.


        SEE ALSO

        admin(1), delta(1), help(1), prs(1), what(1), sccsfile(4).

        "Source Code Control System" in Programmer's Guide to the DG/UX
        System.


        DIAGNOSTICS

        Use help(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 does not, then only one file may be named when the -e
        keyletter is used.





















        DG/UX 4.00                                                 Page 8
               Licensed material--property of copyright holder(s)



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