From: Leam Hall Date: Thu, 15 Oct 2020 10:30:22 GMT Subject: Re: Branch Management questions Message-ID: In-Reply-To: <2011231602755586@mail.yandex.ru> On 10/15/20 5:55 AM, Konstantin Tokarev wrote: > > > 15.10.2020, 12:51, "Leam Hall" : >> 1. Two developers. >>    Dev A is working on Branch A, off a release_candidate branch. >>    Dev B is working on Branch B, off the same release_candidate branch. >>    Branches usually run 1-4 weeks. >>    Dev A does some work that would help Branch B. >>    How does Dev A get the Branch B work that is needed, in a >>      way that does not confuse the merge process at the end >>      of the release cycle? > > Avoid long-living branches and integrate atomic parts of work into base > branch as soon as it's done and reviewed. Unfortunately, for some tasks 1-4 weeks is atomic. The review process is being improved as well. We still need a way to integrate the longer-lived branches cleanly. We've already had issues where attempts meant lost code. >> 2. One developer. >>    Working on Branch P, realizes that a new functionality X is >>      needed. >>    X isn't specific to Branch P, but critical to it. >>    What is the best way to deal with X, knowing that further work >>      on X will need to be done? > > Rebase P to the top of parent branch after X is integrated (see above). Ah, so "Stop work on P, Resolve X, Rebase P from updated parent"? Let me go read up on that, it makes sense. Thanks! Leam