[Top][All Lists]

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

Problem: Merging Trunk and Branch several times

From: Ralf Beckers
Subject: Problem: Merging Trunk and Branch several times
Date: Thu, 23 May 2002 16:22:57 +0200
User-agent: KNode/0.6.1


I have a little problem with understanding CVS ...

We need to develop on the trunk, where all general improvements and 
bugfixes are done (not release specific bugfixes!).
We also develop new features in new branches, till they are stable.
Sometimes, it is neccessary to merge bugfixes from the trunk to the branch. 
Sometimes, there will be a merge from the branch to the trunk.
To avoid conflicts, we use update with 2 times -j to get just the changes 
and not the merges (the "own" code back). Therefor we set 2 tags
(premerge and merge), for better access.
The poor thing is, that we won't get the "conflict solutions", since the 
merged-tag will be set after the commit.
(I've done a poor ascii-art for more details).

--- time --->

          branch +-------------(A1)-(T2)--+----------------(A5)-(T5)-(A6)
                 | code changes           *        code changes       ^
                 | plus conflict          *                          /*\
- root-of-brnch -+                        *                           *
                 |                       \*/                          * 
                 | code changes           V        code changes       *
          trunk  +-------------(A2)-(T1)-(A3)-(T3)----------(A4)-(T4)-+ 

T1 = cvs tag premerge-brnch_1
T2 = cvs tag branch-brnch_1
A1 = cvs commit
A2 = cvs commit
A3 = cvs update -j root-of-brnch -j branch-brnch_1
     emacs to solve conflict.
     cvs commit
T3 = cvs tag merged-brnch_1
A4 = cvs commit
T4 = cvs tag trunk_bugfix_1
T5 = cvs tag premerge_bugfix_1
A5 = cvs commit
A6 = cvs update -j root-of-brnch -j premerge-brnch_1
       -> conflict (again!)...

now I got a conflict in the line, which causes the conflict before within 
the trunk-merge.
Is it really neccessary to fix this conflict twice? How can I then ensure, 
that it will befixed 
the same way as in the trunk, and that the code is identical?

Or do we use CVS the wrong way (how can this merges be used better)?

Thanks in advance,
Ralf Beckers

reply via email to

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