[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Branch Merging

From: Eric Fritz
Subject: Branch Merging
Date: Mon, 30 Jun 2003 09:26:40 -0700 (PDT)

Although I've been using CVS for several years I've never used
branches.  Well, I was posed with yet another opportunity where
branching would fit and decided to finally take the plunge.
Unfortunately, the results are a bit worrisome to me... here is the

I've got file x.c which is currently at revision 1.22.  The last
released version was revision 1.21.  There has actually only been one
line added near the top of this file between those two revisions. A bug
came up in this file so I thought I would create a branch and try to
fix it that way.  I created a branch tag against my version tag using
rtag as it says in the manual:

cvs rtag -b -r v3_1 v3_1-patch mod
(obviously v3_1 is a tag with includes rev 1.21 of file x.c)

Anyway, I then checked out the branch, updated the file with the fix
(couple lines near the bottom of the file) and checked it in which gave
me a new revision of  Then (just to test it out) I went back
to my main working directory (where all the latest files are, i.e. no
sticky tags etc) and tried to merge the changes in to the main trunk as
they will need to be there eventually anyway.  So I run the merge

cvs update -j v3_1-patch x.c
(x.c was still currently at revision 1.21)

The update went fine (I think) file was merged etc.  But just to make
sure I did a few diffs on the files etc. and noticed that yes it did
move my new lines near the bottom of the file but it completely dumped
the latest changes from the main trunk (that one line near the top). 
Is is really supposed to do things this way.  It seems that it merged
with version 1.21 and then just put that version on the head.  I would
expect it to merge with 1.21 but then to merge 1.21 with the head to
try to get everything up to date.  Am I just asking too much?

Eric Fritz

Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!

reply via email to

[Prev in Thread] Current Thread [Next in Thread]