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 scenario:
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 1.21.2.1. 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 command: 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 [EMAIL PROTECTED] __________________________________ Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com _______________________________________________ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
