Rohan Nandode <[EMAIL PROTECTED]> wrote in message news:<[EMAIL PROTECTED]>... > Hi, > > The problem descriptions goes like this: > > I have a vendor branch(1.1.3) for 3rd party library - say "library1" > along with my project source in my CVS. I have done some modifications > to the sources in library1. > Now I there is a latest release of the library1 and I would like to > upgrade it. But the problem is that I am not sure of how much stable > will be the upgraded version.
Vendor branching is a braindamaged feature of CVS. There are a number of problems with it. - Each vendor branch shoots from version 1.1 of every file. If you suddenly develop a relationship with a vendor who wants to make patches based on some some other baseline---for instance, a release that you made---you can't use the vendor branch. - When you import to a branch, some files that are unmodified in your main trunk are superseded by way of setting the RCS head revision to the branch. So a check out of the branch produces a mixture of true main trunk files and vendor branch files, a kind of half-baked merge. This game playing with the head revision is an optimization, like the Attic directories. In Meta-CVS, I have implemented sane vendor branching. A command called ``grab'' checks out the material, compares it against the snapshot you are importing and then produces a sandbox which you can commit to complete the import. Nothing happens in the repository until you are happy with the diffs and do a commit. Files and symbolic links are analyzed to automatically detect renames and moves. If you aren't happy with the results, just scrap the MCVS/ directory and try again. You can grab to any branch or main trunk. Branching and merging is easy in Meta-CVS, because it does all the underlying CVS tagology (taggery? tagistry?) cd vendor-foo-drop mcvs grab -r vendor-bar-branch my-project # oops made a mistake, selected wrong branch rm -rf MCVS # no problem mcvs grab -r vendor-foo-branch my-project mcvs commit mcvs sw # no args, switch to main trunk mcvs merge vendor-foo-branch mcvs commit _______________________________________________ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs