Bernard Li wrote:
> Hi Brian:
> 
> On 5/1/07, Brian Elliott Finley <[EMAIL PROTECTED]> wrote:
> 
>> In other words, just do this for development releases:
>>
>>   3.9.4048_arighi instead of 3.9.1r4048_arighi
>>   3.9.4053_bli
>>   3.9.4058_focht
>>
>> Then, when we do a stable release, it turns into:
>>
>>   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. What about using a kernel style versioning?

Following a proposal of the new developer_guidelines:

== Versioning ==

SystemImager uses a kernel style versioning. Versions are expressed
respecting the following syntax:

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

Example:

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

- Official releases doesn't include the EXTRAVERSION number.

- Development patches are accepted only in unstable or development releases.

=== Examples ===

Stable mainline:
3.8.0, 3.8.2, 3.8.4, 3.8.6, ...

Unstable mainline:
3.9.0, 3.9.2, 3.9.4, 3.9.6, ...

Pre-release of the stable mainline:
3.8.1.x_y, 3.8.3.x_y, 3.8.5.x_y, 3.8.7.x_y, ...

A potential version cycle:
* 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
...
* 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)

-Andrea

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
sisuite-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sisuite-devel

Reply via email to