On Mon, 16 Jul 2012 09:41:30 -0700, Andrei Alexandrescu <seewebsiteforem...@erdani.org> wrote:

On 7/16/12 3:51 AM, Adam Wilson wrote:
As a result of the D Versioning thread, we have decided to create a new
organization on Github called dlang-stable. This organization will be
responsible for maintaining stable releases of DMD, DRuntime, and Phobos.
[snip]
Thank you for reading and I hope you enjoy D's new Stable releases!

This is a wonderful initiative that I hope will catch on.

Walter and I are fully behind this experiment. We will make/accept changes to the download pages to take into account this new branch.

The main threat I see is bugfixes that depend on code previously introduced with now features. I'm not sure how frequent that situation is.

Finally, one suggestion: I suggest you relentlessly work to automate the process to the point where you issue e.g. the command

./merge 534d44c979 70dcb958ea

and the script merges in the two specified commits, builds everything, runs the test suite, runs the Phobos unittests, and if all worked, builds packages and uploads them making them available right away.

The only problem I can see with this is that the build would only for whichever OS the merger happens to be running on. A two step process is about the best we can do.

./merge does the following
git fetch upstream
git cherry-pick 534d44c979
git cherry-pick 70dcb958ea

If the cherry pick is successful, push to master, which will need to be done manually in case any merge conflicts arise.

./build does the following for all projects
git fetch origin
git merge origin/master
make clean -f <system>.mak
make -f <system>.mak
make unittests -f <system>.mak

As for actually putting together the script, my Bash-fu, is not as strong as my PowerShell-fu, but with some effort it could be achieved. Both are not terribly difficult (expect for the uploading part).

That way the team members (busy professionals with many other responsibilities) know that once the collective decision to merge a commit has been taken, there's virtually no overhead to deploying the decision.

I'm a huge fan of automation and I believe we've made progress introducing it in dmd's process, but not as much as we could and should.


Good luck!

Andrei



--
Adam Wilson
IRC: LightBender
Project Coordinator
The Horizon Project
http://www.thehorizonproject.org/

Reply via email to