Ok,

Based on 2 emails from this list, the CVS manual, and the Essential CVS book, I'm confused about the whole merge what tag where stuff. I hope I craft this email to get a clear answer to unfog my head.

Project Name: testproj

Local Sandbox is: rel_1/testproj

while in local sandbox, issued cvs tag rel_1-before-branch
then issued cvs tag -r rel_1-before-branch -b rel_1
then issued cvs tag rel_2_start


Still in the rel_1/testproj sandbox I issue the the cvs update -r rel_1 command. This now updates the rel_1/testproj sandbox to contain the branch.

I then backup a couple of directories and create a new directory called rel_2 and issue the command cvs checkout testproj (this then creates a local sandbox rel_2/testproj that contains the trunk.

Now, I make bug fixes to rel_1/testproj and want to merge these changes into rel_2/testproj. The files in rel_1/testproj contain a mix of added, modified, and deleted lines. At this point, I'm not overly concerned about deleted or added files (to me they are much easier to deal with since the entire file is involved).

I go into the rel_1/testproj sandbox and issue the following commands:

make sure i have the latest sources - cvs -q up -dP
tag the repository - cvs tag rel_1-20040630


I go into the rel_2/testproj sandbox and issue the following commands:

make sure i have the latest srouces - cvs -q up -dP
tag the repository - cvs tag rel_2-20040630


Now I'm ready to merge. Since I want to merge from the branch into the trunk, I'll be in the rel_2/testproj sandbox. Which command do I issue?

1 - cvs up -j rel_1-20040630 -j rel_2-20040630

2 - cvs up -j rel_2-20040630 -j rel_1-20040630

3 - cvs up -j rel_1 -j rel_1-20040630

4 - cvs up -j rel_2 -j rel_1-20040630

5 - cvs up -j rel_1-20040630 -j rel_1

6 - cvs up -j rel_1-20040630 -j rel_2

7 - cvs up -j rel_1-20040630

8 - cvs up -j rel_1 -j rel_2-20040630

9 - cvs up -j rel_2 -j rel_2-20040630

10 - cvs up -j rel_2-20040630 -j rel_1

11 - cvs up -j rel_2-20040630 -j rel_2

or something completely different?

This looks something like a quiz, but I'm not the teacher, I'm just a horribly confused student and really don't want to screw up 10,000+ files that are under cvs control. I need all changes from the rel_1 environment to be merged into the rel_2 environment. I understand that after the merge, I'll have to resolve any conflicts and merge the files back into the respository from the local sandbox. I'm trying to follow the basically unstable philosophy with a long branch merging to the trunk.

TIA,

Rick Feldmann
[EMAIL PROTECTED]


_______________________________________________ Info-cvs mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/info-cvs

Reply via email to