Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!think.com!sdd.hp.com!wuarchive!news.uu.net!ns-mx!ccad.uiowa.edu!emcguire From: emcguire@ccad.uiowa.edu (Ed McGuire) Newsgroups: comp.unix.misc Subject: Re: CVS and divergent development Message-ID: <1991May22.200442.20734@ccad.uiowa.edu> Date: 22 May 91 20:04:42 GMT References: <1991May22.164537.30676@ccad.uiowa.edu> Organization: CAD-Research, U. of Iowa, Iowa City, Iowa Lines: 50 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?"