SBCS : ncomb manpage

Current Supported Releases: Sablime® v6.0 & v5.2


Updated Tuesday,30-Sep-03 14:28:07 EDT


NAME
     ncomb - rearrange the versions in an SBCS s-file

SYNOPSIS
     ncomb [-nostvNY] [-f flag[val]] [-c sid-list]  [-p  sid]  s-
     file1 s-file2

DESCRIPTION
     ncomb combines deltas by preserving only the specified  ver-
     sions and rearranging the SID dependency tree.

     ncomb can also be used to regenerate the whole  file  (-p-),
     preserving everything, but enforcing a different compression
     or differencing scheme, for example.

     A command line begins with option arguments  and  ends  with
     s-file arguments.  The first s-file argument must specify an
     existing s-file and the second one the s-file to be created.

     ncomb generates a sh(1) script, runs it,  then  removes  it,
     unless  instructed  to do otherwise.  It can also produce on
     standard output a partial description, in  nprs  format,  of
     the  s-file that will be generated.  The description is par-
     tial because the final size  information  is  not  available
     until to command is run and the new file created.  This out-
     put can be piped directly into sidtree(1) to  visualize  the
     new version SID dependency.

     If no options are specified, the ncomb script is  generated,
     run  and removed. It preserves only the last version of each
     branch (branch leaves), the last trunk version and the trunk
     versions  that  have branches.  This is enough to generate a
     tree that preserves the shape of the  original.   All  other
     versions,  including  the  headers  of  versions  previously
     removed with nrmdel, are completely removed.  The configura-
     tion reached is stable against further applications of ncomb
     without options.

