Thank you very much!!! Like I said, this all make perfect sense to ME now. However, to some of my users that haven't quite grasped the concept yet on WHY CVS does its branching the way you folks have patiently explained to me, the pictures below will just add confussion (to THEM). But like me, hopefully in due time they'll catch on...
-chris -----Original Message----- From: Jim.Hyslop [mailto:[EMAIL PROTECTED] Sent: Thursday, May 20, 2004 10:31 AM To: Fouts Christopher (); [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Subject: RE: Branching bug ??? (was Re: Bug is tagging the head of a branch head???) [EMAIL PROTECTED] wrote: > "A picture paints a thousand words" (David Gates of Bread) Only when there is something to paint. Applying a branch tag does not create anything, so there is nothing to paint. So, let me try giving you a few more dozen words to pass on to your users. Eventually, we'll get there ;=) Maybe there's a basic problem in concepts. We frequently talk about "creating a branch" when what we _really_ mean is "labelling a point where a branch might start." The branch is not actually _created_ until you check a version into that branch. There are countless branch tags in our projects that have nothing checked into them. If nothing gets checked in under that tag, then the branch does not exist: all you have done is to reserve a spot where it might start. Therefore, applying a branch tag to an existing branch tag, where there is no actual branch yet, is no different from applying the tag to the trunk. Maybe this will help: cvs tag -b branch_a cvs tag -r branch_a -b branch_b will result in: +-----+ +-----+ +-----+ | 1.1 |----| 1.2 |----| 1.3 |---- ... +-----+ +-----+ +-----+ | branch_a | branch_b branch_a is rooted at 1.3. The second command tells CVS "start branch_b at the phyiscal revision that exists at the head of branch_a". What revision is that? That would be 1.3 since no changes have been made on the branch. Therefore, branch_b is *also* rooted at 1.3. Since both branches are rooted at the same place, this picture can be rearranged as follows: +-----+ +-----+ +-----+ | 1.1 |----| 1.2 |----| 1.3 |---- ... +-----+ +-----+ +-----+ | branch_b | branch_a and also: branch_a | +-----+ +-----+ +-----+ | 1.1 |----| 1.2 |----| 1.3 |---- ... +-----+ +-----+ +-----+ | branch_b The three diagrams above are equivalent. -- Jim Hyslop Senior Software Designer Leitch Technology International Inc. (http://www.leitch.com) Columnist, C/C++ Users Journal (http://www.cuj.com/experts) _______________________________________________ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
