On 10/15/20 5:55 AM, Konstantin Tokarev wrote:
15.10.2020, 12:51, "Leam Hall" <leamhall@xxxxxxxxx>:
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