From: Gavin Sinclair Date: 2004-08-27T14:47:03+09:00 Subject: Re: [OT] CVS question > Austin Ziegler wrote: > >> I would tag the existing version -- and perhaps even branch it. All of >> my programs and libraries are tagged and branched on major >> releases (e.g., X.0.0 or X.Y.0). A notable exception is Ruwiki >> 0.8.0; it will not be branched until 0.8.1 becuase of some known large >> changes that I want to carry forward to 0.9 even with planned >> bugfixes. >> >> At any rate, tag and branch copland as it stands. Then, do a CVS >> delete on those files that no longer exist in copland. After adding >> the new files, update, then tag and branch again. >> >> -austin > > Thanks for the advice, Austin. I'm familiar with tagging, but I guess I > better just bite the bullet and read up on branching. Branching is one > of the areas of CVS that just hasn't clicked for me, yet. If it's not > too much trouble, could someone explain in just a couple of sentences > what branching would buy me in this case? It might help me understand > better what that feature is really useful for... Say you have a product called 'foo' and release version 1.0. For the next few months, you keep working on fixes and new features. You release version 1.1. Then a critical bug report comes in against 1.0. You can't (necessarily) just say "upgrade to 1.1" -- that might not be an option for the client. You need to fix their problem against the 1.0 code base. So you create a branch at 1.0 (against the tag 'v1_0' for instance), and fix the bug. You tag this code base 'v1_0_1' and release 1.0.1. Future bug fixes are made against this branch and, if applicable, committed also to the trunk. Ruby works this way. Work on 1.8 is carried out on the 'ruby_1_8' branch. Work on 1.9 is committed to the trunk (CVS HEAD, as it's also known). Your "product" is copland. You can call your branch 'copland-old' or whatever you like, and continue on your merry way in the trunk. Branching is a PITA, but sometimes it's unavoidable. Subversion has a more elegant implementation of it than CVS, I think. Everything else probably does too. Probably the best resource for you is http://cvsbook.red-bean.com. Cheers, Gavin