Post by Andrea RighiPost by Bernard LiPost by Brian Elliott Finley3.9.4048_arighi instead of 3.9.1r4048_arighi
3.9.4053_bli
3.9.4058_focht
3.10.0
3.10.1
3.10.2
Etc...
How about the situation where I released a development release,
3.9.4053_bli, and at SVN revision 4056 we tagged it as 3.10.0. Then
after that is released, I release a new development release, would
that become 3.10.4057? In that case we cannot have 3.10.1, 3.10.2,
etc... If we are then to do 3.9.4057, then the version would have
gone backwards.
well... I wouldn't replace the minor release number with the SVN
version. Now it's used to differentiate a new release with minor
improvements and/or bugfixes and I think it's quite useful to have
contiguous numbers.
I'm suggesting that we not replace the minor release number with the SVN
version for *stable* releases. But that we *do* replace the minor release
number with the SVN version + developer initials for the
*development/unstable* releases.
What about using a kernel style versioning?
That is what we have been using, except that I guess the kernel people have
recently changed the way they do versioning.
Post by Andrea Righi== Versioning ==
SystemImager uses a kernel style versioning. Versions are expressed
VERSION.MAJOR.MINOR[.EXTRAVERSION]
VERSION = major architectural change
MAJOR = major improvements - odd numbers for unstable, even numbers for
stable releases
MINOR = bug fix release or minor improvements - odd numbers for
pre-releases, even numbers for official releases
EXTRAVERSION = development release (based on SVN versions, author, short
feature descriptions, etc.) - optional
3.9.1.4048_arighi_foo_feature
^ ^ ^ ^
| | | |
| | | SVN version + author + new feature name
| | this is a pre-release of 3.9.2
| unstable branch => next stable will be 3.4.0
Major release
I presume you mean "next stable will be 3.10.0"?
- Official releases doesn't include the EXTRAVERSION number.
Yes.
- Development patches are accepted only in unstable or development releases.
Yes.
=== Examples ===
Post by Andrea Righi3.8.0, 3.8.2, 3.8.4, 3.8.6, ...
3.9.0, 3.9.2, 3.9.4, 3.9.6, ...
3.8.1.x_y, 3.8.3.x_y, 3.8.5.x_y, 3.8.7.x_y, ...
* development pre-release: 3.9.1.x_y
* unstable release: 3.9.2
* development pre-release: 3.9.3.x_y
* unstable release: 3.9.4
...
Post by Andrea Righi* development pre-release: 3.9.9.x_y
===> * unstable release: 3.9.10 (if it includes development patches)
or
===> * stable release: 3.10.0 (if the version is considered stable)
or
===> * stable release: 4.0.0 (stable and major architectural changes)
I'm mostly OK with this, especially if this lines up with the way the kernel
is currently versioned -- I haven't actually researched how they move
through the steps you've described above. Is what you describe above the
same as the way the kernel team uses the version numbers? I'm thinking that
they do stable releases with the extraversion bit still on there.
The one question I would have is:
- Do we need to differentiate between "official development releases"
and "unofficial development releases". I'd say, if it's a development
release, it's always unofficial. And if we need to do a pre-release, we
just do a developer release, and treat it like a release candidate. In
other words, for unstable releases, always use the SVN version + initials in
the third position (no fourth position ever). And for stable releases,
always use the next incremental integer. As stable releases should only be
versioned for bug fixes, I dont' see a need to do pre-releases of bug-fix
releases.
So, this would look like:
Stable mainline:
3.8.0, 3.8.1, 3.8.3 (the 8, as even, indicates stable)
Unstable (no mainline vs. developer -- make all unstables "developer"
releases. A release candidate could use "rc" as the developer initials, if
desired):
3.9.4053_arighi, 3.9.4060_bef, 3.9.4072_rc
Then the next stable release would be:
3.10.0
Next bug fix release:
3.10.1
Next development/unstable release (doesn't matter if it's from a developer
branch, because the svn version has that inherent):
3.11.4073_bli
-Brian
-Andrea
--
------------------------------------------------------
Brian Elliott Finley Phone: 630.631.6621
gpg --keyserver wwwkeys.pgp.net --recv-keys 10F8EE52
------------------------------------------------------