|Subject:||Help! Implementing Bi-Directional Merges|
|Date:||Mon, 15 Oct 2001 10:52:57 -0700|
Base question is how can I successfully implement a bi-directional merge between two branches when the merge to one branch must be deferred?
Another way to phrase the question is "How do I force the tip of one branch to be identical to the tip of another branch?"
Here's the scenario...
* * ?
* * ?
* * ?
* DEV * ?
I have some ongoing work being supported on the HEAD branch. I have some future work being performed on DEV.
After the initial branch, foo.c on branch DEV is modified resulting in version 1.1.2. Head work continues resulting in foo.c versions 1.2 and 1.3.
The Dev branch needs the changes made to HEAD and a merge is performed creating version 1.1.3 which consists of the changes made to create foo.c version 1.2.
Work continues on DEV resulting in version 1.1.4 at which point DEV is complete and all changes need to be propogated to HEAD. In this case it means that the changes made between 1.1 and 1.1.2 and between 1.1.3 and 1.1.4 need to be merged into HEAD. Changes made between
1.1.2 and 1.1.3 should NOT be merged in because they came from HEAD.
So how can I do this with a minimum of fuss.
As I said another way to look at this is that I need to replace HEAD with DEV.
Yes, the cleanest answer is probably to switch tasks - work DEV is supporting should move to HEAD and vice versa. The problem with that is that I have only 5 developers on DEV and 25 on the HEAD task and trying to keep 25 developers successfully on a branch (especially when their habitual updatecommand includes -A) is guaranteed to make me lose the rest of my hair.
Thanks in advance,
The Cobalt Group, Inc.
2200 First Avenue South
Seattle, WA 98134
If it's automotive and it's Internet, it's Cobalt.
|[Prev in Thread]||Current Thread||[Next in Thread]|