[cvsnt] Latest updates

Phil Richards news at derived-software.ltd.uk
Fri Sep 5 21:34:18 BST 2003


On 2003-09-05, Glen Starrett <grstarrett at cox.net> wrote:
>  What is "bidirectional merging", and how is it used?  It sounds
>  interesting, but I'm not sure how I would use it.

The old code very nicely handled repeated merging from one place
(branch) to another (mainline).

The new code extends this to allow a merge operation to be performed
in the opposite direction after having done this.

I "needed" it for the following scenario (flying fish branches that
live for significant periods of time):

On branch (b1):
    ... do some work on fred
    cvs update -jHEAD fred
    ... do some more work on fred
    cvs update -jHEAD fred
    ... do some more work on fred
    cvs update -jHEAD fred

Deliver branch code to mainline:
    I used to have to do:
	cvs update -jHEAD -jb1 fred
    Now I will be able to:
        cvs update -jb1 fred
    (As a side effect, this will also record the delivery of the
    branch as a mergepoint on the mainline, something the 2 -j
    form can't.)

And, if I wanted to, I could continue development on b1, merge from
HEAD again (or not as the case may be), and then deliver the branch
to the mainline (again).  Not that I do that very often.

With the previous version, using "cvs update -jb1 fred" could result
in merge conflicts because it was reapplying changes to the mainline.

It's not perfect - you tend to find commits for a lot of null-deltas
coming in.  But I'm working on that :-)

phil
-- 
change name to "phil" for email



More information about the cvsnt mailing list