11 messages in com.perforce.perforce-user[p4] Question about branching/integra...
FromSent OnAttachments
David Rybolt14 Jun 2004 00:39 
Chuck Karish14 Jun 2004 06:27 
Noel Yap14 Jun 2004 07:37 
David Rybolt14 Jun 2004 11:12 
Dave Lewis14 Jun 2004 12:16 
David Rybolt14 Jun 2004 13:08 
Noel Yap14 Jun 2004 13:13 
Russell C. Jackson14 Jun 2004 14:43 
Dave Lewis14 Jun 2004 18:10 
Chuck Karish15 Jun 2004 09:31 
ste...@vance.com16 Jun 2004 19:11 
Subject:[p4] Question about branching/integrating
From:Noel Yap (Noel@morganstanley.com)
Date:06/14/2004 01:13:24 PM
List:com.perforce.perforce-user

How about integrating from main up to the point you don't want to include
changes, then individually integrate the changes you do want included?

Noel

David Rybolt wrote:

--- Chuck Karish <chuck.karish at gmail.com> wrote:

Branch from main at a point where you're sure that you'll take everything. Integrate features from main to your new release branch as they're finished.

That won't work in this case, unfortunately. The 4.1.0 code was integrated into main _after_ some changes were already added to main. That means I can't get all the 4.1.0 code integrated into my new branch unless:

1. I also integrate some of the new "main" stuff (which I don't want).

2. Or I branch from 4.1.0 .

However if I branch from 4.1.0, that'll make it hard for me to integrate to/from main later. I can get it to work with some baseless merges (-i or -I), but there seems to be a lot of repetitive and hard to manage conflict resolutions once I go down that road.

A more radical approach: Make a permanent forward-development branch, and integrate features from //depot/dev only when theu're ready to be released. The main line stays clean, the developers grumble about doing one more integration, the project managers love that release readiness is predictable and that they control release contents.

I'll likely utilize this approach at a latter date, but I still fear issues like this:

main | +-- dev1 | | +-- dev2

Both dev1 and dev2 are branched from main. What do I do if the dev1 folks want some of the dev2 code? I can integrate dev2 to main, and then main to dev1, but then my main codeline will have some stuff that may or may not ever go to production. Alternatively, I can baseless merge dev2 to dev1, but that will reintroduce the long-term problems of baseless merging.