OPTIONS
     -n   Don't run the script. This  also  implies  keeping  the
          script  under the name ncomb.sh.  If a previous comb.sh
          exists, the command will not run.

     -o   One branch per release.  The script preserves the  same
          versions  as  the no option case (last branch versions,
          last trunk and branch node versions), but they are  re-
          arranged  differently.   The -o option consolidates all
          the branch leaves of a  release  into  one  branch  and
          merges as much of this branch with the trunk as is con-
          sistent with preserving the release value and the  time
          sequence order.  For the last trunk release, all branch
          versions can be, and are, merged with the trunk (so the

SBCS Release 1.2    Last change: 1 April 1994                   1

          last  release  will  always  be  branch-less).  If used
          repeatedly, ncomb -o will continue to  remove  versions
          until a minimal stable configuration remains, with pos-
          sibly only one version.

     -s   Run silently. Messages and warnings that  are  normally
          sent  to standard output (standard error if -t is used)
          are suppressed.  Real error messages are not  affected.
          The -s option does not affect the -t option.

     -t   Test mode. Produce on standard output an  nprs(1)  like
          description  of  the new version, but don't generate or
          run the script.  Messages  normally  sent  to  standard
          output  are  redirected  to standard error (they can be
          suppressed with -s.  When -t is given,  the  second  s-
          file  argument  is  not  used  and is optional.  The -t
          option is useful in combination with sidtree,
               ncomb -t [options] s.file1 | sidtree -f679
          to give an early look at exactly what the ncomb options
          are  going  to  do.  When used with -t, ncomb automati-
          cally names new versions after their old SID so the new
          SID and old SID can be displayed side by side.

     -v   Verbose. The opposite of -s, produce even  more  status
          messages.

     -N   No execution. Simply print the name of the s-files that
          would  be  processed  by  the generated script.  Do not
          generate the script.

     -Y   Answer y to any y/n prompt. See NOTES below.

     -c sid-list
          Specify the list of versions  to  preserve.  All  other
          versions  are removed.  sid-list can be a mixed list of
          SIDs, SID ranges or version  names.   A  SID  range  is
          indicated  by  joining two SIDs with a -.  The list can
          be comma separated or blank separated and quoted.

     -f flag[val]
          The flag can be either w or y, specifying the  compres-
          sion  or  differencing  scheme to use in the new s-file
          (see nadmin(1) -f).

     -p sid
          Specify the oldest version to preserve. sid  can  be  a
          complete SID (R.L or R.L.B), a version name or the sin-
          gle character -.  A single - means  preserve  all  ver-
          sions.

COMMENTS
     ncomb preserves the versions specified by the  command  line

SBCS Release 1.2    Last change: 1 April 1994                   2

     options  or their defaults.  The algorithm used ensures that
     the chronological sequence order of the  preserved  versions
     is  respected.   ncomb  will do what is possible to preserve
     the release number of a version.  This will fail if  a  ver-
     sion  has  a  release number lower than that of the earliest
     preserved trunk delta (implying it is a branch version).  In
     these  cases  the release number is increased to that of the
     earliest trunk version.

     A side effect of any ncomb usage that does not preserve  all
     versions  is  that  original  SIDs that are relabeled may be
     difficult to identify in the new  s-file.   This  is  not  a
     problem  if  all  versions are preserved (-p-) or if version
     names are used because ncomb preserves the original  version
     names.  Therefore applications that name their valuable ver-
     sions can use ncomb effectively to control s-file growth.

     If the -p- option was not used, ncomb adds  some text to the
     file descriptive text, stating
          *** This File was COMBined *** date-time user
     Followed by the original delta header information  generated
     by nprs.  The combined deltas (new versions) time stamps and
     author will be time and author of the ncomb operation.

     If -p- was used, the file descriptive  is  not  changed  all
     original time stamps and authors are preserved.

SBCS Release 1.2    Last change: 1 April 1994                   3

EXAMPLE
     Figure 1 is a sidtree(1) picture of an s-file  (s.sample_sb)
     with 33 deltas and six branches.

          1.1 ------------------------------------+-------+     sable
           |                                      |    1.1.1.1  sable
           |                                   1.1.2.1    |     sable
           |                                      |    1.1.1.2  sable
           |                                   1.1.2.2    |     anil
           |                                      |    1.1.1.3  sable
           |                                   1.1.2.3    |     anil
           |                                   1.1.2.4    |     anil
           |                                      |    1.1.1.4  sable
           |                                   1.1.2.5    |     anil
           |                                      |    1.1.1.5  sable
           |                                   1.1.2.6    |     anil
           |                                      |    1.1.1.6  sable
           |                                   1.1.2.7    |     anil
           |                                      |    1.1.1.7  sable
          2.1 --------------------+-------+       |             sable
           |                      |    2.1.1.1    |             sable
           |                   2.1.2.1    |       |             sable
           |                      |    2.1.1.2    |             sable
           |                      |       |    1.1.2.8          ljh
           |                   2.1.2.2    |       |             ljh
           |                      |       |    1.1.2.9          ljh
           |                   2.1.2.3    |       |             ljh
           |                   2.1.2.4    |       |             prasad
           |                              |    1.1.2.10         prasad
          3.1                             |                     gbrill
          4.1                             |                     gbrill
          5.1 ----+-------+               |                     gbrill
                  |    5.1.1.1            |                     gbrill
               5.1.2.1    |               |                     gbrill
               5.1.2.2    |               |                     gbrill
                       5.1.1.2            |                     wina
                                       2.1.1.3                  wina

                  Figure 1: sidtree -f5 s.sample_sb

SBCS Release 1.2    Last change: 1 April 1994                   4

     Figures 2 and 3 show the effect of ncomb with default option
     and  ncomb  using  the -o option, respectively.  Notice that
     the tree shape is preserved in Figure 2, but not  in  Figure
     3.  To ease mapping old to new SIDs, sidtree -t assigns tem-
     porary names to  each  version.  The  names  appear  between
     brackets and reflect the original SIDs.

          1.1 -------------------------------+------+    sable  [1.1]
           |                                 |   1.1.1.1 sable  [1.1.1.7]
          2.1 -----------------+------+      |           sable  [2.1]
           |                   |   2.1.1.1   |           prasad [2.1.2.4]
           |                   |          1.1.2.1        prasad [1.1.2.10]
          5.1 ---+------+      |                         gbrill [5.1]
                 |   5.1.1.1   |                         gbrill [5.1.2.2]
              5.1.2.1          |                         wina   [5.1.1.2]
                            2.1.2.1                      wina   [2.1.1.3]

            Figure 2: ncomb -t s.sample_sb | sidtree -f58

               1.1                sable  [1.1]
               1.2 ----------+    sable  [1.1.1.7]
               2.1           |    sable  [2.1]
               2.2 ---+      |    prasad [2.1.2.4]
                |     |   1.2.1.1 prasad [1.1.2.10]
               5.1    |           gbrill [5.1]
               5.2    |           gbrill [5.1.2.2]
               5.3    |           wina   [5.1.1.2]
                   2.2.1.1        wina   [2.1.1.3]

           Figure 3: ncomb -t -o s.sample_sb | sidtree -f58

FILES
     The script generates temporary files in the directory speci-
     fied  by  the  env  variables  TMPDIR,  TEMP  or TMP, or the
     sbcsenv variable tmpdir [= "/tmp"].  They are removed before
     the script terminates.

     The comb.sh script is saved in the current directory when -n
          option is used.

NOTES
     Multiple Files
          ncomb is used on one s-file at a time.  It can be  used
          as  part  of  a script to run on multiple s-files.  For
          example, to convert all s-files from the present direc-
          tory (or the matching source tree directory), one could

SBCS Release 1.2    Last change: 1 April 1994                   5

          use sfile(1) to write
               for f in `sfile .`
               do
                    if ncomb $f $f.$$
                    then mv $f.$$ $f
                    fi
               done

     Multi-User
          The script generated by ncomb calls on nadmin, nget and
          ndelta;  it  will only be usable by the s-file adminis-
          trator.

     Y/N Prompt
          An unexpected prompt to restore the  s-file  is  always
          possible.   Specifying  -Y provides a default y answer.
          Because the user must already have permission to modify
          the s-file, any restore is expected to succeed.

     Caveat
          ncomb does not guarantee that the combined s-file  will
          be  any  smaller than the original. In fact, because in
          part of the additions to the descriptive text, the  new
          file size can sometimes exceed that of the original.

COMPARISON WITH SCCS
     Only in SBCS:
          The test option -t and the option -p- to regenerate the
          whole file.

     Differences:
          The SBCS 1.2 version of this command  is  substantially
          different  from  the  previous  SBCS and SCCS commands.
          The current version is used on one s-file  at  a  time.
          Previous versions of ncomb would try to maintain prede-
          cessor relationships as close as possible to  those  of
          the  original  s-file  and  this could cause surprising
          predecessor relationships in the new file.   This  ver-
          sion  of  ncomb forces all predecessors to be immediate
          neighbors on the SID tree:  the  previous  version  for
          forward  deltas, the following version for reverse del-
          tas.

DIAGNOSTICS
     Warning and error messages have error codes that can be used
     with nhelp for a more detailed explanation.

SEE ALSO
     nadmin(1), ncdc(1), ndelta(1), nedges(1), nget(1), nhelp(1),
     nprs(1), nrmdel(1), sbcsenv(1), sidtree(1).

SBCS Release 1.2    Last change: 1 April 1994                   6

Return to SBCS Commands manpage index


Sablime® HOME | Availability | Ordering | Download | Documentation | FAQ's | Support | Training | Newsletter


LUCENT TECHNOLOGIES Copyright © 2003 Lucent Technologies
All Rights Reserved.