On Fri, 2012-11-30 at 07:31 +0100, Rob T wrote:
> One quick suggestion before I call it a day, is for there to be 
> an "experimental branch" for the great minds behind D to play 
> around with (eg UDA's etc). We probably don't want experimental 
> stuff going directly into a branch that is destined for stable. 
> Unstable should be for items that are relatively finalized in 
> terms of design and agreement that the concept is to be 
> eventually incorporated into stable, i.e., moving a new feature 
> into unstable starts the refinement process towards a stable 
> release of that feature. 

Totally agreed. In the development branch only already finalized things
should be merged.

Having official experimental branch(es) is a good idea.  I think the
things people are working on should be easily accessible. So other
people can contribute and test the stuff. These branches should then
also be included in dpaste.dzfl.pl. Maybe a dmd-experimental project,
where people can get access to, very easily. So they can push their
branches there. It should be as easy for people to try out experimental
things as to try out things from the development branch, to get as much
early testing as possible. Automatic creation of binary releases would
also be cool.

So the workflow could be something like: 

1. Document on a dedicated wiki page that you start working on feature X
or bug fix Y.
2. Get started on a private/semipublic feature branch.
3. As soon as you got something push it to dmd-experimental
4. Continue to work and improve things there
5. Experimental branches are considered for inclusion in devel.
6. Things are tested in an integrated way in devel, with binary releases
every two months or so. (Much like we have now)
7. At predefined intervals you branch of a release branch and stabilize
things further.
8. Release branch is merged in dmd-stable/master


Someone posted this, as why not to use feature branches:

http://www.youtube.com/watch?v=xzstASOvqNc&feature=youtu.be

I personally don't think that feature branches are the problem, but more
a lack of communication. If people work on the same stuff you get merge
conflicts, that is granted, so you should know on what people are
working before starting to work. A wiki page where you add a link to
your feature branch and what you are currently working on and
dmd-experimental could help in this regard.

Reply via email to