[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Wed, 30 Jun 2004 09:19:51 -0400
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.