I've been using CVS for 6 years now, but in all that time, I've never had to (or just never did) do any branching and merging. And I'm a bit confused about the 'merging'.
I've been reading O'Reilly's "Essential CVS" by Vesperman and also "the cederqvist" and I think I've turned myself around somewhere along the way.
in the o'reilly book, it says in Chapter 10, command reference ,for "update" regarding the -j switch:
if two -j options are used, determine the changes between the first -j revision and the second -j revision and merge those changes to the sandbox.
Then, in the cederqvist, section 5.7 "Merging from a branch several times" it says:
... you need to specify that you only want to merge the changes on the branch which have not yet been merged into the trunk. To do that you specify two '-j' options, and CVS merges the changes from the first revision to the second revision.
So... from these two samples, what I *think* it means is this:
"pick the two tags on the *branch* you wish to find the differences between. Then take that set of differences (from tag 1, to tag 2) and apply that diff to your working copy (which you would ensure is 'trunk'). "
ie: They are *not* saying "it merges *from* branch_tag_1 *to* trunk_tag_2". They are saying "it merges the difference between branch_tag_1 and branch_tag_2, *to* trunk".
Yes or no?
(I will be trying this out as well, but thought I'd ask for clarification from anyone that's been in the same spot as me).