RCS and multiple modules

Mark Runyan runyan at hpcuhc.HP.COM
Thu Mar 15 03:29:30 AEST 1990


This may be late and too long for most...

>/ ilan343 at violet.berkeley.edu / 11:56 am  Mar  6, 1990 /
>I know of "symbolic names", but they seem somewhat inflexible. From
>what I understand, the symbolic names are associated to just the
>revision number itself, but not to the level number, or branches.

Perhaps you have a clear understanding of symbolic names and they don't
meet your needs, but let me add to the confusion.  A symbolic name can
made into a pointer to a revision, a level, a branch, or a twig.

For instance "-NA_SYM:1.1" will point A_SYM at revision 1.1 and just 
revision 1.1, but "-NA_SYM:1" will point A_SYM at the highest 1.x revision.
It will float along the top of the 1.x versions.  If you use "-NA_SYM:1.2.3.1"
you point at just one revision (this is what I call a 'fixed' symbol).
However, "-NA_SYM:1.2.3" points at the top of the branch 1.2.3.  If you have
revisions 1.2.3.1, 1.2.3.2, and 1.2.3.3, using A_SYM will recover 1.2.3.3.
If you add 1.2.3.4, then A_SYM will point to 1.2.3.4  (this is what I call
a `floating' symbol).  You can recover a specific branch revision with A_SYM
set to 1.2.3, by using "-rA_SYM.x", where x is 1, 2, 3, or 4.  (e.g a
"ci -rA_SYM.2 file,v" will recover version 1.2.3.2.  The symbolic name can
be seen as a sort of `macro' replacement.

Now if you have product numbers, like A.BB.CC, you can set your symbolic
revision names A, BB, and CC for each file.  You don't have to keep levels
artificially set, but you can allow the symbolic names to tie the product
together.

For instance, for three files (remember that '.' can't be in a symbolic
name, so you might use '_' instead):
-------------------.
  2.2    4.1   1.5 | Version A.B1.00 of your product could be made up of
  2.1    3.1   1.4 |   versions f1(1.1), f2(1.2), and f3(1.3).  You could
  1.3    2.1   1.3 |   could set A_B1_00 to point to 1.1 for f1, 1.2 for f2,
  1.2    1.2   1.2 |   and 1.3 at f3.  If a patch is added to f3 at 1.3.1.1,
  1.1    1.1   1.1 |   you can set A_B1_01 to point to 1.1 for f1, 1.2 for
  f1     f2     f3 |   f2, and 1.3.1.1 for f3.  This allows you to ignore
-----FILES---------'   what the actual revisions were and assigns a value
                       that can be followed through the all the files in the
produt.  A later version of your product A_B3_00 could be set to point
to 2.2 for f1, 4.1 for f2, and 1.2 for f3 (in case you have to back out
several changes :-) ).

Now none of this may address your question, in which case, I apologize...

Mark Runyan



More information about the Comp.unix.questions mailing list