CVS and divergent development

Ed McGuire emcguire at ccad.uiowa.edu
Thu May 23 06:04:42 AEST 1991


A clarification to my question seems necessary, if the reply I just
received by mail is any evidence.  I'm sorry if I did not make
clear what I wanted.

I understand how CVS supports divergent development in the sense
that programmers can modify copies of the code concurrently, the
result being a set of divergent descendants from the original code.
That is exactly why we use it.

The difficulty is that a descendant must be brought up to date with
respect to the repository before it may be committed.  What is
wanted is the capability to manage divergent descendants in the
repository itself.  We wish to copy out an earlier version of the
code, modify it, and commit the changes to the repository:  not as
the new current source code, but as a variant, descending from the
earlier version.

This capability is analogous to RCS branches, but at the level of
CVS tags, not RCS revision numbers.

Consider code which has been released as version 1 and is now
undergoing further development for eventual release of version 2.
A problem is found in the released code.  The problem is corrected
in the current code, but that code cannot be released to customers
until development is complete.  What if it is necessary to provide
a `bug fix' release version 1.1 in the meantime?

       ------> (2)
      /
   (1)
      \
       ------> (1.1)

It is possible for a programmer to copy out version 1 by date or
by tag and fix the code, but it seems impossible to commit it to
the repository and tag it version 1.1 without recourse to `no-nos'
such as specifying explicit RCS revision numbers and using `rcs
-N' to move tags around.

I will be grateful if someone can either point out my ignorance of
an existing capability in CVS to manage divergent descendants, or
suggest approaches to extending CVS to provide this capability.
-- 
peace.  -- Ed
"Over here, Bones!  This man's dying!"
"Damn it, Jim!  I'm a doctor, not a . . .  What did you say?"
-- 
peace.  -- Ed
"Over here, Bones!  This man's dying!"
"Damn it, Jim!  I'm a doctor, not a . . .  What did you say?"



More information about the Comp.unix.misc mailing list