Debnath Mukherjee wrote: > I need to have a branch "branch1" off the trunk. > And then there needs to be a branch "sub-branch1" > off the "branch1" branch. > > However, I have run into a problem : In order to create > a version on the "sub-branch1" branch, you need a version > on the "branch1" branch. Thus the version on the main (trunk) > branch has to be copied to create a duplicate version > on the "branch1" branch and then that version can be branched > off to the "sub-branch1" branch. > > Whenever I create the branch "sub-branch1" off branch1, (without > first creating a version on the branch1 branch), the branch > "sub-branch1" is created off the trunk, as shown by the graph > command. > > I have not yet found a way around this - also I do not > know if CVS requires it - this is just what I found > from experimenting with CVS. > > If you know a way around this copying, please let me know > the commands.
This is a well-known CVS limitation, and the source of endless headaches for cvs2svn :-) CVS doesn't record the parents of branches unambiguously in the case that you described. Normally it is not much of a practical problem, because (if you haven't committed any changes on "branch1") the contents of the trunk revision, the 0th revision on branch1, and the 0th revision on sub-branch1 are identical. If I were you I wouldn't bother with the extra copies, because at the level of information that CVS stores, it is not really helpful. (For example, CVS also doesn't record *when* or *by whom* a branch was created.) If, on the other hand, you are really interested in keeping records about exactly when and from where branches are created, then you should consider one of the modern SCM alternatives to CVS. Michael
