On Monday, 10 December 2012 at 23:41:25 UTC, Andrei Alexandrescu
wrote:
Hello all,
Walter and I have had a long discussion following his trip to
Australia. Following the current sprint for Win64 (which we
all, I think, agree was long overdue and had to be done), the
main area we need to work on (as I'm sure many would agree) is
improving our process, in particular the approach to releasing
the compiler and standard library.
Walter has delegated me to lead this effort, and agreed to obey
with whatever process comes forward as long as it's reasonably
clear and simple.
In turn, I'll be collecting thoughts and opinions in this
thread, distilled from previous discussions. We should develop
a few simple git scripts (such as git-start-new-feature or
git-start-bugfix etc) supported by an equally simple piece of
documentation describing how to start a new release, fix a bug,
experiment with a new feature, and such.
(One piece that has been brought forward is
http://nvie.com/posts/a-successful-git-branching-model/ -
something to keep in mind.)
As someone who uses the git workflow described in this link every
single day let me say I'm a big fan. It's so well documented
(and widely used) that it should be pretty easy for everyone to
adopt and it provides a lot of real benefits to a project. From
the look of it most contributors already use feature branches for
their pull requests so this should be a pretty simple transition.
Please chime in with ideas and thoughts.
I like the idea of having a release manager (that changes to
whoever volunteers for each release). It'll take some of the
release time pressure off of Walter (at least for the times he
isn't the release manager) and raise D's bus factor (which is
very close to being above 1 these days) as the release process is
documented and shared among several individuals. I imagine the
role of release manager being fairly laid back though (it is a
volunteer job still). Their responsibilities would be rolling
the betas and actual releases and just being the point-man who
goes through and makes sure all the pull requests that are ready
to merge are merged and last minute regressions are acknowledged.
BA