Next focus: PROCESS

deadalnix deadalnix at gmail.com
Mon Dec 10 16:32:14 PST 2012


On Monday, 10 December 2012 at 23:41:25 UTC, Andrei Alexandrescu 
wrote:
> (One piece that has been brought forward is 
> http://nvie.com/posts/a-successful-git-branching-model/ - 
> something to keep in mind.)
>

In this workflow, only one version of the software is produced. 
But we have an extra need : the one to combine language evolution 
(that may break) and long term support. This require some 
adjustment.

Here is how I see things :

New feature are develloped in their own branches.
When a feature is ready, it is included in the dev branch. The 
feature must be rebased on the dev branch to be included.
 From time to time, dev branch is forked. The forked branch only 
receive bug fixes. The second digit of the version is incremented 
(minor). I'll call it stabilization branch.
When the fork branch is stable enough, a tag is made and we have 
a realease. The revision number is incremented.
In the future, more bug fixes can be done in that branch and new 
tag created for new release.

No let's focus on bug fixes. As feature, they are made in their 
own branches. The branch will then be merged in any stabilization 
branch where it make sense and in dev.

master is the highest numbered stabilization branch. By doing so, 
we ensure that user that get sources have a preview of the next 
thing that will be shipped.

I would advice against maintaining a lot of stabilization 
branches as this is more work and too much of them don't bring 
any benefit. 2 to 3 of them is the right amount.

The proposal works well with github, which is a plus considering 
we are using it.


More information about the Digitalmars-d mailing list