Print

Print


Dear All,

   we have already had some discussions about this and there have been
various ideas. To "merge" them up I propose the following:

1) I don't think that there is a need to introduce a special way to
denote the patch releases. I propose to use the last digit in our
current versioning scheme for this purpose, so that in version x.y.z,
"z" would denote a patch release.
2) We should have two branches:
- the master branch that would contain whatever developments you want
to do and all the bug fixes; this branch would contain versions
x.(y+1).0 when we decide that the current development stuff should be
released, and would eventually be renamed to "stable" when we decide
that we won't do any patch releases any more
- a stable branch that would contain the bug fixes backported from the
master branch plus any bug fixes that are specific to the stable
branch only: versions x.y.(z+1)

In most cases the "backport" procedure should boil down to typing:

git checkout stable
git cherry-pick xxxxxx (where xxxxx is a short hash of the bug fix
commit you want to backport from master).

For the release candidates I would propose, as discussed: x.y.z-rcN.

We would start the release process with *-rc1 and make sure that it
compiles, runs and passes some basic tests on every esoteric (Solaris)
installation we support. Then have -rc2 to have some more throughout
functionality and stress tests and finally tag a release if all
successful. Of course, the list of tests and platforms should still be
defined (I will try to do so tomorrow using some wiki to provide a
checklist). At the beginning the tests will be manual and will, with
time, evolve into automated ones. We will have a guy to work on the
automated testing arriving in August.

Of course this procedure will evolve with time as we get more
experience with doing proper releases, but I think that it is a good
base to start.

The comments are welcome. :) If there is no major objection I would
like to proceed with removing all of the old branch references, create
the stable branch from whatever is in the head right now and tag
3.0.4-rc1 on it.

Cheers,
   Lukasz