Hi David,
On 11/14/2016 11:45 AM, David Aldrich wrote:
> Hi
>
> I would be grateful for some advice on how to maintain a release branch.
>
> Suppose we create a release branch, finalise the work and make the release. We then maintain fixes for that release on that branch.
>
> Q1. As we apply fixes to the release branch, should we also manually apply those fixes to the trunk (where main development is proceeding)?
That depends on what's best for your process... In principle three
common approaches work:
a) you manually apply changes to trunk and the release branch
b) you apply the fix to trunk and merge (cherry-pick) the related
revision to the release branch
c) you apply the fix to the release branch and backport it (via merge)
to trunk (which can also be done in chunks at a given point
We normally use approach b and have set up batch file which runs once
per day to merge all flagged revisions (via a tag in the log message)
which were committed to trunk to the release branch.
> Q2. Does there come a point when one should merger the release branch back into the trunk (or does Q1 imply that this is unnecessary because we have manually duplicated the changes in the trunk)?
That heavily depends on your requirements. In general I don't see the
need for that. One case where it would make sense would be if you also
make changes to the release branch which you want to backported to trunk.
> Q3. If we should merge the release branch back into the trunk, do we merge from trunk to release branch first (I guess not because that would pollute the branch)?
Only if you want all the changes in trunk to get merged into the release
branch. Based on your description, I take it that's not what you want.
Hence, the answer is no.
--
Regards,
Stefan Hett
Received on 2016-11-14 12:50:34 CET