It's not really such a brain teaser. All you are *ever* asking CVS to do when calculating a diff is to calculate the set of operations which would transform snapshot A into snapshot B. All you *ever* add to this with a merge request is that CVS apply the calculated set of operations to snapshot C.
When snapshot C happens to be identical to snapshot A, of course applying the set of operations that would transform snapshot A into snapshot B results in exactly snapshot B. This is actually one of the simpler things you can ask of CVS. There is not even a chance of conflicts. Regards, Derek Andy Jones wrote: >Thanks all - I get it now. > >But it +is+ a bit of a brainteaser. I think I'd be frightened of >using something that complex on a live system, even if I could check >the results before I committed them to the repository (which, of >course, is the case). > >Andy. > >On 17/08/05, Jim Hyslop <[EMAIL PROTECTED]> wrote: > > >>Andy Jones wrote: >> >> >>>>>cvs co -j HEAD -j t_branchA_tagA module >>>>> >>>>> >>>Does anyone feel like explainaing how this is not a merge? I don't get it. >>> >>> >>It is a merge command, but it does not merge the changes from the >>branch. It will overwrite the head with the branch. >> >>The command as shown is a shortcut to: >> >>cvs co module >>cd module >>cvs up -j HEAD -j t_branchA_tagA >> >>"cvs up -j REVA -j REVB", the merge command, applies the delta between >>REVB and REVA to the current directory. For a normal merge, REVA and >>REVB are normally on the same branch, thus you would get the changes >>from the branch merged into the changes on the trunk, i.e. trunk = trunk >>+ branch. But, in this case, REVA and REVB refer to the tip revisions on >>two different branches. The delta is Branch-HEAD, which when added to >>the HEAD, results in Branch. >> >>Mathematically, this can be expressed as: >> >>CWD = CWD + Delta >> >>where CWD is the current working directory, and Delta is REVB - REVA. In >>this example CWD is HEAD, REVA is HEAD and REVB is Branch, so the >>equation becomes: >> >>CWD = HEAD + Branch - HEAD >> >>which simplifies to >> >>CWD = Branch >> >>It takes a bit to wrap your head around it, but it does work and do >>exactly what Christopher wanted. >> >>-- >>Jim >> >> >> >> > > >_______________________________________________ >Info-cvs mailing list >[email protected] >http://lists.nongnu.org/mailman/listinfo/info-cvs > > -- Derek R. Price CVS Solutions Architect Ximbiot <http://ximbiot.com> v: +1 717.579.6168 f: +1 717.234.3125 <mailto:[EMAIL PROTECTED]> _______________________________________________ Info-cvs mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/info-cvs
